当前位置首页 > Apache知识

Centos部署nagios+apache实现服务器监控

阅读次数:223 次  来源:admin  发布时间:

agios是 一款功能强大的网络监视工具,它可以有效的监控windows、linux、unix主机状态以及路由器交换机的网络设置,打印机工作状态等,并将状态出 现异常的服务及时以邮件、msn短信等形式第一时间通告管理员。由于它是一款遵循GPLv2的开源网络监控软件,以其出色的性能低廉的使用成本,深受广大 用户的好评。

2.安装前提

2. 1确定是否有以下组件:

gcc glibc glibc-common gd gd-devel xinetd openssl-devel

roc-devel pcre-devel perl libxml2-devel

直接通过yum安装:

yum install -y gcc glibc glibc-common gd gd-devel xinetd openssl-devel proc-devel pcre-devel perl libxml2-devel

3.安装nagios,nagios-plugi

创建nagios用户

# adduser nagio

安装nagio

# tar xvf nagios-cn-3.2.0.tar

# cd nagios-cn-3.2.0

# ./configure –prefix=/usr/local/nagio

# make all

# make install

# make install-init

# make install-commandmode

# make install-config

安装nagios-plugi

# tar xvf nagios-plugins-2.0.tar.gz

# cd nagios-plugins-2.0

# ./configure –prefix=/usr/local/nagio

# make && make install

4.安装apache

# tar xvf httpd-2.4.9.tar.gz

#cd httpd-2.4.9

#./configure --prefix=/usr/local/apache2

# make && make install

如果安装提示缺少apr和apr-util包

#tar xvf apr-1.5.0.tar.gz

#cd apr-1.5.0

#./configure –prefix=/usr/local/apr

#make && make install

#tar xvf apr-1.5.0.tar.gz

#cd apr-1.5.0

#./configure –prefix=/usr/local/apr-util –with-apr=/usr/local/apr

#make && make install

安装好了之后在安装apache

#./configure --prefix=/usr/local/apache2 –with-apr-util=/usr/local/apr-util

#make && make install

5.安装ph

#tar xvf php-5.4.10.tar.gz

#cd php-5.4.10

#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2/bin/apx

#make && make install

6.配置apahe

找到apache 的配置文件/usr/local/apache2/conf/httpd.conf

找到:

User daemo

Group daemo

修改为

User nagio

Group nagio

然后找到

lt;IfModule dir_module>

DirectoryIndex index.html

lt;/IfModule>

修改为

lt;IfModule dir_module>

DirectoryIndex index.html index.ph

AddType application/x-httpd-php .ph

lt;/IfModule>

为了安全起见,一般情况下要让nagios 的web 监控页面必须经过授权才能访问,这需要增加验证配置,即在httpd.conf 文件最后添加如下信息:

#setting for nagio

ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"

lt;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

lt;/Directory>

Alias /nagios "/usr/local/nagios/share"

lt;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

lt;/Directory>

创建apache目录验证文件

# /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd ssa

7.启动apache和nagio

启动apache

# /usr/local/apache2/bin/apachectl start

启动nagio

Service nagios start

Centos部署nagios+apache实现服务器监控

agios登录

Centos部署nagios+apache实现服务器监控

agios首页

8.配置nagio

Nagios安装完毕后,需要配置nagios,配置文件在/usr/local/nagios/etc目录下。

文件名或目录名

用途

cgi.cfg

控制CGI访问的配置文件

agios.cfg

Nagios 主配置文件

resource.cfg

变量定义文件,又称为资源文件,在些文件中定义变量,以便由其他配置文件引用,如$USER1$

object

objects 是一个目录,在此目录下有很多配置文件模板,用于定义Nagios 对象

objects/commands.cfg

命令定义配置文件,其中定义的命令可以被其他配置文件引用

objects/contacts.cfg

定义联系人和联系人组的配置文件

objects/localhost.cfg

定义监控本地主机的配置文件

objects/printer.cfg

定义监控打印机的一个配置文件模板,默认没有启用此文件

objects/switch.cfg

定义监控路由器的一个配置文件模板,默认没有启用此文件

objects/templates.cfg

定义主机和服务的一个模板配置文件,可以在其他配置文件中引用

objects/timeperiods.cfg

定义Nagios 监控时间段的配置文件

objects/windows.cfg

监控Windows 主机的一个配置文件模板,默认没有启用此文件

假设我们nagios安装在IP为192.168.195.136的服务器上,需要监控192.168.195.136服务器,将对配置文件做以下修改:

修改localhost.cfg

define host{

use linux-server

host_name Nagios-Server

alias Nagios-Server

address 127.0.0.1

}

define hostgroup{

hostgroup_name linux-server

alias Linux Server

members Nagios-Server

}

define service{

use local-service

host_name Nagios-Server

ervice_description PING

check_command check_ping!100.0,20%!500.0,60%

}

define service{

use local-service

host_name Nagios-Server

ervice_description Root Partitio

check_command check_local_disk!20%!10%!/

}

define service{

use local-service

host_name Nagios-Server

ervice_description Current User

check_command check_local_users!20!50

}

define service{

use local-service

host_name Nagios-Server

ervice_description Total Processe

check_command check_local_procs!250!400!RSZDT

}

define service{

use local-service,srv-

host_name Nagios-Server

ervice_description Current Load

check_command check_local_load!5.0,4.0,3.0!10.0,6.0,4.0

}

define service{

use local-service

host_name Nagios-Server

ervice_description Swap Usage

check_command check_local_swap!20!10

}

define service{

use local-service

host_name Nagios-Server

ervice_description SSH

check_command check_ssh

otifications_enabled 0

}

define service{

use local-service

host_name Nagios-Server

ervice_description HTTP

check_command check_htt

otifications_enabled 0

}

新增hosts.cfg

define host{

use linux-server

host_name test-Linux

alias test-Linux

address 192.168.195.137

}

新增service.cfg

define service{

use local-service

host_name test-Linux

ervice_description check-host-alive

check_command check-host-alive

}

修改nagios.cfg

添加配置文件hosts.cfg,service.cfg

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg

cfg_file=/usr/local/nagios/etc/objects/service.cfg

检测修改的配置

/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg

检测无误后,重新启动nagios服务

Service nagios restart

Centos部署nagios+apache实现服务器监控

agios监控页

注意事项:

1) 如果设置的用户名不是nagiosadmin,会存在权限问题,不能访问监控页面,需要修改cgi.cfg,在nagiosadmin后追加自己设置的用户名。

Centos部署nagios+apache实现服务器监控

agios登录用户权限配置

2)Nagios乱码问题

主要是apache没有开启cgi脚本的缘故,进入apache的主配置文件httpd.conf;

#LoadModule cgid_module modules/mod_cgid.so;

#LoadModule actions_module modules/mod_actions.so;

将上面2行的#去掉,重启apache就OK了。

上一篇:Centos部署Loki日志聚合系统
下一篇:phpstudynginx下curl请求本地其他项目