接触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 即可
附上通过脚本安装后的截图:
另外有几个点需要注意:
(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 脚本,一方面可以方便自己的学习工作,一方面对自己的技术也是一种锻炼。如果大家有其他实用的脚本,也可以分享出来,共同学习哦~
今天看了一句话,挺感动的:未来的你,肯定会感谢现在努力的你!
正如前阵子看的中国合伙人中,孟晓骏在那本英汉词典中夹的书签:有天你会让我嫉妒的!
写给未来的自己~加油吧~