柴少鹏的官方网站 技术在分享中进步,水平在学习中升华

Centos 6.4 nagios搭建(一)之简单环境搭建

nagios是一款大众熟知的监控软件,可以根据我们自己的需求编写监控策略,可以不同形式的报警,像nagios的介绍,网上很多,这里的主旨是演示安装过程,不是优化和详解就不多做介绍了。

一、环境规划

nagios server:

操作系统:Centos 6.4  IP地址:192.168.1.101

nagios client:

操作系统:Centos 6.4  IP地址:192.168.1.204

操作系统:Centos 6.4  IP地址:192.168.1.205

操作系统:Win7        IP地址:192.168.1.120

二、服务器端环境搭建

注:服务器端的软件安装和客户端的软件有很多相似之处,我服务端写详细点,客户端就简单点了。我很多地方就用汉字代替了,我其他博客里面都有讲,这里就不写的那么详细了。

1. 解决perl编译问题

[root@nagios-server ~]# echo 'export LC_ALL=C' >>/etc/profile#添加环境变量

[root@nagios-server ~]# source /etc/profile  #使环境变量生效

[root@nagios-server ~]# echo $LC_ALL   #查看下环境十分生效
C

2. 暂时先关闭防火墙和彻底关闭selinux

3. 进行时间同步并添加定时任务

4. 安装nagios的基础软件包

yum install gcc glibc-common -y   #安装编译软件

yum install gd gd-devel perl-CPAN -y  #用户php出图

yum install httpd php mysql* php-gd -y #这里就yum安装lamp环境了,也可以选择编译安装,apache加nagios还是比较好的

5.创建用户与用户组

useradd apache

useradd  nagios

groupadd nagcmd

usermod -a -G nagcmd nagios

usermod -a -G nagcmd  apache

6.安装nagios主程序

mkdir /tools

cd /tools

wget  https://assets.nagios.com/downloads/nagioscore/releases/nagios-3.5.1.tar.gz

#其他的版本在:https://www.nagios.org/downloads/nagios-core/thanks/?t=1482057733   找

tar zxf nagios-3.5.1.tar.gz

cd nagios

./configure --with-command-group=nagcmd

make all #编译所有内容

make install #编译安装nagios

make install-init #初始化脚本

make install-commandmode #生成一些命令工具

make install-config #安装生成模板配置文件

make install-webconf  #安装web接口

7. 修改配置文件

[root@nagios-server nagios]# ls -l /etc/httpd/conf.d/nagios.conf
-rw-r–r–. 1 root root 1010 4月  22 23:32 /etc/httpd/conf.d/nagios.conf

#就是生成了这个配置文件,这样我们在IEIP后面输入nagios就能访问我们的nagiosweb页面了

8. 创建登录的账号密码

htpasswd -cb /usr/local/nagios/etc/htpasswd.user chaishao 123456  #创建登录nagios页面的用户名和密码(这是非交互式的)

[root@nagios-server nagios]# cat /usr/local/nagios/etc/htpasswd.user #看密码是加密的
chaishao:5MsSzXC5J1SbY

9. 更改邮件报警联系人

vi /usr/local/nagios/etc/objects/contacts.cfg +35

email                      siling23001@163.com   #将报警发送的邮件箱修改成自己的

[root@nagios-server nagios]# yum install sendmail -y

[root@nagios-server nagios]# /etc/init.d/sendmail start     #启动邮件服务器(如果启动慢就去看看/etc/hosts文件里面的主机名是否设置的对不对)

正在启动 sendmail:                                        [确定]
启动 sm-client:                                           [确定]

10. 给apahce制定密码文件位置

vi /etc/httpd/conf/httpd.conf   #将下面的话追加到尾部

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.user

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.user

Require valid-user

</Directory>

11. 检测nagios的语法

[root@nagios-server nagios]#/etc/init.d/nagios checkconfig

Running configuration check… OK.

12.安装nagios-plugins插件

cd /tools

wget https://www.nagios-plugins.org/download/nagios-plugins-1.4.16.tar.gz

其他版本在: https://nagios-plugins.org/download/  这里下载

tar zxf nagios-plugins-1.4.16.tar.gz

cd nagios-plugins-1.4.16

./configure  --with-nagios-user=nagios --with-nagios-group=nagios --enable-perl-modules

make && make install

13.安装nrce软件

#官网提供的下载链接地址:https://exchange.nagios.org/directory/Addons/Monitoring-Agents/NRPE--2D-Nagios-Remote-Plugin-Executor/details#_ga=1.159598580.85876582.1482065387

cd /tools

wget https://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz --no-check-certificate

tar zxf nrpe-2.12.tar.gz

cd nrpe-2.12

./configure --with-command-group=nagios  --prefix=/usr/local/nagios

