设为首页 收藏本站
查看: 619|回复: 0

RedHat6.5上部署Nagios

[复制链接]

尚未签到

发表于 2019-1-13 06:16:39 | 显示全部楼层 |阅读模式
  
  部署环境:系统,RedHat 6.5;组件,Nagios;
  部署前准备:关闭Selinux,和防火墙(/etc/init.d/iptables stop);获取相关软件包。
  (包括gd-devel mysql-server openssl-devel xinetd;等)
  具体步骤:
  1.在Nagios运行的主机上创建Nagios用户和nagcmd组;
  groupadd nagcmd;
  useradd -M -d /usr/local/nagios -G nagcmd nagios;
  usermod -G nagcmd  apache
  2.解压相应的源码包和插件包;并指定编译环境和参数;
  cd /guo
  tar jxf nagios-cn-3.2.3.tar.bz2;
  cd nagios-cn-3.2.3
  ###指定编译环境组为"ngcmd";
  ./configure --with-command-group=nagcmd;
  ###开始编译并安装
  make all && make install
  ###安装启动脚本
  make install-init;
  ###安装WEB配置文件
  make install-webconf;
  ###安装配置文件
  make install-config;
  ###设定Nagios的登陆用户名和密码;
  htpasswd/usr/local/nagios/etc/htpasswd.users nagiosadmin
  ###检查配置正确性
  /usr/local/nagios/bin/nagios-v /usr/local/nagios/etc/nagios.cfg
  确保无Error 或者warning。
  3.启动相关服务并测试;
  /etc/init.d/nagios start
  /etc/init.d/httpd start

  
  

  4.安装相关插件。
  cd /guo
   tar zxf nagios-plugins-2.1.1.tar.gz
  cd nagios-plugins-2.1.1
  ./configure
  ###执行完毕应确保自身所需的功能后面的状态显示“yes”;比如后面要用到Mysql和ssl协议加密;那结果至少包含"--with-mysql:yes,--with-openssl:yes"
  ###插件会被自动安装至/usr/local/nagios/libexec;
  cd /usr/local/nagios/libexec;
  ###调整并递归此目录下所有文件
  chown nagios.nagios . -R ;
  ###再次检查配置
  /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg  
###重载Nagios配置
/etc/init.d/nagios reload         
                                

  
    5.编辑相关配置文件。
  cd /usr/local/nagios/etc/objects/
  cp  -p localhost.cfg hosts.cfg
  cp -p localhost.cfg services.cfg
  vim /usr/local/nagios/etc/objects/hosts.cfg
  ###添加如下内容:
  ###通过hosts.cfg文件来指定被监控主机及其相关信息;
  cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
  ###通过services.cfg文件定义监控哪些服务和资源。
  cfg_file=/usr/local/nagios/etc/objects/services.cfg
  
###vi hosts.cfg

                definehost{
                    use                     linux-server
                    host_name               pu_tao.example.com
                    alias                   Manager
                    address                 172.25.254.18
                    icon_image              server.gif
                    statusmap_image         server.gd2
                    2d_coords               500,200
                    3d_coords               500,200,100
                    }


            define hostgroup{
            hostgroup_name  linux-servers
            alias           Linux Servers
            members         *
              }
本次取一台被监控主机做实验,仅写一个服务组

                define servicegroup{
               servicegroup_name 系统负荷检查
                alias 负荷检查
                members server2.example.com,进程总数,server2.example.com用户登录 数,server2.example.com,根分区,server2.example.com,交换空间利用率
               }

    监控ping的情况

            defineservice{   
                    use                             local-service        
                    host_name                       *
                    service_description             PING
                    check_command                   check_ping!100.0,20%!500.0,60%
                    }

     监控硬盘情况

              defineservice{
                   use                             local-service        
                    host_name                       xi_gua.example.com
                    service_description             根分区
                    check_command                   check_local_disk!20%!10%!/
                   }

     监控登录用户数

            defineservice{
                use                             local-service        
               host_name                      xi_gua.example.com
                service_description             登录用户数
                check_command                   check_local_users!20!50
               }
      监控系统负荷

          define service{
                use                             local-service        
                host_name                       xi_gua.example.com
               service_description             系统负荷
                check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
                }

        监控进程总数

            defineservice{
                use                             local-service        
                host_name                       xi_gua.example.com
                service_description             进程总数
               check_command                  check_local_procs!250!400!RSZDT
                }
        监控交换空间利用率

                define service{
                use                             local-service        
                host_name                       xi_gua.example.com
                service_description             交换空间利用率
                check_command                   check_local_swap!20!10
               }

        监控ssh情况

                define service{
                    use                             local-service        
                   host_name                      xi_gua.example.com
                   service_description             SSH
                   check_command                  check_tcp!22!1.0!10.0
                    notifications_enabled           0
                    }
          监控apache

                    defineservice{
                   use                             local-service        
                   host_name                      xi_gua.example.com
                   service_description            HTTP
                   check_command                  check_http
                  notifications_enabled           0
                    }

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg  
/etc/init.d/nagios reload                        
如图显示本机的监控成功



