一,安装apache和php
# yum -y install httpd httpd-devel php php-common php-pdo php-gd
1)编辑apache配置文件
vim /etc/httpd/conf/httpd.conf
391 DirectoryIndex index.html index.php
392 AddType application/x-httpd-php .php
2)写php测试页面
# cat /var/www/html/index.php
<?php
phpinfo();
?>
二、安装nagios
1)建立nagios用户
useradd -s /sbin/nologin nagios
mkdir /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios
2)编译安装nagios
tar -zxvf nagios-3.2.3.tar.gz
cd nagios-3.2.3
./configure --prefix=/usr/local/nagios/
make all
make install
make install-init
make install-commandmode
make install-config
chkconfig --add nagios
chkconfig nagios on
chkconfig --list nagios
3)安装nagios-plugins
tar -zxvf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure --prefix=/usr/local/nagios/
make && make install
4)安装汉化包
tar -jxvf nagios-cn-3.2.3.tar.bz2
cd nagios-cn-3.2.3
./configure && make all && make install
三,配置
1)配置httpd添加授权
vim /etc/httpd/conf/httpd.conf 最后加入
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
2)生成密码
# htpasswd -c /usr/local/nagios/etc/htpasswd nagiosadmin
New password: (输入密码)
Re-type new password: (再输入一次密码)
Adding password for user nagiosadmin
#这里为方便就用了nagiosadmin这个用户,如果用其他用户访问时要在/usr/local/nagios/etc/cgi.cfg里将nagiosadmin后面加上相应的用户即可
# service nagios start 启动
3)配置nagios
# vim /usr/local/nagios/etc/objects/hosts.cfg /添加要监控的主机,默认这个文件没有的。
define host{
use linux-server
host_name peace-nagios
alias nagios
address 192.168.10.246
}
define host{
use linux-server
host_name client-173
alias peace-client
address 192.168.10.173
}
define host{
use linux-server
host_name client-206
alias client
address 192.168.10.206
}
# vim /usr/local/nagios/etc/objects/services.cfg /定义监控主机的服务,默认也是没有的
############################ peace-nagios ##############################
define service {
use local-service
host_name peace-nagios
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service {
use local-service
host_name peace-nagios
service_description SSH
check_command check_tcp!12321
}
define service {
use local-service
host_name peace-nagios
service_description http
check_command check_http
}
############################ client-173 ##############################
define service {
use local-service
host_name client-173
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service {
use local-service
host_name client-173
service_description SSH
check_command check_ssh
}
define service {
use local-service
host_name client-173
service_description http
check_command check_http
}
############################ client-206 ##############################
define service {
use local-service
host_name client-206
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
define service {
use local-service
host_name client-206
service_description SSH
check_command check_ssh
}
define service {
use local-service
host_name client-206
service_description http
check_command check_http
}
# chown nagios.nagios hosts.cfg services.cfg /添加用户组
# vim /usr/local/nagios/etc/nagios.cfg /添加刚定义的两个文件
cfg_file=/usr/local/nagios//etc/objects/hosts.cfg
cfg_file=/usr/local/nagios//etc/objects/services.cfg
自带的检测一下
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios Core 3.2.3
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 10-03-2010
License: GPL
Website: http://www.nagios.org
Reading configuration data...
Read main config file okay...
Processing object config file '/usr/local/nagios//etc/objects/commands.cfg'...
Processing object config file '/usr/local/nagios//etc/objects/contacts.cfg'...
Processing object config file '/usr/local/nagios//etc/objects/timeperiods.cfg'...
Processing object config file '/usr/local/nagios//etc/objects/templates.cfg'...
Processing object config file '/usr/local/nagios//etc/objects/hosts.cfg'...
Processing object config file '/usr/local/nagios//etc/objects/services.cfg'...
Read object config files okay...
Running pre-flight check on configuration data...
Checking services...
Checked 9 services.
Checking hosts...
Checked 3 hosts.
Checking host groups...
Checked 0 host groups.
Checking service groups...
Checked 0 service groups.
Checking contacts...
Checked 1 contacts.
Checking contact groups...
Checked 1 contact groups.
Checking service escalations...
Checked 0 service escalations.
Checking service dependencies...
Checked 0 service dependencies.
Checking host escalations...
Checked 0 host escalations.
Checking host dependencies...
Checked 0 host dependencies.
Checking commands...
Checked 24 commands.
Checking time periods...
Checked 5 time periods.
Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...
Total Warnings: 0
Total Errors: 0
Things look okay - No serious problems were detected during the pre-flight check
# service nagios restart
四、PNP(小太阳)
1)安装rrdtool需要的环境
#yum -y install cairo-devel libxml2-devel pango pango-devel
2)安装rrdtool
#tar zxvf rrdtool-1.4.4.tar.gz
#cd rrdtool-1.4.4
#./configure --prefix=/usr/local/rrdtool
#make && make install
3)安装pnp
tar -zxvf pnp-0.4.14.tar.gz
cd pnp-0.4.14
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-rrdtool=/usr/local/rrdtool/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata
make all
make install
make install-config
make install-init
4)配置pnp
cd /usr/local/nagios/etc/pnp/
cp process_perfdata.cfg-sample process_perfdata.cfg
cp npcd.cfg-sample npcd.cfg
cp rra.cfg-sample rra.cfg
chown -R nagios.nagios /usr/local/nagios/etc/pnp/
5)修改process_perfdata.cfg文件
# vim /usr/local/nagios/etc/pnp/process_perfdata.cfg
40 LOG_FILE = /usr/local/nagios/var/perfdata.log
41 #
42 # Loglevel 0=silent 1=normal 2=debug
43 #
44 LOG_LEVEL = 2 /改成2 也就是debug模式
6)修改nagios,增加图标
# vim /usr/local/nagios/etc/objects/templates.cfg /添加
define host{
name hosts-pnp
register 0
action_url /nagios/pnp/index.php?host=$HOSTNAME$
process_perf_data
}
define service{
name services-pnp
register 0
action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
process_perf_data
}
# vim /usr/local/nagios/etc/nagios.cfg /找到下面几行,去# 修改后如下:
833 process_performance_data=1
845 host_perfdata_command=process-host-perfdata
846 service_perfdata_command=process-service-perfdata
# vim /usr/local/nagios/etc/objects/commands.cfg /找到下面的内容,修改如下
# 'process-host-perfdata' command definition
define command{
command_name process-host-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
command_line /usr/local/nagios/libexec/process_perfdata.pl
}
# vim /usr/local/nagios/etc/objects/hosts.cfg /在每个use 后都添加添加services-pnp,如下
define host{
use linux-server,hosts-pnp
host_name peace-nagios
alias nagios
address 192.168.10.246
}
……
# vim /usr/local/nagios/etc/objects/services.cfg /在每个use 后都添加添加services-pnp,如下
define service {
use local-service,services-pnp
host_name peace-nagios
service_description PING
check_command check_ping!100.0,20%!500.0,60%
}
……
# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg /检测没有问题重新启动nagios
# service nagios restart
五、nrpe
1)被监控端
useradd -s /sbin/nologin nagios
tar -zxvf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure
make && make install
chown nagios.nagios /usr/local/nagios/
chown -R nagios.nagios /usr/local/nagios/libexec/
tar -zxvf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure && make all && make install-plugin && make instal-daemon && make install-daemon-config
make install-daemon
make install-daemon-config
# vim /usr/local/nagios/etc/nrpe.cfg /编辑nrpe,定义命令
allowed_hosts=192.168.10.246,127.0.0.1
# The following examples use hardcoded command arguments...
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_sda]=/usr/local/nagios/libexec/check_disk -w 20 -c 10 -p /dev/sda
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20 -c 10
#usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d /启动
#/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 /检测是否开启
2)监控端
tar -zxvf nrpe-2.8.1.tar.gz
cd nrpe-2.8.1
./configure && make all && make install-plugin
#/usr/local/nagios/libexec/check_nrpe -H 192.168.10.206 /测试与客户端的连接是否成功
NRPE v2.8.1 /表示OK了
# vim /usr/local/nagios/etc/objects/commands.cfg
define command{
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}
# vim /usr/local/nagios/etc/objects/services.cfg
define service {
use local-service,services-pnp
host_name client-206
service_description users
check_command check_nrpe!check_users
}
define service {
use local-service,services-pnp
host_name client-206
service_description disk
check_command check_nrpe!check_sda
}
define service {
use local-service,services-pnp
host_name client-206
service_description swap
check_command check_nrpe!check_swap
}
#/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
#service nagios restart
3)nrpe常见故障
错误一:/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
CHECK_NRPE: Error - Could not complete SSL handshake
解析办法:配置allowed_hosts=192.168.1.100,127.0.0.1,然后kill进程再重启就OK了
错误二:/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1
Connection refused by host
解析办法:Nrpe进程没有启动
六、飞信报警
mkdir /usr/local/fetion
cd /usr/local/fetion/
cp /tools/fetion .
cp /tools/linuxso_20101113.rar .
unrar x linuxso_20101113.rar
chmod +x fetion
./fetion
#/usr/local/fetion/fetion --mobile=15801093291 --pwd=l147258 --to=15801093291 --msg-utf8=测试 /测试飞信,只要输入验证码,下载下来在输入。
SIP-C/4.0 280 Send SMS OK
T: sip:338658633@fetion.com.cn;p=6911
I: 2
Q: 1 M
L: 114
D: Thu, 09 Feb 2012 00:07:48 GMT
XI: E63BC47E056E2D8149F3D435F4F18F6
这样就OK了
# vim /usr/local/nagios/etc/objects/commands.cfg /定义服务和主机的内容
define command{
command_name notify-service-by-sms
command_line /usr/local/fetion/fetion --mobile=15801093291 --pwd=l147258 --to=$CONTACTPAGER$ --msg-utf8="service $HOSTADDRESS$ error "
}
define command{
command_name notify-host-by-sms
command_line /usr/local/fetion/fetion --mobile=15801093291 --pwd=l147258 --to=$CONTACTPAGER$ --msg-utf8="HOST error "
}
# vim /usr/local/nagios/etc/objects/templates.cfg /修改联系人的定义
define contact{
name generic-contact
……
service_notification_commands notify-service-by-email,notify-service-by-sms
host_notification_commands notify-host-by-email,notify-service-by-sms
……
# vim /usr/local/nagios/etc/objects/contacts.cfg /定义接收的手机,多个以,分割
define contact{
contact_name nagiosadmin
use generic-contact
alias Nagios Admin
email nagios@localhost
pager 15801093291
}
转载于:https://blog.51cto.com/haoge0yes/779367