接触Nagios 也有一段时间了,个人感觉Nagios 相对来说配置起来还是比较简单的,而且报警功能很强大,图形化也做的还不错。特别是结合了NagioSQL 这个插件之后,直接就是通过一个web端管理Nagios的配置,使其变得更加的简单,快捷。

 

    由于之前也写过相关安装配置的文章,这里就不在累述,只是作为一个汇总,为有需要的朋友提供一个清晰的目录结构:

(1)Nagios 介绍

(2)Nagios 所需LAMP 环境搭建

(3)Nagios 服务器基本安装配置

(4)Nagios 监控客户端外部信息(端口,服务,ping等)
(5)Nagios 监控客户端内部信息(cpu,内存,磁盘空间使用情况等)

(6)配置Pnp4Nagios 进行图表分析

(7)Nagios 实现邮件、短信告警

(8)配置Nagios Web管理端-- NagioSQL

(9)Nagios 监控Windows 2003 服务器

(10)Nagios 监控路由器、交换机 

(11)Nagios 监控mysql 主从同步

(12)交互式添加nagios主机和服务脚本

 

    以上其实都是之前写过的文章,不过没有很好的汇总起来,现在有时间就汇总一下,方便有需要的朋友快速查阅。根据多人反馈,安装上面的过程一步步下来是可以达到最终效果的,但这并不代表说其他人按照上面的步骤来就一定能顺利,可能环境不同,包的版本不同也可能造成其他新的问题。为了避免因为包版本问题导致实验报错,这里我也顺便提供一下,本实验所使用到的所有软件包:

点击下载:http://down.51cto.com/data/699395

 

    如果实验过程还有其他问题的话,欢迎大家提出来交流交流。

       另外,由于最近经常需要重复性的配置搭建类似的环境,于是抽空把配置过程写成了shell 脚本,其中包括LNMP ,LAMP 还有Nagios 的脚本。这里我也附上下载地址:

LAMP : http://down.51cto.com/data/874195

LNMP : http://down.51cto.com/data/872036

 

    下面的脚本,是我根据上述博文将安装配置过程写成shell 脚本。

需要注意的是:

(1) 需要实现下载好相关软件包

(2) 将脚本与软件包放置在同一目录下

(3) 事先配置好yum 

(4) 实验是在关闭iptables和SELinux的情况下进行的

(5) 该脚本运行环境是:CentOS 6.3 最小化安装

 

这里再提一下,本脚本我在这边虚拟机测试过没问题了,但是由于时间精力有限,也没有在其他环境下测试过,不知道跑起来怎么样,如果能看到的朋友,可以参照我上述的博文,根据需要自行修改。

Nagios脚本下载:

http://down.51cto.com/data/874218

里面包括:

auto_nagios_server.sh  (安装和基本配置)

monioutside_info.sh (监控客户端外部信息)

moniinside_infoc.sh (监控客户端内部信息。注意:只有这个脚本是在客户端上运行的!!!)

moniinside_infos.sh (监控客户端内部信息)

pnp.sh (搭建绘图工具)

脚本执行步骤按从上到下进行。配置过程中,需要手动输入需要监控的主机名和IP。

 

注意:经过这几天测试,发现有点脚本在其他环境下运行可能有点小问题,这里提一下:

1、在rhel6.4上运行的时候由于yum 没办法装上freetype.h 导致编译php的时候会报错

解决办法:去掉php 编译 中的--with-freetype-dir  这个参数即可

2、在客户端安装nrpe 的时候,客户端可能没装上ssl包而导致编译安装nrpe的时候报以下错误:

configure: error: cannot find ssl headers

解决办法:在moniinside.infoc.sh  脚本上加上yum -y install openssl-devel 即可

 

附上通过脚本安装后的截图:

Nagios 搭建配置全过程汇总篇(持续更新)_第1张图片

 

Nagios 搭建配置全过程汇总篇(持续更新)_第2张图片

另外有几个点需要注意:

(1) 如果跑完脚本,过程中没有报错,但是Nagios页面却没有显示,尝试手动执行重启apache

 

(2) 需要确保系统中有字体文件,可以通过下面的命令查看:

[root@localhost nagios]# ls /usr/share/fonts/
  simsun_0.ttc  simsun.ttc

这里的simsun 就是宋体,没有字体的话,请自行上传到/usr/share/fonts 目录下,注意名字不要出现中文的。没有字体的话,通过RRDTOOLS 绘图会报错,提示:找不到可用的字体!

 

(3)如果点击小太阳查看图表仍然显示安装页面,可能需要手动做以下操作:

[root@server ~]# mv /usr/local/pnp4nagios/share/install.php 

/usr/local/pnp4nagios/share/install.php.bak

 

编辑nagios.cfg,开启数据接收功能

[root@server ~]# vim /usr/local/nagios/etc/nagios.cfg

process_performance_data=1

enable_environment_macros=1

service_perfdata_command=process-service-perfdata

host_perfdata_command=process-host-perfdata

 

总结:近期写了很多一键安装部署xx的脚本,虽然这个过程有点艰难,但是我却很享受,因为我觉得写这么一个自动安装的脚本思路上并不难,难的是里面需要大量的文本处理,这对复习sed, awk,grep 这些文本处理工具真的有很大的帮助,通过这几个脚本的锻炼后,觉得对这几个工具的使用又更加熟练了。

    有时间,有想法,就多写写shell 脚本,一方面可以方便自己的学习工作,一方面对自己的技术也是一种锻炼。如果大家有其他实用的脚本,也可以分享出来,共同学习哦~

 

今天看了一句话,挺感动的:未来的你,肯定会感谢现在努力的你!

正如前阵子看的中国合伙人中,孟晓骏在那本英汉词典中夹的书签:有天你会让我嫉妒的!

写给未来的自己~加油吧~