こんにちは。CTOの馬場です。
ハートビーツからお届けする技術情報の初回シリーズの、Nagiosについての第3回です。
今回は、Nagiosの監視プラグインについてご紹介します。
独自に作るのも簡単にできるんですが、まずはaptでインストールできるものを一通りご紹介します。これだけでもかなりの量があるので、さっと試す分には十分だと思います。
すべて、/usr/lib/nagios/plugins/
に配置されます。
いずれのコマンドも、たいがい-h
オプションをつけてコマンドラインで実行するとUsageが表示されるので、困ったらやってみましょう。
nagios-plugins-basic
check_apt
- apt(apt-getのapt)でエラーがないか、更新すべきファイルが残っていないか確認します。チェックに少し時間がかかるので、あまりに頻繁にチェックすると問題になるかもしれませんcheck_by_ssh
- あるホストにsshでログインし、引数で指定したコマンドを実行して結果を確認します。パスワードは指定できないので、パスフレーズなしの公開鍵認証でのログインを想定しているようですcheck_clamd
- あるホストのClamd(アンチウィルスのClamAVのデーモン)と通信可能か確認します。check_cluster
- 複数のホストorサービスをまとめてclusterとして定義し、そのclusterの状態が正常かどうかをNagiosサーバで確認します。ホスト・サービスの指定にはon-demand macro(on-demand service macro, on-demand host macro)を使うため、コマンドラインでの実行は難しいかもしれませんcheck_dhcp
- DHCPサーバの動作を確認します。応答すべきDHCPサーバのIPアドレスをチェックしたりできますcheck_disk
- 自ホストのディスクの空き容量を確認します。容量指定・%指定ができますcheck_dummy
- 引数で指定されたステータスを返しますcheck_file_age
- 自ホストのファイルが指定秒数以内に更新されていることを確認します。閾値として、指定サイズ以上であるということも合わせて確認できますcheck_ftp
- あるホストにftp接続ができることを確認しますcheck_http
- あるホストにHTTP(HTTPS)接続ができることを確認します。文字列検知、認証、ユーザエージェント指定などに対応していますcheck_icmp
- あるホストにICMPパケットを送り、応答を確認しますcheck_ide_smart
- 自ホストのディスクのSMART値を確認しますcheck_imap
- あるホストにIMAP(IMAPS)接続ができることを確認しますcheck_ircd
- あるホストにIRC接続ができることを確認します。同時接続数も同時に確認できますcheck_jabber
- あるホストにJABBER(over SSL)接続ができることを確認しますcheck_load
- 自ホストのロードアベレージを確認します。1分平均、5分平均、15分平均を確認できますcheck_log
- 自ホストのあるファイルに対してパターンマッチで出力を確認します。ファイルを2つ指定し、2つのファイルに対してパターンマッチを適用した結果が異なるかどうかを確認しますcheck_mailq
- 自ホストのメールキュー滞留数を確認します。sendmail、qmail、postfix、eximに対応していますcheck_mrtg
- 自ホストのMRTGログファイルを確認します。MRTGで取得した値・データの最終更新時間を確認できます。値の平均値・最大値の確認もできますcheck_mrtgtraf
- 自ホストのMRTGログファイルを確認します。MRTGで取得した値・データの最終更新時間を確認できます。値の平均値・最大値の確認もできます。2値が同時に確認できるのが特徴ですcheck_nagios
- 自ホストのnagiosログファイルを確認します。ログファイルが指定した時間以内に更新されていることを確認しますcheck_nntp
- あるホストにNNTP接続できることを確認しますcheck_nntps
- あるホストにNNTPS接続できることを確認しますcheck_nt
- あるホスト(Windows)のNSClientからデータを取得し、値が閾値を超過していないことを確認しますcheck_ntp
- deprecatedとのこと。check_ntp_peer
かcheck_ntp_tim
を使いましょうcheck_ntp_peer
- あるホストのNTPサーバの動作を確認します。時刻ずれの大きさも確認できますcheck_ntp_time
- あるホストの、NTPサーバとの時間のずれを確認します。時刻ずれの大きさも確認できますcheck_nwstat
- あるNovellサーバのMRTGEXT NLMと通信し、様々な値を確認しますcheck_overcr
- あるホストのOver-CR collector daemonと通信し、様々な値を確認しますcheck_ping
- あるホストにPINGを実行し、応答時間・パケットロスを確認しますcheck_pop
- あるホストにPOP(POP3S)通信ができることを確認しますcheck_procs
- 自ホストのプロセスの状態を確認します。プロセス数、プロセスの状態(state)、PID,VSZ,RSS,PCPU,USER,引数,コマンドなどを条件として加えることができますcheck_real
- あるホストにRTSP接続できることを確認します(動画再生のREALの意)check_sensors
-lm_sensors
を使い、自ホストのハードウェアステータスを確認しますcheck_simap
- あるホストにSIMAP(SIMAPS)接続ができることを確認します。SIMAP接続が何なのかは、いまいちよくわかりません。IMAPとIMAPSのことでしょうか...check_smtp
- あるホストにSMTP(SMTP with TLS)接続できることを確認しますcheck_spop
- 3あるホストにSPOP(SPOPS)接続ができることを確認します。SPOP接続が何なのかは、いまいちよくわかりません。POP3とPOP3Sのことでしょうか...check_ssh
- あるホストにSSH接続ができることを確認しますcheck_ssmtp
- あるホストにSSMTP(SSMTPS)接続できることを確認します。SSMTP接続が何なのかは、いまいちよくわかりません。SMTPSのことでしょうか...check_swap
- 自ホストのSWAP空き容量が所定以上であることを確認しますcheck_tcp
- あるホストにTCP(SSL)接続ができることを確認しますcheck_time
- あるホストの時刻がずれていないことを確認しますcheck_udp
- あるホストにUDP(SSL)接続ができることを確認しますcheck_ups
- あるホストのUPSの状態を確認します。温度、ステータスを確認できます。www.networkupstools.orgのNetwork UPS Toolsが必要ですcheck_users
- 自ホストのログインユーザ数を確認します
nagios-plugins-extra
check_fping
- fpingを使ってあるホストの死活を確認します。使うためにはfpingコマンドにsuidフラグを立てる必要がありますcheck_game
- qstatを使ってあるホストのゲームサーバの状態を確認します
nagios-plugins-standard
check_bgpstate
- あるホストのBGPセッションを確認しますcheck_breeze
- あるホストのBreezecom wirelessの電波の強さを確認しますcheck_dig
- あるホストのDNSサービス稼働を、digを使って確認しますcheck_disk_smb
- あるホストのSMB共有ディスクの、ディスク使用量を確認しますcheck_dns
- あるホストに対してDNSクエリを発行し、結果として得られたIPアドレスが想定通りであるかを確認しますcheck_flexlm
- 自ホストのライセンスファイルを見て、Flexlmのライセンスを確認しますcheck_hpjd
- HPのプリンタ(JetDirect cardのついたもの)のステータスを確認しますcheck_ifoperstatus
- あるホストの、あるNICのoperational statusを確認しますcheck_ifstatus
- あるホストの、各NICのoperational statusを確認しますcheck_ldap
- あるホストのLDAP(SSL,TLS対応)応答が時間内にあることを確認しますcheck_ldaps
- 同上。This detection is deprecated, please use 'check_ldap' with the '--starttls' or '--ssl' flags to define the behaviour explicitly instead.
とのこと。check_linux_raid
- 自ホスト(linux)のraid(おそらくsoftware raid)のステータスを確認しますcheck_mysql
- あるホストのmysqlの状態を確認します。スレーブとして正常に機能しているか確認もできますcheck_mysql_query
- あるホストのmysqlにクエリを発行し、結果を確認しますcheck_oracle
- あるホストのOracleの状態を確認しますcheck_pgsql
- あるホストのPostgreSQLの状態を確認しますcheck_radius
- あるホストのRADIUSと通信できるか確認しますcheck_rpc
- あるホストのRPCが利用できるか確認しますcheck_snmp
- SNMPを利用して、あるホストの状態を確認します。OIDを指定して値を取得し、結果をもとに判定ができますcheck_wave
- あるホストの信号の強さを確認できるようです。いまいちよくわかりません