运维监控利器Nagios之:Nagios的日常维护和管理

简介:

1、验证Nagios配置文件的正确性

  nagios在验证配置文件方面做的非常到位,只需通过一个命令即可完成:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Nagios提供的这个验证功能非常有用,在错误信息中通常会打印出错误的配置文件以及文件中的哪一行,这使得nagios的配置变得非常容易,报警信息通常是可以忽略的,因为一般那些只是建议性的。
2、 启动与停止nagios
(1)启动nagios
通过初始化脚本启动nagios
/etc/init.d/nagios start
或者
Service nagios start
     手工方式启动nagios
通过nagios命令的“-d”参数来启动nagios守护进程:
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
 
(2)关闭nagios
   通过初始化脚本关闭nagios服务
/etc/init.d/nagios stop
或者
Service nagios stop
     通过kill方式关闭nagios
 kill <nagios_pid>
 
2、 启动与停止nagios
   通过初始化脚本来重启nagios
/etc/rc.d/init.d/nagios reload
/etc/rc.d/init.d/nagios restart
通过web监控页重启nagios,如下图所示:

(3)重启nagios
     手工方式平滑重启
kill -HUP <nagios_pid> ,下图是一个主机状态图:

3、 nagios故障通知
如下图所示:

 
4、 nagios性能分析图表
 
(1)nagios性能分析图表的作用
     Nagios对服务或主机监控的是一个瞬时状态,有时候系统管理员如果需要了解主机在一段时间内的性能以及服务的响应状态,并且形成图表时,就需要通过查看日志数据来分析,但是这种方式不但繁琐,而且抽象,不过幸运的是,PNP可以帮助我们来完成这个工作。
 
(2) PNP的概念与安装环境
     PNP是一个小巧的开源软件包,它基于PHP和PERL,PNP可以利用rrdtool工具将Nagios采集的数据绘制成相关的图表,然后显示主机或者服务在一段时间内的运行状况。
PNP官方网站为:http://www.pnp4nagios.org
如果要安装PNP,首先需要安装如下环境:
1:整合后的apache和PHP环境,需支持GD\zlib\jpeg
2:安装rrdtool工具
3:安装perl
 
(3)安装PNP
 
RRDtool是一个图表生成工具,可以从http://www.mrtg.org/rrdtool/获得信息。
 
这里下载的版本是rrdtool-1.4.5.tar.gz,安装过程如下:
 
[root@nagios rrdtool]# tar zxvf rrdtool-1.4.5.tar.gz   
[root@nagios rrdtool]# cd rrdtool-1.4.5 
[root@nagios rrdtool-1.4.5]# ./configure --prefix=/usr/local/rrdtool 
[root@nagios rrdtool-1.4.5]# make 
[root@nagios rrdtool-1.4.5]# make install 
 
接着安装PNP,这里下载的版本是pnp-0.4.13.tar.gz,安装过程如下:
[root@nagios pnp]#tar -xvzf pnp-0.4.13.tar.gz 
[root@nagios pnp]#cd pnp-0.4.13 
[root@nagios pnp-0.4.13]#./configure --with-nagios-user=nagios \ 
--with-nagios-group-nagios \ 
--with-rrdtool=/usr/local/rrdtool/bin/rrdtool \ 
--with-perfdata-dir=/usr/local/nagios/share/perfdata 
[root@nagios pnp-0.4.13]#make all 
[root@nagios pnp-0.4.13]#make install 
[root@nagios pnp-0.4.13]#make install-config 
[root@nagios pnp-0.4.13]#make install-init
 
安装完成,PNP默认文件放置情况如下:
General Options:
-----------------------------       -------------------
  Nagios user/group:                nagios nagios
  Install directory:                /usr/local/nagios
  HTML Dir:                         /usr/local/nagios/share/pnp
  Config Dir:                       /usr/local/nagios/etc/pnp
  Path to rrdtool:                  /usr/local/bin/rrdtool (Version 1.4.5)
  RRDs Perl Modules:                *** NOT FOUND ***
  RRD Files stored in:              /usr/local/nagios/share/perfdata
  process_perfdata.pl Logfile:      /usr/local/nagios/var/perfdata.log
  Perfdata files (NPCD) stored in:  /usr/local/nagios/var/spool/perfdata/
-------------------------------------------------------------------------
 
