#以前做的笔记,现在自己都看不懂了,日后用再研究吧。
一、Nagios服务端安装:
基础支持套件:
#rpm -q gcc glibc glibc-common gd gd-devel xinetd openssl-devel
如果系统中没有这些套件,使用yum 安装
#yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel #Yum install -y httpd php php-gd
1.2创建用户和组:
Useradd -m Nagios Groupadd nagcmd Usermod –a –G nagcmd Nagios Usermod –a –G nagcmd apache
Nagios 和Apache可以访问同一个目录。
2.安装nagios
tar zxvf nagios-3.4.3.tar.gz ./configure--prefix=/usr/local/nagios--with-command-group=nagcmd makeall makeinstall makeinstall-init makeinstall-commandmode makeinstall-config
生成用于登陆nagios的用户密码:
#在上面的配置中,指定了目录验证文件htpasswd,下面要创建这个文件: htpasswd-c /usr/local/nagios/etc/htpasswd.users darren
修改nagios报警发送邮件地址(需要安装sendmail)
vi /usr/local/nagios/etc/objects/contacts.cfg+35
设置开机启动
chkconfig--add nagios chkconfig--level 35 nagios on chkconfig--list Nagios
3.安装nagios插件
tarzxvf nagios-plugins-1.4.16.tar.gz cdnagios-plugins-1.4.16 ./configure –with-nagios-user=nagios–with-nagios-group=nagios --enable-perl-module make&& make install
4.安装nrpe
tar zxvf nrpe-2.12.tar.gz cd nrpe-2.12.tar.gz ./configure make all make install-plugin make install-daemon make install-daemon-config
启动nagios之前先检查一下配置文件nagios.cfg
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
启动nagios:
/usr/local/nagios/bin/nagios-d /usr/local/nagios/etc/nagios.cfg
二.Nagios客户端安装
后面编译的软件有perl程序,这里要提前设置一下环境变量 echo'export LC_ALL=C'>> /etc/profile tail-1 /etc/profile source/etc/profile
开始时间同步服务
echo '#time sync by darren at 2016-2-1'>>/var/spool/cron/root echo'*/10 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null2>&1'>>/var/spool/cron/root
查看配置文件
crontab-l */10 * * * * /usr/sbin/ntpdatepool.ntp.org >/dev/null 2>&1 /usr/sbin/ntpdatepool.ntp.org
添加nagios客户端用户
groupaddnagios /usr/sbin/addusernagios -M -s /sbin/nologin
1.安装nagios-plugins
tar zxvf nagios-plugins-1.4.16.tar.gz cd nagios-plugins-1.4.16 ./configure\ --with-nagios-user=nagios--with-nagios-group=nagios --enable-perl-modules make && make install
检查安装:
ls /usr/local/nagios/libexec/ | wc -l
2.安装nrpe
tar-zxvf nrpe-2.15.tar.gz cdnrpe-2.15 ./configure makeall makeinstall-plugin makeinstall-daemon make install-daemon-config
3.安装其他相关插件【iostat】
tar -zxvf Params-Validate-0.91.tar.gz cd Params-Validate-0.91 perl Makefile.PL make make install cd ..
tar -zxvf Class-Accessor-0.31.tar.gz cd Class-Accessor-0.31 perl Makefile.PL make make install cd ..
tar zxvf Config-Tiny-2.12.tar.gz cd Config-Tiny-2.12 perl Makefile.PL make make install cd ..
tar zxvf Math-Calc-Units-1.07.tar.gz cd Math-Calc-Units-1.07 perl Makefile.PL make make install cd ..
tar zxvf Regexp-Common-2010010201.tar.gz cd Regexp-Common-2010010201 perl Makefile.PL make make install cd ..
tar zxvf Nagios-Plugin-0.34.tar.gz cd Nagios-Plugin-0.34 perl Makefile.PL make make install cd ..
---------------Dear,我是分隔符-----------------
#for monitor iostat
yum install sysstat -y
这个命令是安装系统性能分析工具,监控系统性能时程序或脚本会调用这些工具。
sar是监控物理组件的关键
*配置开发的几个脚本插件
cp /check_memory.pl或iostat.pl /usr/local/nagios/libexec check_memory和check_iostat授权为755 yum install dos2unix -y dos2unix/usr/local/nagios/libexec/check_memory.pl dos2unix/usr/local/nagios/libexec/check_iostat
配置nrpe客户端允许监控的主机ip:
vim /usr/local/nagios/etc/nrpe.cfg +79文件,在参数allowed_hosts后添加监控机ip(多个ip以逗号分隔。
allowed_hosts=127.0.0.1,10.1.1.19
配置nrpe监控项目:
vim /usr/local/nagios/etc/nrpe.cfg command[check_load]=/usr/local/nagios/libexec/check_load-w 15,10,5 -c 30,25,20 command[check_mem]=/usr/local/nagios/libexec/check_memory.pl-w 10% -c 3% command[check_disk]=/usr/local/nagios/libexec/check_disk-w 7% -p / command[check_swap]=/usr/local/nagios/libexec/check_swap-w 20% -c 10% command[check_iostat]=/usr/local/nagios/libexec/check_iostat-w 6 -c 10
启动nrpe守护进程:
/usr/local/nagios/bin/nrpe-c /usr/local/nagios/etc/nrpe.cfg –d 将以上命令加入到 /etc/rc.local设置开机启动。 echo‘/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d’ >>/etc/rc.local nrpe默认端口号是5666 netstat –lnt | grep 5666
测试nrpe
/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 NRPEv2.15
正常返回版本信息说明服务正常。
三、配置服务端文件
1. 修改主配置文件nagios.cfg
vi /usr/local/nagios/etc/nagios.cfg cfg_file=/usr/local/nagios/etc/objects/commands.cfg cfg_file=/usr/local/nagios/etc/objects/contacts.cfg cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg cfg_file=/usr/local/nagios/etc/objects/templates.cfg cfg_file=/usr/local/nagios/etc/objects/hosts.cfg cfg_file=/usr/local/nagios/etc/objects/services.cfg chown –R nagios.nagios /usr/local/nagios/etc/
2.修改hosts.cfg配置文件
#vi /usr/local/nagios/etc/object/hosts.cfg
define host{ use linux-server host_name LAMP alias LAMP address 10.1.1.13 } define host{ use linux-server host_name LNMP alias LNMP
address 10.1.1.16 } define hostgroup{ hostgroup_name hostgroup alias hostgroupalias members LAMP,LNMP }
##################################################
3.修改services.cfg配置文件:
vi/usr/local/Nagios/etc/object/services.cfg
define service{ use generic-service host_name LAMP,LNMP service_description check_load check_command check_nrpe!check_load max_check_attempts 2 normal_check_interval 4 retry_check_interval 4 check_period 24x7 notification_interval 360 notification_period 24x7 contact_groups admins process_perf_data 1 }
define service{ use generic-service host_name LAMP,LNMP service_description check_disk check_command check_nrpe!check_disk max_check_attempts 2 normal_check_interval 4 retry_check_interval 4 check_period 24x7 notification_interval 360 notification_period 24x7 contact_groups admins process_perf_data 1 }
define service{ use generic-service host_name LAMP,LNMP service_description check_disk check_command check_nrpe!check_local_swap max_check_attempts 2 normal_check_interval 4 retry_check_interval 4 check_period 24x7 notification_interval 360 notification_period 24x7 contact_groups admins process_perf_data 1 }
define service{ use generic-service host_name LAMP,LNMP service_description check_http check_command check_nrpe!check_http max_check_attempts 2 normal_check_interval 4 retry_check_interval 4 check_period 24x7 notification_interval 360 notification_period 24x7 contact_groups admins process_perf_data 1 }
define service{ use generic-service host_name LAMP,LNMP service_description check_mysql check_command check_nrpe!check_mysql max_check_attempts 2 normal_check_interval 4 retry_check_interval 4 check_period 24x7 notification_interval 360 notification_period 24x7 contact_groups admins process_perf_data 1 }
#############################################################
排错:nagios服务端services.cfg配置文件的check_nrpe!check_disk等于
/usr/localnagios/libexec/check_nrpe–H 10.1.1.13 –c check_disk
可以用来测试客户端的nrpe文件
###############################################################
Nagios services.cfg扩展:
启用cfg_dir=/usr/local/nagios/etc/servers vi /usr/local/nagios/etc/nagios.cfg 添加下面一行: cfg_dir=/usr/local/nagios/etc/servers 清空cfg_file=/usr/local/nagios/etc/objects/services.cfg >/usr/local/nagios/etc/objects/services.cfg 在/usr/local/nagios/etc/servers添加每台主机。 vi /usr/local/nagios/etc/servers/10.1.1.13.cfg
######################################################
define service{ use generic-service host_name LAMP service_description check_disk check_command check_nrpe!check_disk } ###################################################### define service{ use generic-service host_name LAMP service_description check_swap check_command check_nrpe!check_swap }
#####################################################
vi /usr/local/nagios/etc/services/10.1.1.14.cfg
######################################################
define service{ use generic-service host_name LNMP service_description check_disk check_command check_nrpe!check_disk } ###################################################### define service{ use generic-service host_name LNMP service_description check_swap check_command check_nrpe!check_swap }
#####################################################
四、主动监控
监控端口:
测试:
cd /usr/local/nagios/libexec/ ./check_tcp –H 10.1.1.13 –p22
修改配置文件:
cd /usr/local/nagios/etc/objects vi services.cfg
#####################################################
defineservice{ use generic-service host_name LAMP service_description www_80 check_command check_tcp!80 max_check_attempts 2 normal_check_interval 4 retry_check_interval 4 check_period 24x7 notification_interval 360 notification_period 24x7 contact_groups admins process_perf_data 1 }
####################################################
defineservice{ use generic-service host_name LAMP service_description mysql_3306 check_command check_tcp!3306 max_check_attempts 2 normal_check_interval 4 retry_check_interval 4 check_period 24x7 notification_interval 360 notification_period 24x7 contact_groups admins process_perf_data 1 }
###############################################
监控url地址:
测试:
./libexec/check_http -Hwww.baidu.com -C 30,14
修改配置文件:
cd /usr/local/nagios/etc/objects vi services.cfg
#####################################################
defineservice{ use generic-service host_name LAMP service_description www.darrenwang.com
#############---监控普通域名—www.darren.com---#####################
check_command check_http
#######---监控特殊域名--- www.darren.com/darren.test.html--#########
#check_command check_http! -H -u /darren/test.html
####--监控特殊域名---www.darren.com/darren/index.php/@%2e/j4*&----#########
#check_command check_http!-H -u“darren/index.php/@%2e/j4”
#带特殊字符的需要用双引号
max_check_attempts 2 normal_check_interval 4 retry_check_interval 4 check_period 24x7 notification_interval 360 notification_period 24x7 contact_groups admins process_perf_data 1 }
####################################################
模板的作用:监控不同主机同一服务
转载于:https://blog.51cto.com/xiaodongge/1919491