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

Nagios是一个监视系统运行状态和网络信息的监视系统。Nagios能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等。

创新互联建站是一家专注于成都网站设计、成都做网站、外贸网站建设与策划设计,晋源网站建设哪家好?创新互联建站做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:晋源等地区。晋源做网站价格咨询:13518219792

    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).准备安装

        [root@server1 mnt]# tar jxf nagios-cn-3.2.3.tar.bz2

        [root@server1 mnt]# mv nagios-cn-3.2.3  /root/

        [root@server1 mnt]# yum install gd-devel-2.0.35-11.el6.x86_64.rpm  gcc  -y                                            ##为./configure做准备

    (2).编译安装

        [root@server1 mnt]# cd /root/nagios-cn-3.2.3/

        [root@server1 nagios-cn-3.2.3]# ./configure

        [root@server1 nagios-cn-3.2.3]# useradd -u 900 -M -d /usr/local/nagios nagios

        [root@server1 nagios-cn-3.2.3]# make all

       [root@server1 nagios-cn-3.2.3]# make

        [root@server1 nagios-cn-3.2.3]# make install-init

            *** Init script installed ***

        [root@server1 nagios-cn-3.2.3]# make install-commandmode

            *** External command directory configured ***

        [root@server1 nagios-cn-3.2.3]# make install-config

            *** Config files installed ***

        [root@server1 nagios-cn-3.2.3]# make install-webconf

            *** Nagios/Apache conf file installed ***

    (3).修改登陆用户密码

        [root@server1 nagios-cn-3.2.3]#  cat /usr/local/nagios/etc/htpasswd.users  ##查看密码

        nagiosadmin:gCWSDnqEHR45c

        [root@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)启动服务

         [root@server1 nagios-cn-3.2.3]# /etc/init.d/httpd start

        Starting httpd:                       [  OK  ]

        [root@server1 nagios-cn-3.2.3]# /etc/init.d/nagios start

        Starting nagios: done.

    (5)浏览器访问:172.25.254.6/nagios,用户为nagiosadmin,密码为自己刚改的密码。

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

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

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

2.排除故障

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

    (1)[root@server1 0722-监控-nagios]# cd /mnt/

        [root@server1 mnt]# tar -zxf nagios-plugins-2.1.1.tar.gz

        [root@server1 mnt]# mv nagios-plugins-2.1.1  /root/

        [root@server1 mnt]# cd /root/nagios-plugins-2.1.1/

    (2)编译插件

        [root@server1 nagios-plugins-2.1.1]# yum install mysql-devel openssl-devel -y   #编译所需软件包

        [root@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

*********************************************

[root@server6 libexec]# id apache

uid=48(apache) gid=48(apache) groups=48(apache),900(nagios)

*********************************************

    (3).编辑配置文件

    (3.1)

        [root@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)

        [root@server1 nagios-plugins-2.1.1]# cd /usr/local/nagios/etc/objects/

        [root@server1 objects]# cp -p localhost.cfg hosts.conf

        [root@server1 objects]# cp -p localhost.cfg services.cfg

        [root@server1 objects]# cp -p localhost.cfg hosts.cfg

    (3.3)

        [root@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_p_w_picpath        switch.gif

    statusmap_p_w_picpath     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)[root@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)[root@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)

            [root@server1 objects]# /etc/init.d/nagios reload

            Running configuration check...done.

            Reloading nagios configuration...done

 浏览器刷新浏览:172.25.254.1/nagios

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

3.加个mysql服务

    [root@server1 ~]# yum install mysql-server -y

  [root@server1 ~]# /etc/init.d/mysqld restart

  [root@server1 ~]# mysql

> show databases;

> grant select on test.* to nagios@localhost identified by 'redaht';

  [root@server1 ~]# cd /usr/local/nagios/libexec

    [root@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;;;

*********************************************************************************

  [root@server1 libexec]cd /usr/local/nagios/etc/objects

  [root@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     }

*********************************************************************************

  [root@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_p_w_picpath        server.gif

  22     statusmap_p_w_picpath     server.gd2

  23     2d_coords        400,100 ##2D坐标位置

  24     3d_coords        400,200,100 ##3D坐标位置

  25     }

*********************************************************************************

  [root@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     }

*********************************************************************************

  [root@server1 objects] /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg ##检查

(4)浏览器刷新浏览:172.25.254.1/nagios

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

    可以看到多了一个Mysql监控

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前文章:实战Nagios网络监控(1)——监控本机运行状态和Mysq主机-创新互联
本文路径:http://ybzwz.com/article/jpicj.html