Nagios 简介
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站人员,在状态恢复后发出正常的邮件或短信通知。
Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。
Nagios监控的功能
-
本机私有资源 CPU负载,内存占用情况,进程数,磁盘利用率等
-
监控网络服务 SMTP,HTTP,MySQL,FTP,PING等
-
当服务或主机问题产生与解决时将告警发送给联系人(通过EMail、短信、用户定义方式)
-
服务依赖监控 比如搭建LAMP平台后,当其中的宕机后,Apache服务器无法访问。
-
让nagios服务运行时调用自定义监控脚本做监控
Nagios 监控服务器的搭建
安装软件包以及依赖包
需要的软件包如下:
nagios-4.2.4 nagios-plugins-2.1.4 nrpe-3.0.1 httpd php
依赖包及环境如下:
gcc gcc-c++
创建进程所需用户:
[root@www.wulaoer.org]# useradd nagios [root@www.wulaoer.org]# groupadd nagcmd
安装软件包nagios:
[root@www.wulaoer.org]# yum -y install gcc gcc-c++ [root@www.wulaoer.org]# tar -zxvf nagios-4.2.4.tar.gz //解包 [root@www.wulaoer.org]# cd nagios-4.2.4/ [root@www.wulaoer.org]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --with-command-user=nagios --with-command-group=nagcmd //配置 [root@www.wulaoer.org]# make all //安装 [root@www.wulaoer.org]# make install [root@www.wulaoer.org]# make install-init [root@www.wulaoer.org]# make install-commandmode [root@www.wulaoer.org]# make install-config [root@www.wulaoer.org]# make install-webconf [root@www.wulaoer.org]# make install-exfoliation [root@www.wulaoer.org]# make install-classicui
部署服务的运行环境:
[root@www.wulaoer.org]# echo "cc" > /var/www/html/index.html //静态网页主页 [root@www.wulaoer.org]# vim /var/www/html/index.php //动态网页主页 <?php phpinfo(); ?>
安装软件包nagios-plugins:
[root@www.wulaoer.org]# tar -xf nagios-plugins-2.1.4.tar.gz [root@www.wulaoer.org]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd [root@www.wulaoer.org]# make [root@www.wulaoer.org]# make install
Nagios平台添加web管理用户:
[root@www.wulaoer.org]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin //根据提示输入两次密码
重启nagios和httpd服务
[root@www.wulaoer.org]# systemctl restart httpd [root@www.wulaoer.org]# systemctl restart nagios
客户端访问Nagios平台如下:
配置文件详解
-
Nagios文件安装目录
默认安装目录为:/usr/local/nagios -/usr/local/nagios/bin 程序命令 -/usr/local/nagios/libexec 监控插件以及工具 -/usr/local/nagios/sbin cgi脚本 -/usr/local/nagios/share Nagios网页目录 -/usr/lcoal/nagios/var Nagios运行数据
-
配置文件详解
-
配置文件目录为:/usr/local/nagios/etc/ -cgi.cfg cgi程序配置 -nagios.cfg 服务主配置文件 -resource.cfg 变量配置
-
监控对象及模版配置:/usr/local/nagios/etc/objects
-commands.cfg 监控命令配置 -localhost.cfg 监控本机对象设置 -contacts.cfg 报警收件邮箱设置 -timeperids.cfg 监控时间模版 -templates.cfg 监控方式模版
使用监控插件
监控的过程以及原理:
服务启动时自动调用监控插件,调用插件时,管理者可以设置监控插件的警告值和错误值,监控插件把获取到的数据和管理者定义的警告和错误值比较,根据比较结果返回监控状态:
若 获取到的数据 < 警告值 返回监控状态 OK 若 获取到的数据 > 警告值 并且 < 错误值 返回监控状态 WARNING 若 获取到的数据 > 错误值 返回监控状态 CRITICAL
使用插件帮助信息:./check_* -help
[root@www.wulaoer.org]# cd /usr/local/nagios/libexec/ [root@www.wulaoer.org]# ./check_users -w 3 -c 5 //监控本机登陆用户,3个报警5个报错 [root@www.wulaoer.org]# ./check_http -H localhost //监控本机httpd服务 [root@www.wulaoer.org]# ./check_tcp -H localhost -p 3306 //监控本机数据库服务端口tcp协议
监控实战
1. 监控本地
配置监控重点:
1.修改commonds.cfg 增加监控命令
2.修改localhost.cfg 添加监控对象
操作如下:
-
添加增加命令
[root@www.wulaoer.org]*# vim /usr/local/nagios/etc/objects/commands.cfg* define command { command_name check_local_ftp command_line $USER1$/check_ftp -H localhost } define command { command_name check_local_boot command_line $USER1$/check_disk -w 50% -c 25% -p /boot }
-
添加监控对象
[root@www.wulaoer.org]# vim /usr/local/nagios/etc/objects/localhost.cfg define service{ use local-service host_name localhost service_description ftp check_command check_local_ftp } define service{ use local-service host_name localhost service_description boot check_command check_local_boot }
客户端访问如下:
2.监控远程主机公有数据
要求:配置远程主机192.168.4.10 apache服务器运行状态
1、配置远程主机192.168.4.10 apache服务器
[root@www.wulaoer.org]*# yum -y install httpd* [root@cc]*# echo "cc" > /var/www/html/index.html* [root@www.wulaoer.org]*# systemctl restart httpd*
2、在监控服务器主配置文件里加载监控远程主机的配置文件
[root@www.wulaoer.org]*# vim /usr/local/nagios/etc/nagios.cfg* cfg_file=/usr/local/nagios/etc/objects/server10.cfg
3、在监控服务器上创建监控远程主机192.168.4.10的配置文件 server10.cfg
[root@www.wulaoer.org]*# vim server10.cfg* define host { use linux-server host_name server-10 address 192.168.4.10 } define service { use local-service host_name server-10 service_description httpd check_command check_10_httpd }
4、在监控命令文件里添加监控远程主机的监控命令
[root@www.wulaoer.org]*# vim command.cfg* define command{ command_name check_10_httpd command_line $USER1$/check_http -H 192.168.4.10 }
5、检查语法错误:
[root@www.wulaoer.org]*# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg*
6、重启服务
[root@www.wulaoer.org]*# /etc/init.d/nagios stop* [root@www.wulaoer.org]*# /etc/init.d/nagios start*
3.监控远程主机私有数据
要求:监控远程主机boot使用量,登陆用户数,进程数
配置远程主机192.168.4.10
1、安装插件监控本地私有数据
[root@www.wulaoer.org]*# tar -xf nagios-plugins-2.1.4.tar.gz* [root@www.wulaoer.org]*# ./configure* [root@www.wulaoer.org]*# make* [root@www.wulaoer.org]*# make install*
2、安装nrpe软件
[root@www.wulaoer.org]*# useradd nagios* [root@www.wulaoer.org]*# yum -y install openssl-devel //加密传输* [root@www.wulaoer.org]*# tar -xf nrpe-3.0.1.tar.gz* [root@www.wulaoer.org]*# cd nrpe-3.0.1* [root@www.wulaoer.org]*# ./configure* [root@www.wulaoer.org]*# make all* [root@www.wulaoer.org]*# make install* [root@www.wulaoer.org]*# make install-config* [root@www.wulaoer.org]*# make install-init*
3、修改nrpe服务的配置文件
[root@www.wulaoer.org]*# vim /usr/local/nagios/etc/nrpe.cfg* command[nrpe_check_users]=/usr/local/nagios/libexec/check_users -w 3 -c 4 command[nrpe_check_boot]=/usr/local/nagios/libexec/check_disk -w 50% -c 25% /boot command[nrpe_check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
4、启动服务:默认端口为5666
[root@www.wulaoer.org]*# systemctl restart nrpe* [root@www.wulaoer.org]*# netstat -antup | grep 5666*
配置监控服务器
1、安装nrpe服务的check_nrpe插件
[root@www.wulaoer.org]*# yum -y install openssl-devel* [root@www.wulaoer.org]*# tar -xf nrpe-3.0.1.tar.gz* [root@www.wulaoer.org]*# cd nrpe-3.0.1/* [root@www.wulaoer.org]*# ./configure* [root@www.wulaoer.org]*# make* [root@www.wulaoer.org]*# make install*
2、把插件定义监控命令
[root@www.wulaoer.org]*# vim commands.cfg* define command{ command_name check_20_users command_line $USER1$/check_nrpe -H 192.168.4.20 -p 5666 -c nrpe_check_users } define command{ command_name check_20_boot command_line $USER1$/check_nrpe -H 192.168.4.20 -p 5666 -c nrpe_check_boot } define command{ command_name check_20_procs command_line $USER1$/check_nrpe -H 192.168.4.20 -p 5666 -c nrpe_check_total_procs }
3、在server10.cfg 中调用定义好的监控命令
[root@www.wulaoer.org]*# vim server10.cfg* define service{ use local-service host_name server20 service_description users check_command check_20_users!nrpe_check_users } define service{ use local-service host_name server20 service_description boot check_command check_20_boot!nrpe_check_boot } define service{ use local-service host_name server20 service_description process check_command check_20_procs!nrpe_check_total_procs }
4、检查配置文件是否有语法错误
[root@www.wulaoer.org]*# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg*
5、重启服务
[root@www.wulaoer.org]*# /etc/init.d/nagios stop* [root@www.wulaoer.org]*# /etc/init.d/nagios start*
6、客户端测试监控服务配置结果
Nagios总结
-
-
缺点: 预先设置好报警值和错误值。当监控结果越来越接近该值时,也不会报告。
-
安装软件包注意事项:
-
安装软件包的依赖包
-
配置时创建并指定包安装位置以及进程属主和属组
-
-
配置注意需要使用的配置文件:
-
commands.cfg
-
localhost.cfg
-
自定义的远程监控主机的配置文件
-
若是监控远程主机,则需要在nagios服务的主配置文件将远程主机配置文件添加进去:cfg_file=/usr/local/nagios/etc/objects/配置文件名.cfg
-
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