■munin用CommuniGate Pro監視プラグインサンプル
CommuniGate Proの各プロトコルの接続状況を確認できるプラグインのサンプル。net-snmpとCommuniGate Pro側のsnmpサーバ設定が必須。OS側のsnmp設定と重ならないようにするためにCGPのポート番号を変更している場合には ホストIP:ポート番号 で記述する。
■プラグインを作成する
# vi /etc/munin/plugins/cgp_active
以下
#!/bin/sh
if [ "$1" = "autoconf" ]; then
if [ -x /usr/bin/snmpwalk ]; then
echo yes
exit 0
else
echo no
exit 1
fi
fi
if [ "$1" = "config" ]; then
# ___WARNING=10000
echo 'graph_title CGP Active Sessions'
echo "graph_args -l 0"
echo 'graph_vlabel CGP Active Sessions'
echo 'graph_info This graph shows CGP Active Sessions'
echo 'graph_category CGP'
echo 'sip_server.label SIP Server'
echo 'sip_server.draw LINE2'
echo "sip_server.info SIP Server"
echo 'sip_clients.label SIP Clients'
echo 'sip_clients.draw LINE2'
echo "sip_clients.info SIP Clients"
echo 'sip_act.label SIP Con'
echo 'sip_act.draw LINE2'
echo "sip_act.info SIP Con"
echo 'media_act.label Media Ch'
echo 'media_act.draw LINE2'
echo "media_act.info Media Ch"
echo 'media_leg.label Media Leg'
echo 'media_leg.draw LINE2'
echo "media_leg.info Media Leg"
echo 'prox_act.label Proxy'
echo 'prox_act.draw LINE2'
echo "prox_act.info Proxy"
echo 'ximss.label XIMSS'
echo 'ximss.draw LINE2'
echo "ximss.info XIMSS"
echo 'airsync.label AirSync'
echo 'airsync.draw LINE2'
echo "airsync.info AirSync"
exit 0
fi
echo -n "sip_server.value "
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.2.2.1 | awk '{ print $4 }'
echo -n "sip_clients.value "
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.2.3.1 | awk '{ print $4 }'
echo -n "sip_act.value "
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.2.1.41 | awk '{ print $4 }'
echo -n "media_act.value "
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.15.1 | awk '{ print $4 }'
echo -n "media_leg.value "
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.15.21 | awk '{ print $4 }'
echo -n "prox_act.value "
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.7.1 | awk '{ print $4 }'
echo -n "ximss.value "
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.10.1 | awk '{ print $4 }'
echo -n "airsync.value "
snmpwalk -v 2c -c password 192.168.0.xxx 1.3.6.1.4.1.5678.2.1.1.15.1 | awk '{ print $4 }'
■値が取得できることを確認する
# cd /etc/munin/plugins/
# munin-run cgp_active
centos, communigate, munin, snmp

Loading...
■CommuniGate Proの稼働状況をmuninで監視する
CommuniGate Proの稼働状態をmuninで監視するためのメモ。前記事の続き。CommuniGate Proでのsnmp取得設定ができていることを前提とする。
■サーバ設定
snmpwalkを使用可能にする
# yum install net-snmp-utils
CGPから値が取得できることを確認する
# snmpwalk -v 2c -c password servername .1.3.6.1.4.1.5678.2
■script作成から設置まで
サンプルとしてCGPのスレッド数を取得するscriptを作成する
# cd /usr/share/munin/plugins/
以下のscriptを作成
# vi cgp_threads
#!/bin/sh
if [ "$1" = "autoconf" ]; then
if [ -x /usr/bin/snmpwalk ]; then
echo yes
exit 0
else
echo no
exit 1
fi
fi
if [ "$1" = "config" ]; then
# THREADWARNING=200
echo 'graph_title CGP Active Threads'
echo "graph_args -l 0"
echo 'graph_vlabel CGP Active Threads'
echo 'graph_info This graph shows CGP Active Threads'
echo 'graph_category CGP'
echo 'threads.label CGP Active Threads'
echo 'threads.draw LINE2'
echo "threads.warning $THREADWARNING"
echo "threads.info CGP Active Threads"
exit 0
fi
echo -n "threads.value "
snmpwalk -v 2c -c password servername 1.3.6.1.4.1.5678.2.100.20 | awk '{ print $4 }'
実行権を付与する
# chmod +x cgp_threads
値が取得できるか確認する
# munin-run -servicedir /usr/share/munin/plugins/ cgp_threads
値が取得できれば実行できるよう設定する
# cd /etc/munin/plugins/
# ln -s /usr/share/munin/plugins/cgp_threads cgp_threads
これで後はグラフが更新されるのを待てばよい。
centos, communigate, munin, scientific, snmp

Loading...
■CommuniGate Proからsnmpで稼働状況取得
CommuniGate Proの稼働状態をsnmpで取得するためのメモ。muninやzabbixなどの監視ツールで稼働状況を詳細に把握するためデータ取得を可能にする。
■サーバ設定
CGPサーバ側でsnmpを有効にする(OSではなくCGPで)
管理画面>設定>サービス>SNMP
パスワードとトラップパスワードを設定する
リスナーのリンクを開いてポートに161を指定する
必要ならリモートIPアドレス制限に値を入力し制限をかける
■取得側設定
CGPのsnmp出力はSNMPV2なので以下のコマンドで全パラメータが取得できる
$ snmpwalk -v 2c -c password servername .1.3.6.1.4.1.5678.2
MIB情報は以下より取得可能
管理画面>モニター>統計>MIBのリンクをクリック
muninでグラフを作成するには、/usr/share/munin/plugins以下にあるsnmp関連のscriptを改造すればよいと思われる。
centos, communigate, munin, scientific, snmp

Loading...
muninでsnmp監視
net-snmpのインストール
# yum install net-snmp net-snmp-utils
監視対象の情報が取得できることを確認
# snmpwalk -v 2c -c public server.local
muninの設定上監視対象にhost名がなければ付けておく(DNSで引けるなら不要)
# /etc/hosts
192.168.0.100 server.local
muninの自動設定機能を利用
#munin-node-configure --snmp server.local
ln -s /usr/share/munin/plugins/snmp__users /etc/munin/plugins/snmp_server.local_users
ln -s /usr/share/munin/plugins/snmp__load /etc/munin/plugins/snmp_server.local_load
ln -s /usr/share/munin/plugins/snmp__if_err_ /etc/munin/plugins/snmp_server.local_if_err_4
ln -s /usr/share/munin/plugins/snmp__if_err_ /etc/munin/plugins/snmp_server.local_if_err_6
ln -s /usr/share/munin/plugins/snmp__if_ /etc/munin/plugins/snmp_server.local_if_4
ln -s /usr/share/munin/plugins/snmp__if_ /etc/munin/plugins/snmp_server.local_if_6
ln -s /usr/share/munin/plugins/snmp__df /etc/munin/plugins/snmp_server.local_df
出力されたln〜のコマンドを使ってシンボリックリンクを作成
host treeに監視対象を追記
# vi /etc/munin/munin.conf
[localhost]
address 127.0.0.1
use_node_name yes
[server.local] ←監視対象の名前
address 127.0.0.1 ←監視するサーバのアドレス
use_node_name no
munin-nodeを再起動
# service munin-node restart
監視対象側の設定(OSX Leopardの場合)
snmpdはインストール済みなので起動設定を行う
起動ファイルを作成
$ sudo vi /Library/LaunchDaemons/snmpd.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>snmpd</string>
<key>OnDemand</key>
<true/>
<key>Program</key>
<string>/usr/sbin/snmpd</string>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
設定読み込み
$ sudo launchctl load -w /Library/LaunchDaemons/snmpd.plist
起動
$ sudo launchctl start snmpd
起動を確認
動作の確認
$ snmpwalk -v 2c -c public localhost
$ snmpwalk -v 2c -c private localhost
snmpdの設定
$ sudo vi /etc/snmp/snmpd.conf
# sec.name source community
#com2sec local localhost private
#com2sec mynetwork NETWORK/24 public
com2sec local 192.168.0.0/24 public
監視ホスト(CentOS)から監視対象(OSX Leoprad)の情報が取得できることを確認する
centos, munin, snmp

Loading...