nagios服务搭建与监控创建使用

nagios服务搭建与监控创建使用

ip主机名备注
172.16.121.227nagios服务端,关闭防火墙
172.16.121.228client客户端,关闭防火墙

我也有去百度他人的学习的他是lamp和lnmp两种都有接受我是直接yum源安装了php和httpd服务,大家也可以看一下他的博客的文章:https://www.jianshu.com/p/3476d98a4703
1.服务端安装nagios
需要在httpd或者是nginx的基础下所以还得额外安装httpd和nginx服务
创建一个目录存放安装包

[root@nagios ~] mkdir wjh
[root@nagios ~]# cd wjh/
[root@nagioswjh]# wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.1.tar.gz
[root@nagios wjh]# wget https://nagios-plugins.org/download/nagios-plugins-2.2.1.tar.gz
[root@nagios wjh]# wget https://sourceforge.net/projects/nagios/files/nrpe-3.x/nrpe-3.1.0.tar.gz

安装php和httpd服务

[root@nagios wjh]# yum -y install php php-fpm
[root@nagios wjh]# yum -y install httpd
[root@nagios wjh]# service httpd start

开始安装nagios-server服务端
安装依赖包

[root@nagios wjh]# yum -y install httpd httpd-devel gcc glibc glibc-common gd gd-devel perl-devel perl-CPAN fcgi perl-FCGI perl-FCGI-ProcManager

解压nagios源码包

[root@nagios wjh]# tar zxvf nagios-4.3.1.tar.gz

进入解压目录
创建ngaios用户和组(把httpd启动用apache加入到nagios相关组)

[root@nagios wjh]# cd nagios-4.3.1
[root@nagios nagios-4.3.1]# useradd nagios -s /sbin/nologin 
[root@nagios nagios-4.3.1]# id apache
[root@nagios nagios-4.3.1]# groupadd nagcmd
[root@nagios nagios-4.3.1]# usermod -a -G nagcmd nagios 
[root@nagios nagios-4.3.1]# usermod -a -G nagcmd apache
[root@nagios nagios-4.3.1]# id -n -G nagios
[root@nagios nagios-4.3.1]# id -n -G apache

配置nagios 编译安装

[root@client1 nagios-4.3.1]# ./configure --with-command-group=nagcmd
[root@nagios nagios-4.3.1]# make all
[root@nagios nagios-4.3.1]# make install-init
[root@nagios nagios-4.3.1]# make install-commandmode
[root@nagios nagios-4.3.1]# make install-config
[root@nagios nagios-4.3.1]# make install    
[root@nagios nagios-4.3.1]# cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
[root@nagios nagios-4.3.1]# chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
[root@nagios nagios-4.3.1]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

生成apache配置文件

[root@nagios nagios-4.3.1]# make install-webconf

生成nagios web界面的验证信息 设置自己的密码

[root@nagios nagios-4.3.1]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios

修改httpd.conf配置文件

# vi /etc/httpd/conf/httpd.conf
DirectoryIndex index.html    ===>    修改为    DirectoryIndex index.php index.html
AddType application/x-gzip .gz .tgz    ===>    下面添加一行内容  AddHandler application/x-httpd-php .php
# LoadModule foo_module modules/mod_foo.so    ===>    下面添加一行内容   
 LoadModule php5_module        modules/libphp5.so

修改管理员(否则不是管理员无法使用一些操作,比如监控)
可以直接关闭身份验证

#vi /usr/local/nagios/etc/cgi.cfg
use_authentication=1  ==>	use_authentication=0	1改为0

重启httpd

systemctl start httpd
systemctl enable httpd

启动nagios

chkconfig nagios on
/etc/init.d/nagios start

网页访问 172.16.121.227/nagios
在这里插入图片描述
安装监控插件:
安装依赖包
安装nagios-plugins插件
解压nagios-plugins源码包

[root@nagios nagios-4.3.1]# yum install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils epel-release
[root@nagios nagios-4.3.1]# yum -y install perl-Net-SNMP
[root@nagios httpd]# cd /root/wjh/
[root@nagios wjh]# tar zxvf nagios-plugins-2.2.1.tar.gz

进入解压后的目录进行配置

[root@nagios wjh]# cd nagios-plugins-2.2.1/
[root@nagios nagios-plugins-2.2.1]# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --enable-perl-modules

编译及安装

[root@nagios nagios-plugins-2.2.1]# make && make install

安装nrpe
解压nrpe源码包

[root@nagios nagios-plugins-2.2.1]# cd /root/wjh/
[root@nagios wjh]# tar zxvf nrpe-3.1.0.tar.gz 

进去解压后的目录进行配置

[root@nagios wjh]# cd nrpe-3.1.0/
[root@nagios nrpe-3.1.0]# ./configure 

编译及安装

[root@nagios nrpe-3.1.0]# make all
[root@nagios nrpe-3.1.0]# make install-plugin
[root@nagios nrpe-3.1.0]# make install-daemon
[root@nagios nrpe-3.1.0]# make install-daemon-config
[root@nagios nrpe-3.1.0]# cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg 

启动nrpe,并测试服务端本地是否可以连通

