12月
05
2009
0

CactiでRTX1200をモニタリング

RTX1200はSNMP対応なのでCactiで状態を監視してみます

トラフィックはMIB-2標準で特に書くことがないので,プライベートMIBで取得できるCPUやメモリ使用率,筐体内温度を取得してみます

プライベートMIBを取得するには,OIDを調べる必要があります
RTXシリーズやSRTシリーズの場合はYAMAHA private MIBに記述があります

自分が使ってる機器のMIBが分からない場合も,snmpwalkやsnmpgetコマンドで探したり,WindowsならGetifという便利なツールを使って調べたりすることができますよ

ハードウェアのMIB一覧を見ると,CPU使用率はyrhCpuUtil5sec,yrhCpuUtil1min,yrhCpuUtil5minとそれぞれ5秒,1分,5分間隔の情報が採れるみたいです
メモリ使用率はyrhMemoryUtil,筐体内温度はyrhInboxTemperatureですね
これらのOIDは以下の通りです

  • yrhCpuUtil5sec = .1.3.6.1.4.1.1182.2.1.5.0
  • yrhCpuUtil1min = .1.3.6.1.4.1.1182.2.1.6.0
  • yrhCpuUtil5min = .1.3.6.1.4.1.1182.2.1.7.0
  • yrhMemoryUtil = .1.3.6.1.4.1.1182.2.1.4.0
  • yrhInboxTemperature = .1.3.6.1.4.1.1182.2.1.15.0

手順としてはデータテンプレートを作成し,グラフテンプレートを作成,その後デバイスを選択してグラフを生成するという流れになります

  1. データテンプレートの作成
  2. Consoleを開いて左のメニューの中からData Templatesを選択し,右上のAddを選択してData Templateを作成します
    まずは,yrhCpuUtil5secから作成していきます

    次のように入力して右下のcreateボタンを押すと,SNMPの詳細を入力するCustom Data欄が現れます

    Data Template
     Name YAMAHA Router – 5 Minute CPU Utilization
    Data Source
     Name |host_description| – 5 Minute CPU Utilization
     Data Input Method Get SNMP Data
    Data Source Item []
     Internal Data Source Name 5min_cpu

    SNMPの詳細では,それぞれのOIDとSNMP Versionを1に設定し,saveボタンを押して保存します

    テンプレートの名前なんですが,デフォルトのテンプレートをみると複数形でもsを付けないのが流儀なんでしょうかね?
    あと,たまにData SourceのNameの”-”がエンコードされるのでその時は戻しておきます

    これを繰り返して,各MIBのデータテンプレートを作成します
    rtx_cacti01 rtx_cacti02

  3. グラフテンプレートの作成
  4. Consoleを開いて左のメニューの中からGraph Templatesを選択し,右上のAddを選択してGraph Templateを作成します
    CPU使用率,メモリ使用率,筐体内温度の3種類のテンプレートを作成します
    まずは,CPU使用率から作成していきます

    次のように入力して右下のcreateボタンを押すと,Graph Template ItemsとGraph Item Inputs欄が現れます

    Template
     Name YAMAHA Router – CPU Utilization
    Graph Template
     Title |host_description| – CPU Utilization
     Rigid Boundaries Mode オン
     Vertical Label percent

    rtx_cacti03 rtx_cacti04

    Graph Template ItemsのAddを選択して,データソースを追加していきます
    CPU使用率のグラフには,yrhCpuUtil5sec,yrhCpuUtil1min,yrhCpuUtil5minの3つのデータを表示させます
    それぞれのデータテンプレート毎に次のように設定します(値は順に5sec, 1min, 5minの順です)

    Data Sorce
     さっき作成したデータテンプレート名
    Color
     EACC00, EA8F00, FF0000(デフォルトのロードアベレージを参考にしました)
    Graph Item Type
     AREA, STACK, STACK
    Text Format
     5 Second Average, 1 Minute Average, 5 Minute Average

    凡例に,現在値,平均値,最大値も表示させましょう
    各データテンプレート毎に現在値,平均値,最大値なので計9個のデータソースを追加します
    データソースの設定は次の通り

    Data Sorce
     さっき作成したデータテンプレート名
    Color
     None
    Graph Item Type
     GPRINT
    Consolidation Function
     LAST, AVERAGE, MAX
    Text Format
     Current:, Average:, Max:
    Insert Hard Return
     最大値の時だけオン

    CPU使用率の場合だけですが,次のような設定でTotalも追加しておきましょう

    Data Sorce
     None
    Color
     000000
    Graph Item Type
     LINE1
    CDEF Function
     Total All Data Sources
    Text Format
     Total

    全データソースの追加が終わったら図のように並べ替えて,saveボタンを押して保存しましょう

    rtx_cacti05 rtx_cacti06 rtx_cacti07

  5. グラフを生成
  6. いよいよグラフの生成です

    Consoleを開いて左のメニューの中からDevicesを選択し,RTX1200を選んでAssociated Graph Templatesに作成したグラフテンプレートを追加します
    rtx_cacti08

    続いて,Consoleを開いて左のメニューの中からNew Graphsを選択します
    HostにRTX1200を選んで,追加したグラフテンプレートを選択しcreateボタンを押します
    rtx_cacti09

作成した全てのグラフテンプレートからグラフを作成しましょう

しばらく待つと,グラフが表示されます
運用前のルータなのであまり変化がなくて分かりにくいですね
rtx_cacti10

最後に設定が面倒な人のために,作成したテンプレートをまとめたYAMAHAルータ用のホストテンプレートを置いておきます

Written by h2 in: ネットワーク | タグ:
12月
04
2009
0

ルータのsyslogをログサーバに転送する

ルータなどのネットワーク機器は大量のログを保管できないが,その代わり大抵のルータはsyslogサーバにログを転送することができる

今回ログサーバに採用したのはDebian lenny
インストール直後はほとんど何も入ってなくて軽いのが決め手

他にもUnix系のOSなら大抵syslogサーバを使っている
Windowsにはsyslogサーバは入ってないけど,ちょっとしたテストなんかにはGST Syslog Serverが便利

lennyはsyslogではなくrsyslogを採用している

直接 /etc/rsyslog.conf を編集してもいいけど,お作法に従って /etc/rsyslog.d 以下にファイルを置いて読み込ませる

ファシリティはlocal0とします

設定ファイルの名前は *.conf であれば何でもOK
今回はYAMAHA RTX1200のログなので /etc/rsyslog.d/rtx1200.conf にしました
ログファイルの名前もお好きに

$ModLoad imudp
$UDPServerRun 514
local0.* /var/log/rtx1200.log

ファイアウォールがある場合は UDP 514番ポートを開けておきましょう

rsyslogを再起動します

$ sudo /etc/init.d/rsyslog restart

ついでにローテーションの設定もしておきます
/etc/logrotate.d/rsyslog に 先ほど指定したログファイルを追加するだけでOK
logrotateはデーモンではないので,cronからlogrotateが実行される際に変更したファイルも読み込まれます

大量にログが転送されてくるとか,シビアなコンディションの場合はlogrotateを使わずにrsyslogのログローテーション機能を使った方が確実でしょう

あとは,ルータの設定です

ログレベルはnoticeとします
YAMAHAならこんな感じ

# syslog host 鯖のアドレス
# syslog facility 16
# syslog notice on

Ciscoならこんな感じかな

# logging 鯖のアドレス
# logging facility local0
# logging trap 5

当たり前ですが,ntpとかでルータと鯖の時間併せておきましょう

Written by h2 in: ネットワーク | タグ: , ,

TheBuckmaker WordPress Themes Webhosting, MP3, AAC & Co