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。
感謝您的閱讀,請在評論部分提供您的反饋和建議。