MRTG(Multi Router Traffic Grapher)は、Perlで記述されたオープンソースのツールであり、ネットワークリンクのトラフィック負荷を監視および測定し、データをグラフ形式で表示するために使用されます。このツールは、奇数時間のネットワークトラフィックの急増などのネットワーク異常を追跡してトラブルシューティングするのに役立ちます。
MRTGは、SNMPプロトコルをサポートするすべてのネットワークデバイスで動作します。 SNMPネットワークデバイスを監視し、各インターフェイスを通過したトラフィックの量を示すきれいな画像を描画します。 MRTGはUnix/Linux、Windows、およびNetwareシステムで動作します。
この投稿では、Ubuntu 18.04/20.04にMRTGをインストールして構成する方法を見ていきます。
MRTGの前提条件
マシンでMRTGを実行する前に、Apacheをインストールする必要があります。 Ubuntu 18.04では、公式リポジトリからパッケージをプルすることで、Apacheを簡単にインストールできます。
$ sudo apt install apache2
Ubuntu用のSNMPパッケージをインストールします:
$ sudo apt install snmpd snmp
SNMPを構成するには、ローカルホストからのフルアクセスを有効にするのが好きです:
$ sudo vim /etc/snmp/snmpd.conf
次のsnmpコミュニティ文字列をsnmpd.confファイルに追加します。
rocommunity public localhost

変更を有効にするには、snmpdサービスを再起動する必要があります。
$ sudo systemctl restart snmpd
デフォルトでは、SNMPはローカルホストをリッスンします。 ssコマンドを使用して、SNMPがリッスンしているポートまたはIPを確認できます。
Ubuntu 18.04/20.04にMRTGをインストール
すべての前提条件は問題ないので、次のコマンドを実行してUbuntuにMRTGをインストールできます:
$ sudo apt install mrtg
ポップアッププロンプトを受け入れ、[はい]をクリックしてインストールを開始します。

MRTGの設定
インストールプロセスが完了したら、ターゲットデバイスの監視を開始する前に、インストールプロセスを構成する必要があります。 MRTGの作業ディレクトリを/var / www / mrtgに設定します
$ sudo mkdir /var/www/mrtg
このディレクトリの所有者を必ずwww-data
に変更してください 、ApacheWebサーバーのデフォルトのユーザーアカウントです。
$ sudo chown -R www-data:www-data /var/www/mrtg
次に、 /etc/mrtg.confを編集します 作業ディレクトリを設定するには:
$ sudo cat /etc/mrtg.cfg | grep -v "^#"
出力:
WorkDir: /var/www/mrtg
WriteExpires: Yes
Title[^]: Traffic Analysis for
変更したファイルからMRTG構成を再構築します:
$ sudo cfgmaker public@localhost > /etc/mrtg.cfg
出力:
--base: Get Device Info on public@localhost:
--base: Vendor Id: Unknown Vendor - 1.3.6.1.4.1.8072.3.2.10
--base: Populating confcache
--base: Get Interface Info
--base: Walking ifIndex
--snpd: public@localhost: -> 1 -> ifIndex = 1
--snpd: public@localhost: -> 2 -> ifIndex = 2
--snpd: public@localhost: -> 3 -> ifIndex = 3
--base: Walking ifType
--snpd: public@localhost: -> 1 -> ifType = 24
--snpd: public@localhost: -> 2 -> ifType = 6
--snpd: public@localhost: -> 3 -> ifType = 6
--base: Walking ifAdminStatus
--snpd: public@localhost: -> 1 -> ifAdminStatus = 1
--snpd: public@localhost: -> 2 -> ifAdminStatus = 1
--snpd: public@localhost: -> 3 -> ifAdminStatus = 1
--base: Walking ifOperStatus
--snpd: public@localhost: -> 1 -> ifOperStatus = 1
--snpd: public@localhost: -> 2 -> ifOperStatus = 1
--snpd: public@localhost: -> 3 -> ifOperStatus = 1
--base: Walking ifMtu
--snpd: public@localhost: -> 1 -> ifMtu = 65536
--snpd: public@localhost: -> 2 -> ifMtu = 1500
--snpd: public@localhost: -> 3 -> ifMtu = 1500
--base: Walking ifSpeed
--snpd: public@localhost: -> 1 -> ifSpeed = 10000000
--snpd: public@localhost: -> 2 -> ifSpeed = 0
--snpd: public@localhost: -> 3 -> ifSpeed = 0
$ ls /var/www/mrtg/
index.html mrtg-l.png mrtg-m.png mrtg-r.png
Webサーバーのインデックスファイルを作成します:
$ sudo indexmaker /etc/mrtg.cfg > /var/www/mrtg/index.html
最後に行うことは、サイトのVirtualHostファイルを作成することです。
$ sudo vim /etc/apache2/sites-available/mrtg.conf
この新しいファイルに以下を追加します:
Alias /mrtg "/var/www/mrtg/"
<Directory "/var/www/mrtg/">
Options None
AllowOverride None
Require all granted
</Directory>
サイトを有効にして、apacheサービスをリロードします。
$ sudo sudo a2ensite mrtg
Apacheサービスをリロードします:
$ sudo systemctl reload apache2
MRTGUIへのアクセス
http:// ip-address / mrgtにアクセスしてください またはhttp:// servername / mrtgを使用して、MRTGWebインターフェースにアクセスします。インターフェイスの監視でトラフィックの表示が開始されます:

デフォルトでは、インターフェースのデフォルトの日次グラフもあります。

RAM、CPU使用率、スワップ、ディスクなどの他のものを監視するようにMRTGを構成できます。
X分ごとにメトリクスをポーリングするようにMRTGを設定
構成ファイルの変更をチェックするcronジョブを作成し、Webインターフェイスで表示できる新しいpng画像を生成します。必ずrootユーザーとしてcronジョブを作成してください。
# crontab -e
*/5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg.cfg
これは5分ごとに実行されます。
結論
このチュートリアルでは、Ubuntu 18.04/20.04にMRTGをインストールして構成する方法を学びました。
読んでいただきありがとうございます。コメントセクションでフィードバックや提案をお寄せください。