LoginSignup
0
0

More than 1 year has passed since last update.

Kubernetesクラスターを構成しているubuntu 20.04のネットワークトラフィックをMRTGでグラフにする

Last updated at Posted at 2022-12-08

はじめに

Ubuntuにsnmpdを導入し、CentOS7側のmrtgからデータを取得し、グラフにしてみました。

Ubuntu側はKubernetesクラスターのノードなので、ip link | wc -lの出力は82とかになっています。
今回はとりあえず全部のトラフィックを取得してグラフにすることを目指します。

環境

MRTGホスト 1台

  • OS: CentOS7
  • HW: HP MicroServer gen8
  • IP: 192.168.1.1

SNMPdホスト (K8sクラスター) 4台

  • OS: Ubuntu 20.04 (LTS)
  • HW: TX120 S3p
  • IP: 192.168.100.51-54

作業ログ

Ubuntu側にsnmpdを導入する

ansibleを使って制御するようになっているので、適当に設定を行なって、全台にsnmpdパッケージを追加しました。

次のような/etc/snmp/snmpd.confファイルを作成し、配布しています。

/etc/snmp/snmpd.conf
## $ sudo grep -v ^# /etc/snmp/snmpd.conf  | grep -v ^$ の出力

sysLocation    Kubernetes Cluster Host
sysContact     YasuhiroABE <yasu@yasundial.org>
sysServices    72
master  agentx
agentaddress  udp:161,udp6:[::1]:161
view   systemonly  included   .1.3.6.1.2.1.1
view   systemonly  included   .1.3.6.1.2.1.25.1
rocommunity  public 192.168.1.1
rocommunity  public localhost
rocommunity  public default -V systemonly
rocommunity6 public default -V systemonly
rouser authPrivUser authpriv -V systemonly

主な変更点は、以下のとおりです。

  • sysLocationとsysContactを適当に編集した
  • agentaddressで161ポートを開放した
  • rocommunityにmrtgホストを追加した

CentOS側のMRTGホストの設定

作業自体は、シンプルにcfgmakerとindexmakerを実行した。

mrtgの基本的な設定
$ cfgmaker public@192.168.100.51 public@192.168.100.52 public@192.168.100.53 public@192.168.100.54 | sudo tee /etc/mrtg/mrtg.conf
$ echo "WorkDir: /var/www/mrtg/" | tee -a /etc/mrtg/mrtg.conf

$ sudo indexmaker /etc/mrtg/mrtg.conf | sudo tee /var/www/mrtg/index.html

CentOSではmrtgコマンドの定期自動実行は設定されないため、手動で/etc/cron.d/mrtgファイルを配置した。(参考情報 Server World - CentOS7 MRTGインストール)

Ubuntu 20.04をMRTGホストにした場合の設定

mrtgの基本的な設定
$ cfgmaker public@192.168.100.51 public@192.168.100.52 public@192.168.100.53 public@192.168.100.54 | sudo tee /etc/mrtg.cfg

$ sudo indexmaker /etc/mrtg.cfg | sudo tee /var/www/mrtg/index.html

Ubuntu 20.04をホストにした場合には、/etc/cron.d/mrtg ファイルは配置されていたので、手動で作成する必要はなかった。

Ubuntu 22.04をMRTGホストにした場合の設定

mrtg.cfg が CentOS と同様に /etc/mrtg/ 以下に配置するように変更されている。

mrtgの基本的な設定
$ cfgmaker public@192.168.100.51 public@192.168.100.52 public@192.168.100.53 public@192.168.100.54 | sudo tee /etc/mrtg/mrtg.cfg

$ sudo indexmaker /etc/mrtg.cfg | sudo tee /var/www/mrtg/index.html

Ubuntu 22.04をホストにした場合には、/etc/cron.d/mrtg ファイルは配置されていないが、/etc/init.d/mrtg が配置されて systemd の管理下にある。

そのため次の要領でmrtgを定期的に実行する。

$ sudo systemctl enable mrtg.service
$ sudo systemctl start mrtg.service

結果の閲覧

CentOS, Ubuntuのいずれをホストにしても、/var/www/mrtg/ディレクトリにファイルが配置されているため、rsyncなどで手元のシステムにコピーし、内容を確認しています。

以上

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0