どうもも、Adachinです。
みなさんNagios使いこなしてますか!?
以前はZabbixを使ってましたが、
Nagios勉強しているのでoutputしますよ〜
前回はUbuntuでのインストール方法でしたが、
今回はCentosクライアントサーバでの導入方法をメモしときます。
■NRPEとは
Nagios Remote Plugin Executerの略
グローバルIPを持っているサーバとローカル間接続されているローカルサーバの橋渡しを行い、
Nagiosからではできないmysqlログイン確認など、監視を行う時に使用される。
■導入方法[dag(rpmforge)の場合]
1 |
$ vi /etc/yum.repos.d/dag.repo |
1 2 3 4 5 6 |
[dag] name=Dag RPM Repository for Red Hat Enterprise Linux baseurl=http://ftp.riken.jp/Linux/dag/redhat/el$releasever/en/$basearch/dag gpgcheck=1 gpgkey=http://ftp.riken.go.jp/pub/Linux/dag/RPM-GPG-KEY.dag.txt enabled=0 |
・nagios-nrpeをインストールすると一緒にnagios-pluginsも入る。
1 |
$ yum --enablerepo=dag install nagios-nrpe |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
============================================================================================================================== Package Arch Version Repository Size ============================================================================================================================== Installing: nagios-nrpe x86_64 2.12-1.el5.rf dag 35 k Installing for dependencies: fping x86_64 2.4-1.b2.3.el5.rf dag 52 k nagios-plugins x86_64 1.4.15-2.el5.rf dag 1.9 M perl-Crypt-DES x86_64 2.05-3.2.el5.rf dag 37 k perl-Digest-HMAC noarch 1.01-15 base 12 k perl-Digest-SHA1 x86_64 2.11-1.2.1 base 49 k perl-Net-SNMP noarch 5.2.0-1.2.el5.rf dag 96 k perl-Socket6 x86_64 0.19-3.fc6 base 21 k |
・関連ファイルは下記に保存される
1 2 3 4 |
/etc/nagios/ 設定ファイル /usr/lib/nagios/plugins/ Nagios-Plugin /usr/lib64/nagios/plugins/ Nagios-Plugin(OSが64bitの時) /etc/init.d/nrpe 起動ファイル |
■導入方法[ソースの場合]
・ユーザの追加
1 |
$ groupadd nagios; useradd -g nagios -s /sbin/nologin nagios |
・下記URLからnagiosplugをダウンロード
http://sourceforge.net/projects/nagiosplug/files/
1 2 3 4 5 6 |
# mkdir /usr/local/src/NAGIOS/ /usr/local/nagios # mkdir /usr/local/nagios/bin/ /usr/local/nagios/etc # cd /usr/local/src/NAGIOS # wget http://jaist.dl.sourceforge.net/project/nagiosplug/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz # tar zxvf nagios-plugins-1.4.15.tar.gz # cd nagios-plugins-1.4.15 |
・コンパイル MySQLやPostgresを導入した場合は対応するオプションを指定する(詳細は./configure –helpでヘルプ参照)
1 |
# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-cgiurl=/nagios/cgi-bin |
1 2 3 |
[※MySQL導入時(mysql-develが必要) 下記はMySQLをパッケージでいれた際のパス] # ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-cgiurl=/nagios/cgi-bin --with-mysql=/usr configureの結果で「--with-mysql: /usr/bin/mysql_config」など、mysql_configのパスが指定されていればOK |
1 2 |
[※Postgres導入時 下記はPostgresパッケージで導入した際のパス] # ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-cgiurl=/nagios/cgi-bin --with-pgsql=/usr |
1 2 |
[※ローカルなどでconfigure出来ないとき] # ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios --with-cgiurl=/nagios/cgi-bin --enable-redhat-pthread-workaround |
1 2 |
# make all # make install |
■nrpe導入
・下記URLからNRPEをダウンロード
http://sourceforge.net/projects/nagios/files/
1 2 3 4 |
# cd /usr/local/src/NAGIOS/ # wget http://jaist.dl.sourceforge.net/sourceforge/nagios/nrpe-2.0.tar.gz # tar zxvf nrpe-2.0.tar.gz # cd nrpe-2.0/ |
・コンパイル
1 2 3 4 5 6 7 8 |
# ./configure --enable-command-args --enable-ssl 下記エラーが出た場合、open-sslのdevelをインストールしてもう一度 --------------- --------------- --------------- --------------- checking for SSL... configure: error: Cannot find ssl libraries --------------- --------------- --------------- --------------- # yum install openssl-deve # ./configure --enable-command-args --enable-ssl # make all |
・起動ファイル、設定ファイルおよび、check_nrpeをコピー
1 2 3 4 5 6 7 |
# cp src/nrpe /usr/local/nagios/bin/. # cp src/check_nrpe /usr/local/nagios/libexec/. # chmod +x /usr/local/nagios/bin/nrpe # cp nrpe.cfg /usr/local/nagios/etc/ # cp -i init-script /etc/init.d/nrpe # chmod +x /etc/init.d/nrpe # /sbin/chkconfig nrpe on |
・起動テスト
1 2 3 4 |
# /etc/init.d/nrpe start # /etc/init.d/nrpe restart # /etc/init.d/nrpe stop # /etc/init.d/nrpe status |
■初期設定
・cfgファイル設定
1 |
# vi /usr/local/nagios/etc/nrpe.cfg |
1 2 3 |
server_port=5666 #ポート指定 allowed_hosts=127.0.0.1, #NRPEの接続制限(監視サーバのIPを追加) dont_blame_nrpe=1 #引数(ARG)の使用を有効化 |
・コマンド定義
1 2 3 4 5 6 7 8 |
command[check_ping]=/usr/lib64/nagios/plugins/check_ping -H $ARG1$ -w 3000.0,80% -c 5000.0,100% -p 1 #リソース (閾値直接指定) command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 65% -c 30% command[check_load]=/usr/lib64/nagios/plugins/check_load -w 8,8,8 -c 10,10,10 #データベース command[check_mysql]=/usr/lib64/nagios/plugins/check_mysql -H localhost -u USER -p "Passwrod" command[local_mysql]=/usr/lib64/nagios/plugins/check_mysql -H 192.168.xx -u USER -p "Passwrod" command[check_local_disk]=/usr/lib64/nagios/plugins/check_snmp_disk.bash -H $ARG1$ -w 80 -c 90 |
※OSによってプラグインの場所が違う場合があるのでテストでちゃんと確認
■監視項目
・死活監視 [PING]
PINGを1回飛ばし、平均RTTが閾値以上、またはパケットロス率が閾値以上の場合障害と判断する。
標準Critical閾値:5秒 or 80%
標準Warning閾値:3秒 or 40%
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_ping -H IPadress -w 3000.0,40% -c 5000.0,80% -n 1 |
・SSH接続監視
SSH(TCP22)への接続を行い、閾値以上の接続遅延を障害と判断する。
標準Critical閾値:10秒(デフォルト)
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_ssh -H IPadress |
・POP接続監視
POP(TCP110)への接続を行い、閾値以上の接続遅延を障害と判断する。
標準Critical閾値:10秒
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_pop -t 10 -H IPadress |
・SMTP接続監視
SMTP(TCP25)への接続を行い、閾値以上の接続遅延を障害と判断する。
標準Critical閾値:10秒
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_smtp -H IPadress -t 10 |
・サブミッション監視
サブミッションポート(TCP587)への接続を行い、閾値以上の接続遅延を障害と判断する。
標準Critical閾値:10秒
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_tcp -H IPadress -p 587 -t 10 |
・IMAP接続監視
IMAP(TCP143)への接続を行い、閾値以上の接続遅延を障害と判断する。
標準Critical閾値:10秒
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_imap -t 10 -H IPadress |
・HTTP稼働状況
HTTP(TCP80)への接続を行い、閾値以上の接続遅延、またはステータス異常を障害と判断する。
標準Critical閾値:10秒、ステータス500系
標準Warning閾値:ステータス400系
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_http -t 10 -H IPadress |
・HTTPS稼働状況
HTTPS(TCP443)への接続を行い、閾値以上の接続遅延、またはステータス異常を障害と判断する。
標準Critical閾値:10秒、ステータス500系
標準Warning閾値:ステータス400系
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_http -t 10 -H IPadress -S |
・HTTP-URL監視
HTTP-URLへの接続を行い、閾値以上の接続遅延、またはステータス異常を障害と判断する。
標準Critical閾値:10秒、ステータス500系
標準Warning閾値:ステータス400系
[例]
1 2 |
URLが[http://www.blog.adachin.me]の場合 $ /usr/local/groundwork/nagios/libexec/check_http -t 10 -H www.blog.adachin.me -u / |
・MySQL稼働状況(ログイン監視)
自ホストから監視アカウントでのMySQLログインに失敗した場合、障害と判断する。
標準Critical閾値:ログイン不可、10秒
・nrpe.cfg記述内容
1 |
command[check_mysql]=/usr/lib64/nagios/plugins/check_mysql -H localhost -u [DBuser] -p [DBpassword] |
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_nrpe -H IPadress -c check_mysql |
・ロードアベレージ
CPUの処理待ちプロセス数平均値をモニタリングし、閾値以上の値を検知時に障害と判断する。
標準Critical閾値:10
標準Warning閾値:8
・nrpe.cfg記述内容
1 2 |
command[check_load]=/usr/lib64/nagios/plugins/check_load -w 8,8,8 -c 10,10,10 ※check_loadはデフォルトで設定されているので、コメントアウトして修正。 |
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_nrpe -H IPadress -c check_load |
・SWAP使用率
Swapの使用率をモニタリングし、空き容量が閾値以下の場合障害と判断する。
標準Critical閾値:30%
標準Warning閾値:65%
・nrpe.cfg記述内容
1 |
command[check_swap]=/usr/lib64/nagios/plugins/check_swap -w 65% -c 30% |
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_nrpe -H IPadress -t 30 -c check_swap |
・ディスク使用率
各パーティションの空き容量をモニタリングし、閾値以上の値を検知時に障害と判断する。
標準Critical閾値:95%,90%,80%
check_snmp_disk.bashスクリプトを使用しsnmp経由で監視
[例]
1 |
$ /usr/local/groundwork/nagios/libexec/check_snmp_disk.bash -H IPadress -w 90 -c 95 |
以上でやんす。
Nagiosはプラグイン入れていろんな監視ができるので、
とても便利ですね。
Zabbixはやれることがたくさんあって既に忘れたw
0件のコメント