运维监控利器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,如需转载请自行联系原作者





相关文章
|
8天前
|
运维 Ubuntu Devops
自动化运维工具的魅力:Ansible入门
【9月更文挑战第5天】在快速变化的IT世界里,自动化运维不再是可选项,而是必需品。Ansible,一款简单却强大的自动化工具,正成为众多DevOps工程师的首选。本文将带你了解Ansible的基本概念、安装步骤以及如何编写简单的Playbook,从而开启你的自动化之旅。
57 35
|
5天前
|
存储 弹性计算 运维
自动化监控和响应ECS系统事件
阿里云提供的ECS系统事件用于记录云资源信息,如实例启停、到期通知等。为实现自动化运维,如故障处理与动态调度,可使用云助手插件`ecs-tool-event`。该插件定时获取并转化ECS事件为日志存储,便于监控与响应,无需额外开发,适用于大规模集群管理。详情及示例可见链接文档。
|
1天前
|
机器学习/深度学习 运维 监控
构建高效运维体系:从自动化到智能化的演进
在当今信息技术飞速发展的时代,运维领域正经历着从传统手动操作向高度自动化和智能化转变。本文旨在探讨如何通过集成自动化工具、实施持续集成与持续部署(CI/CD)、采用容器化技术和探索AIOps实践,构建一个高效、可靠的运维体系。我们将分析这些技术如何相互配合,提升运维效率,降低系统故障率,并实现快速响应市场变化的能力。通过案例分析和最佳实践的分享,本文将为IT专业人员提供一套实用的指南,帮助他们在数字化转型的浪潮中,保持运维工作的前瞻性和竞争力。
|
4天前
|
运维 监控 Cloud Native
云原生时代的运维策略:从反应式到自动化
在云计算的浪潮下,运维领域经历了翻天覆地的变化。本文将带你领略云原生时代下的运维新风貌,探索如何通过自动化和智能化手段,实现从传统的反应式运维向主动、智能的运维模式转变。我们将一起见证,这一变革如何助力企业提升效率,保障服务的连续性与安全性,以及运维人员如何适应这一角色的转变,成为云原生时代的引领者。
17 8
|
2天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维的探索之旅:从自动化到人工智能
在数字化浪潮中,运维领域正经历一场革命。本文将带你领略从传统手动操作到自动化脚本,再到集成人工智能的智能运维平台的演变之路。我们将探讨如何通过技术创新提升效率、降低成本并增强系统的可靠性和安全性。文章不仅分享技术演进的故事,还提供了实现智能化运维的实践策略和未来趋势的展望。