[root@nagios nrpe-3.1.0]# /usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg 
[root@nagios nrpe-3.1.0]# echo "/usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg" >> /etc/rc.local
[root@nagios nrpe-3.1.0]# chmod +x /etc/rc.d/rc.local          
[root@nagios nrpe-3.1.0]# netstat -lnput|grep 5666
tcp        0      0 0.0.0.0:5666            0.0.0.0:*               LISTEN      67176/nrpe          
tcp6       0      0 :::5666                 :::*                    LISTEN      67176/nrpe    
[root@nagios nrpe-3.1.0]# /usr/local/nagios/libexec/check_nrpe -H localhost 
NRPE v3.1.0-rc1

添加nagios服务器IP,运行服务器连接nrpe
[root@nagios nrpe-3.1.0]# vi /usr/local/nagios/etc/nrpe.cfg
allowed_hosts=127.0.0.1,::1,172.16.121.228
dont_blame_nrpe=1
修改这两条命令
并在最后添加这5条

command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -r -w .15,.10,.05 -c .30,.25,.20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /
command[check_mem]=/usr/local/nagios/libexec/check_mem.pl -w 90% -c 95%
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%

启动服务并测试:

[root@nagios nrpe-3.1.0]# /usr/local/nagios/bin/nrpe -d -c /usr/local/nagios/etc/nrpe.cfg 
[root@nagios nrpe-3.1.0]# /usr/local/nagios/libexec/check_nrpe -H 127.0.0.1 -c check_load
OK - load average per CPU: 0.00, 0.01, 0.03|load1=0.000;0.150;0.300;0; load5=0.005;0.100;0.250;0; load15=0.025;0.050;0.200;0; 

到这里本机的监控就完成了
接下来进行远程监控配置

在客户端先配置监控脚本

[root@client ~]# cd /usr/local/nagios/libexec/
[root@client libexec]# vi wjh.sh
#!/bin/bash
OK=0
CRITICAL=2

nginx=`ss -lnt | grep 80 | wc -l`
mysql=`ss -lnt | grep 3306 | wc -l`
apache=`ss -lnt | grep 8080 | wc -l`

case $1 in
nginx)
if [ $nginx -ge 1 ];then
        echo "OK,nginx is working!"
        exit $OK;
else
        echo "CRITICAL,nginx is not working!"
        exit $CRITICAL
fi
;;

mysql)  
if [ $mysql -ge 1 ];then
        echo "OK,Mysql is working!"
        exit $OK;
else
        echo "CRITICAL,Mysql is not working!"
        exit $CRITICAL
fi
;;

apache)
if [ $apache -ge 1 ];then
        echo "OK,Apache is working!"
        exit $OK;
else
        echo "CRITICAL,Apache is not working!"
        exit $CRITICAL
fi
;;

*)
        echo "Usage: $0 nginx|mysql|apache"
        exit;;
esac

然后授权验证

[root@client libexec]# chmod 755 wjh.sh
[root@client libexec]# chown nagios.nagios wjh.sh
[root@client libexec]# ./wjh.sh nginx
OK,nginx is working!
[root@client libexec]# ./wjh.sh mysql
OK,Mysql is not working!
[root@client libexec]# ./wjh.sh apache
OK,Apache is working!

这里的mysql和nginx服务安装我没有细写出大家可以百度找一下或者是采用lnmp一键部署。
在向/usr/local/nagios/etc/nrpe.cfg配置文件中加入如下内容

command[check_nginx]=/usr/local/nagios/libexec/wjh.sh nginx -c 2
command[check_mysql]=/usr/local/nagios/libexec/wjh.sh mysql -c 2
command[check_apache]=/usr/local/nagios/libexec/wjh.sh apache -c 2

在重启nrpe这里可以安装一下nrpe的启动脚本

[root@client ~]# vim /etc/init.d/nrpe
#!/bin/bash
#chkconfig: 2345 10 90 
#description: nrpe
NRPE=/usr/local/nagios/bin/nrpe
NRPECONF=/usr/local/nagios/etc/nrpe.cfg

case "$1" in
       start)
              echo -n "Starting NRPE daemon..."
              $NRPE -c $NRPECONF -d
              echo " done."
              ;;
       stop)
              echo -n "Stopping NRPE daemon..."
              pkill -u nagios nrpe
              echo " done."
       ;;
       restart)
              $0 stop
              sleep 2
              $0 start
              ;;
       *)
              echo "Usage: $0 start|stop|restart"
              ;;
       esac
   然后授权重启
[root@client ~]# chmod 755 /etc/init.d/nrpe
[root@client ~]# chkconfig --add nrpe
[root@client ~]# systemctl restart nrpe

在服务端进行基础配置
向/usr/local/nagios/etc/objects/commands.cfg中添加如下内容
[root@nagios objects]# cat commands.cfg
在这里插入图片描述
在/usr/local/nagios/etc/nagios.cfg配置文件中加入

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

配置监控客户端服务文件

[root@nagios objects]# cat hosts.cfg
define host{
        use                     linux-server
        host_name               client
        address                 172.16.121.228
        }
define service {
    use                     local-service
    host_name               client
    service_description     Nginx
    check_command           check_nrpe!check_nginx
    normal_check_interval           1 
}
define service {
    use                     local-service
    host_name               client
    service_description     Mysql
    check_command           check_nrpe!check_mysql
    normal_check_interval           1
}
define service {
    use                     local-service
    host_name               client
    service_description     Apache
    check_command           check_nrpe!check_apache
    normal_check_interval           1
}

重启两个服务
[root@nagios objects]# service nagios restart
Restarting nagios (via systemctl): [ OK ]
[root@nagios objects]# systemctl restart nrpe

网页查看
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值