nagiosモニタリング構成
Linuxシステム管理者として、システムの状態を随時確認することはできません.流量が異常で、負荷が急に高くなり、事故を引き起こす可能性があります.モニタリングソフトでシステムの状態を自動的にモニタリングでき、異常を発見するとアラームしたり、スクリプトでモニタリングしたりすることができます.
1、Nagios
オープンソースソフトウェアで、無料で使用して、ホストの状態を監視することができて、windows、linux、プリンタはすべて使用することができます.
Webインタフェースに基づいて、サイトにログインして各指標を表示します.
メールまたはメール通知をサポートします.
カスタムスクリプトによるカスタム化モニタリングが可能です.
公式サイトwww.nagios.org
2、nagiosサービスをインストールする
サービス側(centos 6.4 192.168.0.105)とクライアント(centos 6.4 192.168.0.104)に分けられます.クライアントはホストの状態を監視し、データはサービス側に報告し、サービス側はデータを処理する.
拡張ソースのインストール
3、nagiosクライアントのインストール
拡張ソースのインストール
監視サービスの表示
1、Nagios
オープンソースソフトウェアで、無料で使用して、ホストの状態を監視することができて、windows、linux、プリンタはすべて使用することができます.
Webインタフェースに基づいて、サイトにログインして各指標を表示します.
メールまたはメール通知をサポートします.
カスタムスクリプトによるカスタム化モニタリングが可能です.
公式サイトwww.nagios.org
2、nagiosサービスをインストールする
サービス側(centos 6.4 192.168.0.105)とクライアント(centos 6.4 192.168.0.104)に分けられます.クライアントはホストの状態を監視し、データはサービス側に報告し、サービス側はデータを処理する.
拡張ソースのインストール
[root@client ~]# rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm
//
nagiosのインストール[root@client ~]# yum install -y httpd nagios nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe
httpログインパスワードの設定[root@client ~]# htpasswd -c /etc/nagios/passwd nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin
プロファイルの表示[root@client ~]# vim /etc/nagios/nagios.cfg
プロファイルにエラーがないかどうかを検出[root@client ~]# nagios -v /etc/nagios/nagios.cfg
サービスを開始[root@client ~]# service httpd start
Starting httpd: httpd: apr_sockaddr_info_get() failed for client
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
[ OK ]
[root@client ~]# service nagios start
Starting nagios: done.IEshang
ブラウザへのアクセス:http://192.168.0.105/nagios 3、nagiosクライアントのインストール
拡張ソースのインストール
[root@localhost ~]# rpm -ivh http://www.lishiming.net/data/attachment/forum/month_1211/epel-release-6-7.noarch.rpm
nagiosのインストール[root@localhost ~]# yum install -y nagios-plugins nagios-plugins-all nrpe nagios-plugins-nrpe
プロファイルの変更[root@localhost ~]# vim /etc/nagios/nrpe.cfg
allowed_hosts=127.0.0.1,192.168.0.105
ont_blame_nrpe=1
クライアントの起動[root@localhost ~]# /etc/init.d/nrpe start
Starting nrpe: [ OK ]
4、監視センタは被監視ホストを追加する(サービス側)[root@client ~]# cd /etc/nagios/conf.d/
[root@client conf.d]# vim 192.168.0.104.cfg // IP
define host{
use linux-server ; Name of host template to use
; This host definition will inherit all variables that are defined
; in (or inherited by) the linux-server host template definition.
host_name 192.168.0.104
alias 0.12
address 192.168.0.104
}
define service{
use generic-service
host_name 192.168.0.104
service_description check_ping
check_command check_ping!100.0,20%!200.0,50%
max_check_attempts 5
normal_check_interval 1
}
// ping
define service{
use generic-service
host_name 192.168.0.104
service_description check_ssh
check_command check_ssh
max_check_attempts 5
normal_check_interval 1
}
// ssh
define service{
use generic-service
host_name 192.168.0.104
service_description check_http
check_command check_http
max_check_attempts 5
normal_check_interval 1
}
// http
[root@client ~]# cd /etc/nagios/conf.d/
[root@client conf.d]# vim 192.168.0.104.cfg
define host{
use linux-server
//Name of host template to use
//This host definition will inherit all variables that are defined
//in (or inherited by) the linux-server host template definition.
host_name 192.168.0.12
alias 0.12
address 192.168.0.12
}
define service{
use generic-service
host_name 192.168.0.12
service_description check_ping
check_command check_ping!100.0,20%!200.0,50%
max_check_attempts 5 // , 5
normal_check_interval 1 // ,1
notification_interval 60 // , , 60
}
// ping
define service{
use generic-service
host_name 192.168.0.12
service_description check_ssh
check_command check_ssh
max_check_attempts 5
normal_check_interval 1
}
// ssh
define service{
use generic-service
host_name 192.168.0.12
service_description check_http
check_command check_http
max_check_attempts 5
normal_check_interval 1
}
// http
5、遠隔監視のサービスを実現する(サービス側)[root@client conf.d]# vim /etc/nagios/objects/commands.cfg
//
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
[root@client conf.d]# vim /etc/nagios/conf.d/192.168.0.104.cfg
define service{
use generic-service
host_name 192.168.0.105
service_description check_load
check_command check_nrpe!check_load
//check_load
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.0.105
service_description check_disk_hda1
check_command check_nrpe!check_hda1
max_check_attempts 5
normal_check_interval 1
}
define service{
use generic-service
host_name 192.168.0.105
service_description check_disk_hda2
check_command check_nrpe!check_hda2
max_check_attempts 5
normal_check_interval 1
}
check_の表示load(クライアント)[root@localhost ~]# vim /etc/nagios/nrpe.cfg
command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10
command[check_load]=/usr/lib/nagios/plugins/check_load -w 15,10,5 -c 30,25,20
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
//hda1 sda1
// 20% , 10%
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200
[root@localhost ~]# /usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1
DISK OK - free space: /boot 429 MB (93% inode=99%);| /boot=29MB;387;435;0;484
// ,
check_を定義hda2 [root@localhost ~]# vim /etc/nagios/nrpe.cfg //
//
command[check_hda2]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda2
クライアント、サービス側がサービスを再起動し、ページテストをリフレッシュする監視サービスの表示
[root@client conf.d]# ls /usr/lib/nagios/plugins/
check_breeze check_icmp check_nrpe check_smtp
check_by_ssh check_ide_smart check_nt check_snmp
check_clamd check_imap check_ntp check_spop
check_cluster check_ircd check_ntp_peer check_ssh
check_dhcp check_jabber check_ntp.pl check_ssmtp
check_dig check_ldap check_ntp_time check_swap
check_disk check_ldaps check_nwstat check_tcp
check_disk_smb check_load check_oracle check_time
check_dns check_log check_overcr check_udp
check_dummy check_mailq check_pgsql check_ups
check_file_age check_mrtg check_ping check_users
check_flexlm check_mrtgtraf check_pop check_wave
check_fping check_mysql check_procs eventhandlers
check_ftp check_mysql_query check_real negate
check_game check_nagios check_rpc urlize
check_hpjd check_nntp check_sensors utils.pm
check_http check_nntps check_simap utils.sh
// ,
6、メールアラームの設定[root@client conf.d]# vim /etc/nagios/objects/contacts.cfg
define contact{
contact_name 123 //
use generic-contact //
alias aming
email [email protected] //
}
アラートポリシーのカスタマイズnotifications_enabled
// 。1 ,0 。 , (nagios.cfg) , 。
notification_interval
// , 。 60 。 0, 。
notification_period
// 。 ( ) 7×24, ( ) 。 , , 。
notification_options
// :d = DOWN, u = UNREACHABLE , r = OK , f = flapping,n= 。