6.再开启一台主机。本次实验主机名为xi_gua.example.com.ip:172.25.254.17;同样关闭Selinux和防火墙。
在本机上安装Mysql;并创建用户Nagios和赋予一定权限。
create database nagdb;
grant select on nagdb.* tonagios@172.25.254.18 identified by  'nagios';
返回Nagios所在主机pu_tao.example.com;
cd    /usr/local/nagios/libexec
./check_mysql -H 172.25.254.3 -unagios -pnagios
执行完毕应有类似日志信息显示;如有且无报错说明本机成功监控对端mysql
cd /usr/local/nagios/etc/objects
在 commands.cfg 中添加监控mysql的命令

        # 'check_mysql' command definition   
            definecommand{
               command_name   check_mysql
                command_line   $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$
                }
在services.cfg中添加监控mysql

     ##########################check_mysql
                   define service{
                      use                             local-service         
                        host_name                       xi_gua.example.com
                       service_description             MYSQL
                        check_command                   check_mysql!nagios!nagios
                        notifications_enabled           0
                        }

在hosts.cfg中添加

         define host{
               use                    linux-server
                host_name               xi_gua.example.com
                alias                   Manager
                parents                 xi_gua.example.com
                address                 172.25.254.17
               icon_image              server.gif
                statusmap_image         server.gd2
                2d_coords               400,100
                3d_coords               400,100,100
            }

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios reload                                       

如图表示成功检测server3主机上的mysql


8.安装Nrpe使nagios监控多台主机;在172.25.254.17(xi_gua.example.com)上操作。
###解压相关组件并创建nagios用户;
tar zxfnrpe-2.15.tar.gz                                                                  
tar zxf  nagios-plugins-2.1.1.tar.gz                    
yum install mysql-devel openssl-devel -y
useradd  -M -d /usr/local/nagios  nagios            
cd nagios-plugins-2.1.1
./configure
make all && make install
cd /usr/local/nagios/libexec/      
chown nagios.nagios . -R         
yum install xinetd
cd /root/nrpe-2.15                          
./configure
make all && make install

make install-plugin
make install-daemon

make install-daemon-config

make install-xinetd

vim /etc/xinetd.d/nrpe   
#设定监控主机为172.25.254.18
only_from       = 172.25.254.18
vim /etc/services
nrpe   5666/tcp                        
/etc/init.d/xinetd start                    
cd /usr/local/nagios/etc/

vim nrpe.cfg           

将command[check_hda1]=/usr/local/nagios/libexec/check_disk-w 20% -c 10% -p /dev/hda1改为

command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p/  #监控根分区

/etc/init.d/xinetdrestart                 
cd /usr/local/nagios/libexec/     

scp  check_nrpe root@172.25.254.18:/usr/local/nagios/libexec/ 将check_nrpe远程复制到pu_tao.exampl.com相应的目录中。
返回172.25.254.18;做如下操作
cd /usr/local/nagios/libexec/
chown nagios.nagios  check_nrpe   
###检测nrpe是否可用成功显示nrpe版本号
./chek_nrpe  -H  172.25.254.17           
cd /usr/local/nagios/etc/objcts/
在 commands.cfg 中添加check_nrpe的命令

        # 'check_nrpe' commanddefinition   
            define command{
                command_name    check_nrpe
                command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c$ARG1$
                }

在services.cfg中添加

        define service{
        use                             local-service         
        host_name                       xi_gua.example.com
        service_description             根分区
        check_command                   check_nrpe!check_disk
        }
define service{
        use                             local-service         
        host_name                       xi_gua.example.com
        service_description             登录用户数
        check_command                   check_nrpe!check_users
        }
监控根分区和登录人数

/usr/local/nagios/bin/nagios -v/usr/local/nagios/etc/nagios.cfg  
/etc/init.d/nagios reload                                                                  
如图可见监控成功




         
9.nagios的110云报警
到onealter官网下载所用的软件包这里用的是
alert-agent-4.1.3.1-linux-x64.tar.gz
在onealter网页添加nagios应用


获取应用key


在xi_gua.example.com主机中:
tar zxf alert-agent-4.1.3.1-linux-x64.tar.gz  
cp -R alert-agent /usr/local/nagios/libexec/  #将解压好的包放入nagios插件目录中
cp alert-agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/
chmod +x /usr/local/nagios/libexec/nagios
cp alert-agent/plugin/nagios-plugin/110monitor.cfg/usr/local/nagios/etc/objects/   #将110配置文件放入nagios配置文件目录
在110monitor.cfg文件中添加Key:



修改/usr/local/nagios/etc/objects/contacts.cfg,新增110monitor到默认联系组
    define contactgroup{
    contactgroup_name       admins
    alias                   Nagios Administrators
    members                 nagiosadmin,110monitor
    }   
修改/usr/local/nagios/etc/nagios.cfg,将110monitor.cfg新增到nagios.cfg中
cfg_file=/usr/local/nagios/etc/objects/110monitor.cfg
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/etc/init.d/nagios   reload     


  




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-662497-1-1.html 上篇帖子: (十一)企业部分之nagios 下篇帖子: 监控服务之nagios服务
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表