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

实战Nagios网络监控(1)——监控本机运行状态和Mysq主机

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-10-27 08:34:05 | 显示全部楼层 |阅读模式
Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。    Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等

实验环境:
        物理主机        redhat7.0 内核版本 3.10.0-123.el7.x86_64
        虚拟机        redhat6.5 内核版本 2.6.32-431.el6.x86_64
                服务器端: server1.example.com        172.25.254.1
        所需软件包:
                gd-devel-2.0.35-11.el6.x86_64.rpm
                nagios-cn-3.2.3.tar.bz2
                nagios-plugins-2.1.1.tar.gz

1.编译nagios
   (1).准备安装
        [iyunv@server1 mnt]# tar jxf nagios-cn-3.2.3.tar.bz2
        [iyunv@server1 mnt]# mv nagios-cn-3.2.3  /root/
        [iyunv@server1 mnt]# yum install gd-devel-2.0.35-11.el6.x86_64.rpm   gcc   -y                                            ##为./configure做准备      
    (2).编译安装
        [iyunv@server1 mnt]# cd /root/nagios-cn-3.2.3/
        [iyunv@server1 nagios-cn-3.2.3]# ./configure   
        [iyunv@server1 nagios-cn-3.2.3]# useradd -u 900 -M -d /usr/local/nagios nagios
        [iyunv@server1 nagios-cn-3.2.3]# make all
        [iyunv@server1 nagios-cn-3.2.3]# make
        [iyunv@server1 nagios-cn-3.2.3]# make install-init
            *** Init script installed ***
        [iyunv@server1 nagios-cn-3.2.3]# make install-commandmode            
            *** External command directory configured ***
        [iyunv@server1 nagios-cn-3.2.3]# make install-config           
            *** Config files installed ***            
        [iyunv@server1 nagios-cn-3.2.3]# make install-webconf
            *** Nagios/Apache conf file installed ***
    (3).修改登陆用户密码

        [iyunv@server1 nagios-cn-3.2.3]#  cat /usr/local/nagios/etc/htpasswd.users         ##查看密码
        nagiosadmin:gCWSDnqEHR45c
        [iyunv@server1 nagios-cn-3.2.3]# htpasswd /usr/local/nagios/etc/htpasswd.users nagiosadmin
        New password:                         ##更改密码
        Re-type new password:
        Updating password for user nagiosadmin
    (4)启动服务
         [iyunv@server1 nagios-cn-3.2.3]# /etc/init.d/httpd start
        Starting httpd:                                            [  OK  ]
        [iyunv@server1 nagios-cn-3.2.3]# /etc/init.d/nagios start
        Starting nagios: done.
    (5)浏览器访问:172.25.254.6/nagios,用户为nagiosadmin,密码为自己刚改的密码。
wKioL1gQos2SrMi_AADLWm2btcA535.jpg
wKiom1gQos7z8Z6cAAKtC_IrFp4592.jpg
wKioL1gQo07R8mdwAAPKyHTXoRc185.jpg


2.排除故障
    可以看到刚安装的nagios不能监控到主机的状态,需要安装插件排除故障

    (1)[iyunv@server1 0722-监控-nagios]# cd /mnt/
        [iyunv@server1 mnt]# tar -zxf nagios-plugins-2.1.1.tar.gz
        [iyunv@server1 mnt]# mv nagios-plugins-2.1.1  /root/
        [iyunv@server1 mnt]# cd /root/nagios-plugins-2.1.1/
    (2)编译插件           
        [iyunv@server1 nagios-plugins-2.1.1]# yum install mysql-devel openssl-devel -y     #编译所需软件包                                                                     
        [iyunv@server1 nagios-plugins-2.1.1]# ./configure
*****************************************************************************************
config.status: creating po/Makefile
            --with-apt-get-command:
              --with-ping6-command: /bin/ping6 -n -U -w %d -c %d %s
               --with-ping-command: /bin/ping -n -U -w %d -c %d %s
                       --with-ipv6: yes
                      --with-mysql: /usr/bin/mysql_config        ##不能为no,如果为no,则 yum install mysql-devel -y
                    --with-openssl: yes                ##不能为no,如果为no,则 yum install openssh-devel -y
                     --with-gnutls: no
               --enable-extra-opts: yes
                       --with-perl: /usr/bin/perl
             --enable-perl-modules: no
                     --with-cgiurl: /nagios/cgi-bin
               --with-trusted-path: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
                   --enable-libtap: no
*****************************************************************************************
                <2>make
                <3>make install
        (3)cd /usr/local/nagios/libexec/
                <1>ll
                <2>chown nagios.nagios *        ##更改所有文件的所属用户和所属组为nagios
                <3>id apache
                   usermod -G nagios apache
                      id apache
                *********************************************
                [iyunv@server6 libexec]# id apache
                uid=48(apache) gid=48(apache) groups=48(apache),900(nagios)
                *********************************************               
    (3).编辑配置文件
    (3.1)
        [iyunv@server1 nagios-plugins-2.1.1]# vim /usr/local/nagios/etc/nagios.cfg
          30 cfg_file=/usr/local/nagios/etc/objects/commands.cfg
          31 cfg_file=/usr/local/nagios/etc/objects/contacts.cfg
          32 cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg
          33 cfg_file=/usr/local/nagios/etc/objects/templates.cfg
          34 cfg_file=/usr/local/nagios/etc/objects/hosts.cfg
          35 cfg_file=/usr/local/nagios/etc/objects/services.cfg
          36
          37 # Definitions for monitoring the local (Linux) host
          38 #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
    (3.2)
        [iyunv@server1 nagios-plugins-2.1.1]# cd /usr/local/nagios/etc/objects/
        [iyunv@server1 objects]# cp -p localhost.cfg hosts.conf
        [iyunv@server1 objects]# cp -p localhost.cfg services.cfg
        [iyunv@server1 objects]# cp -p localhost.cfg hosts.cfg
    (3.3)
        [iyunv@server1 objects]# vim hosts.cfg
