如何在 Ubuntu 18.04/20.04 上安裝和配置 MRTG

MRTG(Multi Router Traffic Grapher)是一個用 Perl 編寫的開源工具,用於監控和測量網絡鏈接上的流量負載並以圖形形式呈現數據。 此工具可幫助您跟踪和排除網絡異常,例如在奇數時間出現網絡流量峰值。

MRTG 適用於所有支持 SNMP 協議的網絡設備。 它監控 SNMP 網絡設備並繪製漂亮的圖片,顯示通過每個接口的流量。 MRTG 在 Unix/Linux、Windows 和 Netware 系統上運行。

在這篇文章中,我們將看看如何在 Ubuntu 18.04/20.04 上安裝和配置 MRTG。

MRTG 先決條件

你需要有 Apache 在您的機器上運行 MRTG 之前安裝。 在 Ubuntu 18.04 上,您可以輕鬆安裝 Apache 通過從官方存儲庫中提取包。

$ sudo apt install apache2

為 Ubuntu 安裝 snmp 包:

$ sudo apt install snmpd snmp

要配置 SNMP,我喜歡從 localhost 啟用完全訪問:

$ 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,這是默認用戶帳戶 Apache 網絡服務器。

$ 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

訪問 MRTG 用戶界面

前往 https://ip-address/mrgt 或 https://servername/mrtg 訪問 MRTG 網絡界面。 接口監控應該開始顯示流量:

默認情況下,界面還有默認的每日圖表。

您可以配置 MRTG 來監控其他內容,例如 RAM、CPU 使用率、交換、磁盤等

將 MRTG 配置為每 X 分鐘輪詢一次指標

我將創建一個 cron 作業,用於檢查配置文件的更改並生成可以在 Web 界面上查看的新 png 圖像。 確保以 root 用戶身份創建 cron 作業。

# crontab -e
*/5 * * * * root LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg.cfg

這將每五分鐘執行一次。

結論

在本教程中,我們學習瞭如何在 Ubuntu 18.04/20.04 上安裝和配置 MRTG。

感謝您的閱讀,請在評論部分提供您的反饋和建議。