2009年11月27日

MRTG參數

從Ubuntu正體中文網站看來的,由於發文者是匿名,我也沒辦法把作者打出
=====================================================其實 MRTG 是一個 繪表+自動產生網頁 的軟體
只要餵給 mrtg 四組數據就可以產生網頁
四組數據分別是:
----------------------------
1.填滿顏色的線條
2.不填色的線條
3.開機時間(設備啟動時間)
4.設備名稱

其中只要有 1.2 數據就可以繪表
3.4 是參考用的,隨便亂輸入或省略也可以。

--------------------------------

除了網路流量是靠 SNMP 提供資料

其餘偵測 CPU、RAM、硬碟使用量.....等等
都需要自行撰寫 shell script 或寫程式
輸出那「四組數據」餵給 MRTG
與 SNMP 無關係

範例:

#!/bin/sh

# mrtg 偵測 CPU 使用率模組,執行後匯出四個數據
# 此外掛需要 sa 指令,請檢查系統中是否有安裝 sysstat 套件

# 第一數據:CPU User 使用率
# 第二數據:CPU System 使用率

# 使用 sar 來監測 CPU 的 user 及 System 負載率
cpuusr=`/usr/bin/sar 1 | grep Average | awk '{print $3}'`
cpusys=`/usr/bin/sar 1 | grep Average | awk '{print $5}'`

# 讀取系統總開機時間
up_time=`/etc/mrtg/sys-uptime.sh`

# 輸出四個數據(前兩個為數字),給 MRTG 做處理,最後一個為設備名稱
echo $cpuusr
echo $cpusys
echo $up_time
echo "AMD 2500+"



這支 shell script,名字叫做 mrtg-cpu.sh
執行後,它會輸出四個數字(用 echo 就可以了)
第1.2 數據,是指令 sar 取得的cpu使用率
第3數據,是呼叫另一支 script 用來產生總開機時間
第4數據,沒什麼意義,就是一串文字而已


然後在 mrtg.cfg 那邊:(這只是其中一小段)

###########################
# CPU 負載 #
###########################

Target[cpu]: `/etc/mrtg/mrtg-cpu.sh`

Options[cpu]: growright, gauge, integer, nopercent
MaxBytes[cpu]: 100
YLegend[cpu]: % of CPU used
ShortLegend[cpu]: %
LegendI[cpu]:   User:
LegendO[cpu]:   System:
Legend1[cpu]: User utilization
Legend2[cpu]: System utilization
Colours[cpu]: ORANGE#ff6128,GREEN#066928,DARK GREEN#006600,VIOLET#ff00ff

Title[cpu]: CPU Loading
PageTop[cpu]: <H1>CPU Loading</H1>





關於 mrtg.cfg 格式的說明:(有興趣深入可參考)

#####################################################
# #
# MRTG 偵測器 設定 #
# #
#####################################################

# 格式說明:
# Target[偵測器名稱]: 資訊提供來源,可為 shell script。
# Options[偵測器名稱]: 圖表繪製方式選項。
# MaxBytes[偵測器名稱]: 圖表數值上限。
# YLegend[偵測器名稱]: 表格的Y軸要顯示什麼單位文字。(不支援中文)
# ShortLegend[偵測器名稱]: 同上,單位文字的簡稱。
# LegendI[偵測器名稱]: 第1數據,代表的意義。(預設綠色線條)
# LegendO[偵測器名稱]: 第2數據,代表的意義。(預設藍色線條)
# Legend1[偵測器名稱]: 第1數據,網頁下方的說明文字。
# Legend2[偵測器名稱]: 第2數據,網頁下方的說明文字。
# Colours[偵測器名稱]: 繪製顏色。(可省略)
# Title[偵測器名稱]: 網頁的 Title,瀏覽器中標題列的名稱。
# PageTop[偵測器名稱]: <h1>網頁上面顯示的標題</h1>

# 關於 Options[偵測器名稱] 參數說明:
# growright = 圖表從右方畫起。
# bits = 最小單位 bits。
# gauge = 圖表上標尺的數字,維持在平均值,不會因短暫的尖峰爆衝而提高。
# nopercent = 不顯示百分比(與 MaxBytes 的%),預設是會顯示的。
# integer = 只顯示整數,捨去小數點,預設會帶有小數點。

# 關於 Colours[偵測器名稱] 的說明:
# 參數總共要4筆 GREEN#rrggbb,BLUE#rrggbb,DARK GREEN#rrggbb,MAGENTA#rrggbb
# 可重新定義原先四種顏色的 RGB 16進位碼。
# 網頁下方的顏色名稱也可改掉,例如 MAGENTA#(洋紅)改成 VIOLET#(紫羅蘭)。

# 附註:
# 1.在網頁上顯示的東西,支援 html 碼,例如 代表空格,<h1> 代表標題。
# 2.網頁 Index 自動產生後,偵測器排列順序,同以下偵測器的排列順序。
# 3.網卡的「偵測器名稱」和「Target」比較特殊,需用 SNMP 程式取得。
# 4.每台電腦(或每次重灌),網卡的「偵測器名稱」資料可能改變,請注意修改。

# 偵測器固定輸出 4 筆數據給 MRTG,各數據的意義:
# 1.綠色線條。(明顯的塗色)
# 2.藍色線條。(僅有單線)
# 3.設備開機時間。
# 4.設備名稱。



我有完整的程式碼,包含:cpu 偵測,web流量偵測、硬碟剩餘空間偵測、cpu溫度偵測(要靠某個溫度偵測套件)..等等。再加上完美的 mrtg.cfg 中文化 (自認啦)XD

若有興趣,我再放網路硬碟分享..
前提是有興趣,且需懂基本 shell script
因為那個必須修改才能使用,無法直接套用

沒有留言: