smokeping

回線やサーバーの状態をグラフ化し、監視もできる便利ツール smokeping

いつの間にかバージョンが2.4.2になって、凄く便利になってる。

[[$$amazon-search-result-middle books-jp ネットワーク 監視]]

開発元サイト

  • http://oss.oetiker.ch/smokeping
    • MRTG や rrdtool の開発者である Tobi Oetiker さんのサイト。ネットワーク関係者は足を向けては寝られない。

最近のバージョンでの追加点。

smokeping_upgrade 参照。

  • Charts - The most interesting destinations で、もっとも状況の悪いサイトを自動的に閲覧できる。

    • Top Standard Deviation
    • Top Packet Loss
    • Top Max Roundtrip Time
    • Top Median Roundtrip Time
  • ajax機能の追加

    • グラフ上の任意の時間帯を拡大して参照できる。
      • Navigator Graph 画面 (Generate!ボタンが表示されている時)にグラフをクリック。
  • smoketrace機能の追加 http://oss.oetiker.ch/smokeping/doc/smoketrace.en.html

    • 左のホスト名一覧に * が出ているので、それをクリックすると traceroute 画面。
    • そのホストにtracerouteをかけて表示できる。
    • tracerouteがsuid rootされていないと動かない

CentOS 5.2に導入

rpmパッケージにしたいので、ぐぐると、fedora10に src.rpm があるので、それを使うことにする。

#  wget [http://download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/smokeping-2.4.2-7.fc10.src.rpm](http://download.fedora.redhat.com/pub/fedora/linux/development/source/SRPMS/smokeping-2.4.2-7.fc10.src.rpm) 
# rpmbuild --rebuild smokeping-2.4.2-7.fc10.src.rpm
# rpm -Uvh /usr/src/redhat/RPMS/noarch/smokeping-2.4.2-7.noarch.rpm
error: Failed dependencies:
        fping >= 2.4b2 is needed by smokeping-2.4.2-7.noarch
        perl(Config::Grammar) is needed by smokeping-2.4.2-7.noarch
        perl(BER) is needed by smokeping-2.4.2-7.noarch
        perl(CGI::Session) is needed by smokeping-2.4.2-7.noarch
        perl(Net::LDAP) is needed by smokeping-2.4.2-7.noarch
        perl(Net::Telnet) is needed by smokeping-2.4.2-7.noarch
        perl(Qooxdoo::JSONRPC) is needed by smokeping-2.4.2-7.noarch
        perl(SNMP_Session) is needed by smokeping-2.4.2-7.noarch
        perl(SNMP_util) is needed by smokeping-2.4.2-7.noarch

ぐは!

fpingやいくつかのperlパッケージはsmokepingと同じところ(fedora10)にある。 CPANにあるperlのパッケージは cpan2rpm でインストール。

echopingも新しいのが必要。これもfedoraにあった。

# rpm -Uvh ../RPMS/noarch/smokeping-2.4.2-7.noarch.rpm
Preparing...                ########################################### [100%]
   1:smokeping              ########################################### [100%]

CentOS 4.x など findutils が古いOSではエラーになります。

findutils 4.2.3以降が必要らしい。

# rpmbuild --bb ../SPECS/smokeping.spec
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.14030
+ umask 022
+ cd /usr/src/redhat/BUILD
 (中略)
+ /bin/mv CHANGES.utf8 CHANGES
+ find doc -name '*.pod' -delete
find: invalid predicate `-delete'
error: Bad exit status from /var/tmp/rpm-tmp.14030 (%prep)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.14030 (%prep)

設定

設定ファイルは /etc/smokeping/config 。

検査回数( pings )を個別に変更しようとすると、エラーになる

ping回数は、rrd データベースに埋め込まれているため、単体での変更はできない。 該当する rrd ファイルを削除すれば個別変更可能。ただし、過去の記録は無くなる。 rrdtool dumpして抜き出せば過去の記録も移行できるはずではあるが。

rror: RRD parameter mismatch ('Different number of data sources: /usr/local/smokeping/var/smtp/hoge.rrd has 23, create string has 8'). You must delete /usr/local/smokeping/var/smtp/hoge.rrd or fix the configuration parameters.

ERROR: /etc/smokeping/config, line 296: probe must be defined before the host or any probe variables と言われる

smokepingの probe 行は、 他の定義よりも前にないといけない。

#
# まとめて書くのはOK
#
+ DNS_status
 probe = EchoPingDNS
 menu   = DNS status
 title  = DNS Status
++ ns_zukeran_org_DNS
menu = ns.zukeran.org
title = ns.zukeran.org
host = ns.zukeran.org
dns_request=www.asahi.com
#
# 個別に書くときは一番前
#
+ DNS_status
 menu   = DNS status
 title  = DNS Status
++ ns_zukeran_org_DNS
probe = EchoPingDNS
menu = ns.zukeran.org
title = ns.zukeran.org
host = ns.zukeran.org
dns_request=www.asahi.com
#
# こう書くとエラー
#
+ DNS_status
 menu   = DNS status
 title  = DNS Status
++ ns_zukeran_org_DNS
menu = ns.zukeran.org
title = ns.zukeran.org
host = ns.zukeran.org
dns_request=www.asahi.com
probe = EchoPingDNS

smokepingからのalert mailがgmailに迷惑メール(SPAM)判定されてしまう

リンク


[[$$amazon-search-result-middle books-jp ネットワーク 運用]]