MRTG入れてみた
この度サーバーにMRTG入れました。
サーバーの状況が人目でわかる!
MRTGとは
MRTG (Multi Router Traffic Grapher) は、ルータなどネットワーク機器が送受信したデータの量(トラフィック)をグラフによって可視化するプログラム。グラフ部分をPNGフォーマット、付帯情報をHTMLフォーマットで出力するため、ウェブサーバと連携して結果を表示することが可能である。もともとはルータを対象として開発されたためこの名前となった。
SNMPマネージャとして動作し、SNMPエージェントであるネットワーク機器やサーバ機からネットワーク・トラフィック情報を取得し、それをINPUTとOUTPUTの2系列としてグラフ上にプロットする。
高い柔軟性を持ち、データとしてはネットワーク・トラフィックだけでなく、SNMPで取得可能な他の情報(CPU Load Average、Disk使用率、メモリ空き容量等)や、外部コマンドの実行結果を利用することができる。
欠点としては、1つのグラフで必ず2系列のデータを用いなければならないため、3系列以上のグラフが作成できない。 (気温などの)マイナス値を測定できないこと等がある。
簡単に言うとウェブサーバーと連携してサーバーやルーターのトラフィックとかをグラフにできるツールです。
導入
まずは必要なソフトのインストールから。
1 |
yum -y install mrtg net-snmp net-snmp-utils |
snmpの設定を行います。
/etc/snmp/snmpd.conf
を編集してください。
41 |
#com2sec notConfigUser default public |
47 48 |
#group notConfigGroup v1 notConfigUser #group notConfigGroup v2c notConfigUser |
55 56 |
#view systemview included .1.3.6.1.2.1.1 #view systemview included .1.3.6.1.2.1.25.1.1 |
74 75 |
com2sec local localhost localcomunity com2sec mynetwork 192.168.0.1/24 localnetcomunity |
78 79 |
group MyRWGroup any local group MyROGroup any mynetwork |
85 |
view all included .1 80 |
93 94 |
access MyROGroup "" any noauth 0 all none none access MyRWGroup "" any noauth 0 all all all |
終わったらsnmpを起動し、自動起動も有効にします。
1 2 |
systemctl start snmpd.service systemctl enable snmpd.service |
次はMRTGの設定をします。
/etc/mrtg/mrtg.cfg
を編集します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
###################################################################### # Multi Router Traffic Grapher -- Example Configuration File ###################################################################### # This file is for use with mrtg-2.0 # # Note: # # * Keywords must start at the begin of a line. # # * Lines which follow a keyword line which do start # with a blank are appended to the keyword line # # * Empty Lines are ignored # # * Lines starting with a # sign are comments. # Where should the logfiles, and webpages be created? # Minimal mrtg.cfg #-------------------- HtmlDir: /var/www/html/mrtg ImageDir: /var/www/html/mrtg LogDir: /var/lib/mrtg ThreshDir: /var/lib/mrtg Refresh: 300 #Target[r1]: 2:public@myrouter.somplace.edu #MaxBytes[r1]: 1250000 #Title[r1]: Traffic Analysis #PageTop[r1]: <H1>Stats for our Ethernet</H1> # Load Average Target[load]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:localcom@localhost MaxBytes[load]: 10000 Options[load]: gauge,absolute,nopercent,noinfo, YLegend[load]: Load Average YTicsFactor[load]: 0.01 Factor[load]: 0.01 ShortLegend[load]: pt. LegendI[load]: 1 min Load Average LegendO[load]: 5 min Load Average Legend1[load]: 1 min Load Average Legend2[load]: 5 min Load Average Title[load]: Load Average PageTop[load]: <h1>Load Average</h1> #CPU Target[cpu]: 1.3.6.1.4.1.2021.10.1.5.1&1.3.6.1.4.1.2021.10.1.5.2:localcom@localhost MaxBytes[cpu]: 100 Unscaled[cpu]: dwmy Options[cpu]: gauge, absolute, growright, noinfo, nopercent YLegend[cpu]: CPU Load(%) ShortLegend[cpu]: (%) LegendI[cpu]: 1 min CPU Load Average LegendO[cpu]: 5 min CPU Load Average Legend1[cpu]: 1 min CPU Load Average(%) Legend2[cpu]: 5 min CPU Load Average(%) Title[cpu]: CPU Load Average PageTop[cpu]: <H1>CPU Load Average</H1> Target[mem]: 1.3.6.1.4.1.2021.4.6.0&1.3.6.1.4.1.2021.4.4.0:localcom@localhost MaxBytes1[mem]: 3582852 MaxBytes2[mem]: 4095996 Unscaled[mem]: dwmy Options[mem]: gauge, absolute, growright, noinfo YLegend[mem]: Mem Free(Bytes) ShortLegend[mem]: Bytes kilo[mem]: 1024 kMG[mem]: k,M,G,T,P LegendI[mem]: Real LegendO[mem]: Swap Legend1[mem]: Real Memory[MBytes] Legend2[mem]: Swap Memory[MBytes] Title[mem]: Memory Used PageTop[mem]: <H1>Memory Used</H1> |
終わったらMRTGでグラフを出力します
1 |
env LANG=C mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok |
2回目まではエラーが出ますが、仕様です。
自動的にグラフを更新するようにcronを設定しておきます。
1 |
crontab -e |
1 |
*/5 * * * * env LANG=C mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok |
これで5分おきに更新されます。
出力は/var/www/html/mrtg/
以下にあるよ!
(load.htmlならLoad Average)