(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 *
② 修改process_perfdata.cfg文件
vi /usr/local/nagios/etc/pnp/process_perfdata.cfg
LOG_FILE = /usr/local/nagios/var/perfdata.log 
# Loglevel 0=silent 1=normal 2=debug 
LOG_LEVEL = 2 
这里将日志级别改为2,即为debug模式。
 
(5)修改nagios配置文件
①增加小太阳标示
修改templates.cfg,增加一个定义PNP的hosts和services
define host {
        name       hosts-pnp
        register   0
        action_url /nagios/pnp/index.php?host=$HOSTNAME$
        process_perf_data               1
 
}
define service {
        name       services-pnp
        register   0
        action_url /nagios/pnp/index.php?host=$HOSTNAME$&srv=$SERVICEDESC$
        process_perf_data               1
 
}
②修改nagios.cfg
找到如下几项,去掉注释,修改后信息如下:
process_performance_data=1 
host_perfdata_command=process-host-perfdata 
service_perfdata_command=process-service-perfdata
 
③修改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
}
 
 
④修改hosts.cfg文件和services.cfg文件
 
define host{
        use                     linux-server,hosts-pnp
        host_name               web
        alias                   ixdba-web
        address                 192.168.12.251
        }
 
define host{
        use                     linux-server,hosts-pnp
        host_name               mysql
        alias                   ixdba-mysql
        address                 192.168.12.237
        }
 
define service{
        use                             local-service,services-pnp
        host_name                       mysql
        service_description             SSH
        check_command                   check_ssh
        }
define service{
        use                             local-service,services-pnp
        host_name                       web
        service_description             http
        check_command                   check_http
        }
 
(5)测试PNP功能
 
所有配置完成之后,重新检查nagios配置文件是否正确,然后重启nagios
/etc/init.d/nagios restart
如果配置正确,此时就会生成响应主机的pnp文件
[root@nagios web]# pwd
/usr/local/nagios/share/perfdata/web
[root@gaojf web]# ls
http.rrd  http.xml  PING.rrd  PING.xml  SSHD.rrd  SSHD.xml
最后打开网页:
打开网页http://IP/nagios,选择主机选项,然后点击小太阳就可以看到图表,或者访问http://ip/nagios/pnp也可以直接访问图表信息。如下图所示:

未完待续!





















本文转自南非蚂蚁51CTO博客,原文链接: http://blog.51cto.com/ixdba/754561,如需转载请自行联系原作者





相关文章
|
18天前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全方位实践
本文深入探讨了构建高效运维体系的关键要素,从监控、日志管理、自动化工具、容器化与微服务架构、持续集成与持续部署(CI/CD)、虚拟化与云计算以及安全与合规等方面进行了全面阐述。通过引入先进的技术和方法,结合实际案例和项目经验,为读者提供了一套完整的运维解决方案,旨在帮助企业提升运维效率,降低运营成本,确保业务稳定运行。
|
17天前
|
机器学习/深度学习 运维 Prometheus
构建高效运维体系:从自动化部署到智能监控的全方位实践
在当今数字化时代,企业对运维效率和稳定性的要求越来越高。本文将探讨如何构建一个高效的运维体系,从自动化部署、持续集成与持续交付(CI/CD)、智能监控、故障管理以及数据驱动决策等方面进行深入分析和实践指导。通过这些方法,企业可以实现更快速、更可靠的软件发布和问题解决,提升整体运营效率。
|
12天前
|
敏捷开发 运维 Prometheus
构建高效运维体系:从基础架构到自动化管理
本文探讨了如何通过优化基础架构、引入自动化工具和流程,以及加强团队协作,构建高效的运维体系。通过案例分析和实践建议,帮助运维人员实现系统的稳定性、可靠性和可维护性。
|
7天前
|
机器学习/深度学习 运维 Cloud Native
构建高效运维体系:从自动化到智能化的演进之路
在当今数字化时代,运维作为信息技术的重要支柱,其效率与创新能力直接关系到企业信息系统的稳定性和业务连续性。本文将探讨如何通过技术手段,实现运维从传统手工操作向自动化、智能化的转变,进而构建一个高效、可靠的运维体系。我们将从自动化工具的应用开始,逐步深入到智能运维的实践,最终展望云原生架构下的运维未来趋势。
|
9天前
|
运维 Ubuntu 应用服务中间件
自动化运维:使用Ansible进行配置管理和任务自动化
【9月更文挑战第27天】在现代IT基础设施中,自动化运维是提高效率、减少人为错误和确保系统一致性的关键。本文将介绍如何使用Ansible,一个流行的开源IT自动化工具,来简化日常的运维任务。我们将探索Ansible的核心概念,包括它的架构、如何安装和使用它,以及一些实际的使用案例。无论你是新手还是有经验的运维专家,这篇文章都会提供有价值的见解和技巧,以帮助你更好地利用Ansible实现自动化。
下一篇
无影云桌面