make all

make install-plugin

make install-daemon

make install-daemon-config

#注:但是nrpe的3版本默认不会把nrpe.cfg文件放到/usr/local/nagios/etc/下面,所以我们要加一步操作:

cp sample-config/nrpe.cfg /usr/local/nagios/etc/ 

三、客户端上面的操作(windows机器先放一边)

1. 解决perl编译问题

[root@nagios-server ~]# echo ‘export LC_ALL=C’>> /etc/profile  #添加环境变量
[root@nagios-server ~]# source /etc/profile  #使环境变量生效
[root@nagios-server ~]# echo $LC_ALL   #查看下环境十分生效
C

2. 暂时先关闭防火墙和彻底关闭selinux

3. 进行时间同步并添加定时任务

4. 创建用户

/usr/sbin/adduser nagios -M -s /sbin/nologin

5. 安装nagios-plugins和nrpe插件

yum install -y perl-devel perl-CPAN #安装之前执行这步操作

6. 配置客户端nrpe文件

vi /usr/local/nagios/etc/nrpe.cfg +79

allowed_hosts=192.168.1.101,192.168.1.102  #这是是允许哪个ip进行nrpe访问,这里我们101是服务器端,加逗号呢可以加多个IP,我们可以再搞一个备用的nagios服务器

7. 启动nrpe

#chown nagios:nagios -R /usr/local/nagios   #一定要授权

[root@test7 nrpe-2.12]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d   #最好切换到nagios再启动

#这是启动命令,-c指定配置文件,-d为后台启动
[root@test7 nrpe-2.12]# ps -ef|grep nrpe
nagios   38516     1  0 00:04 ?        00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root     38518  1903  0 00:04 pts/0    00:00:00 grep nrpe
[root@test7 nrpe-2.12]# netstat -lnt|grep 5666  #nrpe默认启用5666端口进行通信
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN

# lsof -i :5666  #因为配置文件里面已经制定了用户和用户组为nagios

COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

nrpe    18792 nagios    4u  IPv4 129854      0t0  TCP *:5666 (LISTEN)

nrpe    18792 nagios    5u  IPv6 129855      0t0  TCP *:5666 (LISTEN)


四、服务器端配置

1. vi /usr/local/nagios/etc/nagios.cfg +34  增加下面两行,这里先搞简单的

cfg_file=/usr/local/nagios/etc/objects/hosts.cfg #加载主机文件

cfg_file=/usr/local/nagios/etc/objects/services.cfg  #加载服务配置文件

如果想监控一个目录:#cfg_dir=/usr/local/nagios/etc/servers

# chmod 644 /usr/local/nagios/var/nagios.log  #不然web端加载不了,默认600

2. 配置hosts主机文件

cd /usr/local/nagios/etc/objects

[root@nagios-server objects]# vi hosts.cfg

define host{
use                     linux-server    #这是使用的模板
host_name               192.168.1.204   #定义主机名
alias                   linux-204       #定义被监控主机别名
address                 192.168.1.204   #被监控主机IP
}
define host{
use                     linux-server
host_name               192.168.1.205
alias                   linux-205
address                 192.168.1.205
}

define hostgroup{
hostgroup_name  Centos                      #监控组名称
alias           linux                       #监控组别名
members         192.168.1.204,192.168.1.205  #监控组中包含哪些被监控主机
}

3. 配置services.cfg文件

[root@nagios-server objects]# vi  services.cfg
define service {
use                             generic-service
host_name                        192.168.1.204,192.168.1.205
service_description              Check Swap
check_command                    check_nrpe!check_swap
max_check_attempts      2
normal_check_interval   4
retry_check_interval    4
check_period            24x7

notification_interval   1440
notification_period     24x7

notification_options    w,u,c,r
contact_groups          admins
process_perf_data       1
}

4.配置commands.cfg #将下面这段话加到结尾,不然你是没法check_nrpe的

# ‘check_nrpe’ command definition
define command{
command_name    check_nrpe
command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

5.修改查看nagios的权限

sed -i "s#nagiosadmin#chaishao#g" /usr/local/nagios/etc/cgi.cfg  #nagios默认是nagiosadmin的用户具有权限,如果你不把配置文件中的用户改成我们之前设置好的那个,你们有权限查看任何东西的

6.登录查看

[root@nagios-server libexec]# /etc/init.d/nagios start #要启动不然看不到什么东西


#为什么会有localhost呢,是因为有个配置文件我们没有注释

n3.png

n4.png

7. 在服务端和客户端的nrpe.cfg配置文件里都要加上下面一句话然后重启nrpe

command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

8. 再次查看结果

n5.png

作者:忙碌的柴少 分类:nagios 浏览:4344 评论:0
留言列表
发表评论
来宾的头像