###############################################################################
# Define a host for the local machine

define host{
        use                     linux-server            ; 给网络设备用的
        host_name               监控主机
        alias                   MainSwitch
        address                 127.0.0.1
        icon_image              switch.gif
        statusmap_image         switch.gd2
        2d_coords               100,200
        3d_coords               100,200,100
        }
###############################################################################
#
# HOST GROUP DEFINITION
#
###############################################################################
###############################################################################

# Define an optional hostgroup for Linux machines

define hostgroup{
        hostgroup_name  linux-servers ; The name of the hostgroup
        alias           Linux Servers ; Long name of the group
        members         *     ; Comma separated list of hosts that belong to this group
        }
###############################################################################
    (3.4)[iyunv@server1 objects]# vim services.cfg
define servicegroup{
        servicegroup_name 系统状态检查
        alias 系统概况
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       *
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       监控主机
        service_description             根分区
        check_command                   check_local_disk!20%!10%!/
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       监控主机
        service_description             登录用户数
        check_command                   check_local_users!20!50
        }

# Define a service to check the number of currently running procs
# on the local machine.  Warning if > 250 processes, critical if
# > 400 users.

define service{
        use                             local-service         ; Name of service template to use
        host_name                       监控主机
        service_description             进程总数
        check_command                   check_local_procs!250!400!RSZDT
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       监控主机
        service_description             系统负荷
        check_command                   check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       监控主机
        service_description             交换空间利用率
        check_command                   check_local_swap!20!10
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       监控主机
        service_description             SSH
        check_command                   check_tcp!22!1.0!10.0
        notifications_enabled           0
        }
define service{
        use                             local-service         ; Name of service template to use
        host_name                       监控主机
        service_description             HTTP
        check_command                   check_http
        notifications_enabled           0
        }

    (3.5)[iyunv@server1 objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
            ##检测有无错误         
            Total Warnings: 0
            Total Errors:   0
            Things look okay - No serious problems were detected during the pre-flight check
    (3.6)
            [iyunv@server1 objects]# /etc/init.d/nagios reload
            Running configuration check...done.
            Reloading nagios configuration...done

           浏览器刷新浏览:172.25.254.1/nagios
wKiom1gQqXCDv-GvAAJLyINKN2g551.jpg        
3.加个mysql服务

    [iyunv@server1 ~]# yum install mysql-server -y
    [iyunv@server1 ~]# /etc/init.d/mysqld restart
    [iyunv@server1 ~]# mysql
                        > show databases;
                        > grant select on test.* to nagios@localhost identified by 'redaht';
    [iyunv@server1 ~]# cd /usr/local/nagios/libexec
    [iyunv@server1 libexec]# ./check_mysql -H localhost  -u nagios -p westos
Uptime: 12566  Threads: 10  Questions: 207453  Slow queries: 0  Opens: 130  Flush tables: 1  Open tables: 42  Queries per second avg: 16.509|Connections=421c;;; Open_files=80;;; Open_tables=42;;; Qcache_free_memory=0;;; Qcache_hits=0c;;; Qcache_inserts=0c;;; Qcache_lowmem_prunes=0c;;; Qcache_not_cached=0c;;; Qcache_queries_in_cache=0;;; Queries=207453c;;; Questions=207453c;;; Table_locks_waited=5c;;; Threads_connected=10;;; Threads_running=1;;; Uptime=12566c;;;

        *********************************************************************************
    [iyunv@server1 libexec]cd /usr/local/nagios/etc/objects
    [iyunv@server1 objects] vim command.cfg
        *********************************************************************************
        212 # 'check_mysql' command definition
        213 define command{
        214         command_name    check_mysql
        215         command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -u $ARG1$ -p $ARG2$
        216        }
        *********************************************************************************
    [iyunv@server1 objects] vim hosts.cfg
        *********************************************************************************
        14 # Define a host for the mysql on server4.example.com
        15 define host{
        16         use                     linux-server
        17         host_name               server4.example.com
        18         alias                   mysql
        19 #       parents                 MainSwitch
        20         address               127.0.0.1
        21         icon_image              server.gif
        22         statusmap_image         server.gd2
        23         2d_coords               400,100                ##2D坐标位置
        24         3d_coords               400,200,100                ##3D坐标位置                       
        25         }
        *********************************************************************************
    [iyunv@server1 objects] vim services.cfg
        *********************************************************************************
        109 ################check_mysql##########################
        110 define service{
        111         use                             local-service         ; Name of service template to use
        112         host_name                       server4.example.com
        113         service_description             mysql
        114         check_command                   check_mysql!nagios!westos
        115         notifications_enabled           0
        116         }
        *********************************************************************************
    [iyunv@server1 objects] /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg        ##检查
        (4)浏览器刷新浏览:172.25.254.1/nagios
wKiom1gQq5CRGoDqAAFE7aGyfDA940.jpg
    可以看到多了一个Mysql监控


运维网声明 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-291793-1-1.html 上篇帖子: nagios告警发不出问题解决 下篇帖子: 实战Nagios网络监控(2)—— Nagios+Nrpe监控其他主机 网络监控 主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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