Nagios与NConf整合与使用
一. nagios和nconf简介 3
1.nagios简介 3
2.nconf简介 3
二. 实验环境 3
1.安装mysql 3
2.安装apache 4
3.安装php 4
4.配置防火墙和selinux 4
三. Nagios安装配置 4
1.安装基础支持套件 4
2.创建nagios用户和用户组 4
3.编译安装nagios 4
4.安装nagios插件 5
5.配置apache 5
6.创建apche目录验证文件 6
7.配置nagios 6
8.启动apache服务 7
9.nagios安装完成 7
四. nconf安装配置 7
1. 检查/etc/php.ini设置 7
2. 下载安装nconf 7
3. 创建nconf数据库以用户 8
4. 修改相关目录权限 8
5. 设置安全上下文 8
6. 在浏览器中访问 8
7. 安装完毕,整理nconf目录 12
8. 访问nconf: 12
五. nrpe安装配置 13
1.NRPE 工作原理 13
2. 在监控主机上安装check_nrpe插件 14
3. 在被监控主机安装nrpe deamon 14
3.1 新增用户 14
3.2 安装nagios插件 14
3.3修改目录权限 15
3.4 安装nrpe 15
3.5 测试nrpe是否正常工作 15
六. nconf的简单使用 16
1.添加监控设备流程 16
1.1 添加监控设备 16
1.2 添加监控服务 17
1.3 生成nagios配置文件 18
1.4 执行脚本使nagios配置生效 19
1.5 成功配置 19
2. 新增服务流程 19
2.1 上传监控脚本 19
2.2 添加Check命令 19
2.3 添加高级监控服务 20
2.4 使用刚添加的监控服务 22
3. 配置nagios自动部署 23
3.1 修改部署配置文件 23
3.2 修改/etc/sudoers 24
3.3 修改nagios的主配置 24
3.4 修改目录所有者 24
3.5 自动发布 24
3.6 重载nagios配置 25
3.7 成功进行自动部署 25
一.nagios和nconf简介
1.nagios简介
Nagios是一款开源的免费网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知。
Nagios的功能是监控服务和主机,但是他自身并不包括这部分功能,所有的监控、检测功能都是通过各种插件来完成的。
启动Nagios后,它会周期性的自动调用插件去检测服务器状态,同时Nagios会维持一个队列,所有插件返回来的状态信息都进入队列,Nagios每次都从队首开始读取信息,并进行处理后,把状态结果通过web显示出来。
Nagios提供了许多插件,利用这些插件可以方便的监控很多服务状态。安装完成后,在nagios主目录下的/libexec里放有nagios自带的可以使用的所有插件,如,check_disk是检查磁盘空间的插件,check_load是检查CPU负载的,等等。每一个插件可以通过运行./check_xxx –h 来查看其使用方法和功能。打开Nagios官方的文档,会发现Nagios基本上没有什么依赖包,只要求系统是Linux或者其他Nagios支持的系统。不过如果你没有安装apache(http服务),那么你就没有那么直观的界面来查看监控信息了,所以apache姑且算是一个前提条件。
2.nconf简介
NConf是一个用来配置Nagios监控软件的Web工具。它不同于类似的工具,它能够提供企业级功能,如模板、依赖、并能够配置一个大型分布式的Nagios服务器拓扑结构。它可以让你毫不费力地保持一个分布式的Nagios拓扑。具有一个用户友好的GUI,其特点是主机和服务的模板,图形依赖浏览器,多个身份验证模式,一个Nagios配置的提供者,一个CSV文件导入和Perl的数据库API,其数据架构是可定制和可扩展。
二.实验环境
LAMP环境部署
1.安装mysql
# yum install mysql perl mysql-server perl-DBI perl-DBD-MySQL
2.安装apache
# wget
# tar -xvf httpd-2.4.6.tar.bz2
# cd httpd
# ./configure --prefix=/usr/local/apache2
# make&&make install
3.安装php
# wget
# tar -xvf php-5.5.3.tar.bz2
# cd php-5.5.3
#./configure --prefix=/usr/local/php --with-apxs=/usr/local/apache2/bin/apxs --with-mysql
# make&&make install
4.配置防火墙和selinux
# iptables -F
# iptables -X
# iptables -Z
# iptables -P INPUT ACCEPT
# iptables -P OUTPUT ACCEPT
# iptables -P FORWARD ACCEPT
# setenforce 0
三.Nagios安装配置
1.安装基础支持套件
yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel
2.创建nagios用户和用户组
# useradd -s /sbin/nologin nagios
# mkdir /usr/local/nagios
# chown -R nagios:nagios /usr/local/nagios
3.编译安装nagios
# wget
# tar -zxvf nagios-3.5.1.tar.gz
# cd nagios
# ./configure --prefix=/usr/local/nagios
# make all
# make install
# make instal-init
# make install-commandmode
# make install-config
# chkconfig --add nagios
# chkconfig --level 35 nagios on
# chkconfig --list nagios
4.安装nagios插件
#wget
# tar --zxvf nagios-plugins-1.4.16.tar.gz
# cd nagios-plugins-1.4.16
# ./configure --prefix=/usr/local/nagios
# make&&make install
5.配置apache
修改/usr/local/apache2/conf/httpd.conf文件:
将User和Group修改如下:
User nagios
Group nagios
将DirectoryIndex修改如下:
DirectoryIndex index.html index.php
添加以下内容:
AddType application/x-httpd-php .php
为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件新增以下内容:
#setting for nagios
ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"
<Directory "/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios "/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
防止nagios页面乱码,在httpd.conf中新增如下:
AddDefaultCharset utf-8
同时将以下两行的注释去掉:
LoadModule cgid_module modules/mod_cgid.so
LoadModule actions_module modules/mod_actions.so