Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 1449|回复: 0

linux-监控-安装nagios与监控远程主机

[复制链接]

22

主题

69

帖子

2129

积分

金牌会员

Rank: 6Rank: 6

积分
2129
发表于 2015-4-23 22:18:21 | 显示全部楼层 |阅读模式
Ngios安装介绍文档:http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html

Nagios官方网站:http://www.nagios.org
Nagios Core下载页面:http://www.nagios.org/download/core/thanks/?t=1429340015
Nagios Plugins下载页面:http://www.nagios.org/download/plugins/
Nagios Addon Projects:http://www.nagios.org/download/addons/

Nagios Core:http://prdownloads.sourceforge.n ... nagios-4.0.8.tar.gz
                        http://cznic.dl.sourceforge.net/ ... nagios-4.0.8.tar.gz
Nagios Plugins: http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
Nagios nrpe: http://iweb.dl.sourceforge.net/p ... 15/nrpe-2.15.tar.gz
Vautour Style:http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip
Nagios NSClient:http://nsclient.org/nscp/downloads

======================================================
yum -y install unzip apr apr-devel httpd httpd-devel mysql mysql-server php php-devel php-mysql php-gd php-mbstring php-pear php-pecl* php-xml php-xmlrpc php-snmp php-soap openssl-devel

======================================================
安装nagios-core

[root@kongxl nagios-4.0.8]# ntpdate pool.ntp.org
[root@kongxl soft]# service httpd restart ; service mysqld restart
[root@kongxl soft]# wget -c http://cznic.dl.sourceforge.net/ ... nagios-4.0.8.tar.gz http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
[root@kongxl soft]# useradd nagios
[root@kongxl soft]# tar -xf nagios-4.0.8.tar.gz
[root@kongxl soft]# cd nagios-4.0.8
[root@kongxl nagios-4.0.8]# ./configure --prefix=/usr/local/nagios --with-command-group=nagios
[root@kongxl nagios-4.0.8]#  make all ; make install ; make install-init ; make install-commandmode ; make install-config ; make install-webconf ; make install-exfoliation ; make install-classicui

======================================================
安装nagios-plugins

[root@kongxl soft]# tar -xf nagios-plugins-2.0.3.tar.gz
[root@kongxl soft]# cd nagios-plugins-2.0.3
[root@kongxl nagios-plugins-2.0.3]# ./configure --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios
--prefix=PREFIX         install architecture-independent files in PREFIX [/usr/local/nagios]
--with-nagios-user=USER Installs executables with this user. Defaults to install user
--with-nagios-group=GROUP Installs executables with this group. Defaults to install user
[root@kongxl nagios-plugins-2.0.3]# make -j4 && make -j4 install ;  cd /usr/local/nagios/ ; chown -R nagios:nagios .

[root@kongxl nagios]# vi /etc/httpd/conf.d/nagios.conf
/usr/local/nagios/etc/htpasswd.users      //认证文件
[root@kongxl nagios]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin     //回车之后,输入两次相同的密码
[root@kongxl nagios]# cat /usr/local/nagios/etc/htpasswd.users
nagiosadmin:y9tlFCBwWWP/U

[root@kongxl nagios]# /etc/init.d/httpd restart ; /etc/init.d/nagios restart

在IE浏览器里面输入:http://192.168.0.200/nagios/    用户名:nagiosadmin,密码:123456

[root@kongxl nagios]# chmod -R 777 /usr/local/nagios/var/rw/nagios.cmd      //修改这个文件的权限,开启通知(解除那个大喇叭提示)
[root@kongxl nagios]# ll /usr/local/nagios/var/rw/nagios.cmd
prwxrwxrwx 1 nagios nagios 0 4月  18 15:55 /usr/local/nagios/var/rw/nagios.cmd

======================================================
安装nagios主题皮肤

[root@kongxl soft]# wget http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip
[root@kongxl soft]# unzip vautour_style.zip -d /usr/local/nagios/share/

======================================================
监控192.168.0.201

1、在nagios服务器端:192.168.0.200上进行设置

[root@kongxl nagios]# cd ./etc/objects/
--------------------
[root@kongxl objects]# cp localhost.cfg 192.168.0.201.cfg
[root@kongxl objects]# sed -i "s#localhost#192.168.0.201#g ; s#127.0.0.1#192.168.0.201#g ; s#check_local#check#g ; s#linux-servers#192.168.0.201#g"  192.168.0.201.cfg
[root@kongxl objects]# sed -i "36a cfg_file=/usr/local/nagios/etc/objects/192.168.0.201.cfg" /usr/local/nagios/etc/nagios.cfg
[root@kongxl etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
---------------------
[root@kongxl etc]# grep -v "^#" /usr/local/nagios/etc/objects/localhost.cfg |grep -v "^$" > /usr/local/nagios/etc/objects/192.168.0.201.cfg
---------------------
[root@kongxl etc]# vi /usr/local/nagios/etc/nagios.cfg
# Definitions for monitoring the local (Linux) host
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
cfg_file=/usr/local/nagios/etc/objects/192.168.0.201.cfg
[root@kongxl etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

[root@kongxl etc]# /etc/init.d/nagios restart        //修改完配置文件之后,需重启nagios

2、在nagios客户端:192.168.0.201上,安装nrpe和nagios-plugins

[root@kongxl soft]# ntpdate pool.ntp.org
[root@kongxl soft]# useradd nagios
[root@kongxl soft]# wget  -c  http://iweb.dl.sourceforge.net/p ... 15/nrpe-2.15.tar.gz   http://nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz   
[root@kongxl soft]# scp nagios-4.0.8.tar.gz nagios-plugins-2.0.3.tar.gz nrpe-2.15.tar.gz root@192.168.0.201:/soft       //也可以从其他地方拷贝安装包过来
[root@kongxl soft]# tar -xf nagios-plugins-2.0.3.tar.gz ; cd nagios-plugins-2.0.3
[root@kongxl nagios-plugins-2.0.3]# ./configure --prefix=/usr/local/nagios ;make -j4 ;make -j4 install

[root@kongxl soft]# tar -xf nrpe-2.15.tar.gz ;cd nrpe-2.15
[root@kongxl nrpe-2.15]# yum -y install openssl-devel
[root@kongxl nrpe-2.15]# ./configure --enable-ssl --with-ssl-lib
[root@kongxl nrpe-2.15]# make all && make install-plugin && make install-daemon && make install-daemon-config

[root@kongxl nrpe-2.15]# cd /usr/local/nagios/
[root@kongxl nagios]# cp /soft/nrpe-2.15/sample-config/nrpe.cfg  /usr/local/nagios/etc/nrpe.cfg      //可忽略这一步,前面安装步骤完成后这个目录就已经有了一个nrpe.cfg配置文件。
[root@kongxl nagios]# chown -R nagios:nagios /usr/local/nagios/
[root@kongxl etc]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d     //启动nrpe客户端命令

3、在nagios的客户端:192.168.0.201上,修改nrpe.cfg配置文件

[root@kongxl etc]# vi /usr/local/nagios/etc/nrpe.cfg

①修改的第一处,允许IP为192.168.0.200的服务端进行访问
# NOTE: This option is ignored if NRPE is running under either inetd or xinetd
allowed_hosts=127.0.0.1,192.168.0.200

②修改的第二处,配置客户端需要监测的项目
# The following examples use hardcoded command arguments...
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20
command[check_disk]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
command[check_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20 -c 10

[root@kongxl etc]# ps -ef |grep nrpe
nagios    28056      1  0 23:09 ?        00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root      28076   1100  0 23:49 pts/0    00:00:00 grep nrpe
[root@kongxl etc]# kill -9 28056
[root@kongxl etc]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d     //重新启动nrpe客户端命令

4、在nagios的服务器端:192.168.0.200上进行操作
①安装nrpe包,并修改配置文件
[root@kongxl soft]# tar -xf nrpe-2.15.tar.gz
[root@kongxl soft]# cd nrpe-2.15
[root@kongxl nrpe-2.15]#  ./configure --enable-ssl --with-ssl-lib  
[root@kongxl nrpe-2.15]# make all && make install-plugin && make install-daemon && make install-daemon-config
[root@kongxl nrpe-2.15]# cd /usr/local/nagios/etc/objects
[root@kongxl objects]# vi /usr/local/nagios/etc/objects/commands.cfg      //在这个配置文件的最末端添加下面的内容
# 'check_nrpe' command definition
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$        
        }

②修改配置文件192.168.0.201.cfg为如下内容:
[root@kongxl objects]# vi  192.168.0.201.cfg
[root@kongxl objects]# cat 192.168.0.201.cfg
define host{
        use                     linux-server         
        host_name               192.168.0.201
        alias                   192.168.0.201
        address                 192.168.0.201
        }
define hostgroup{
        hostgroup_name  192.168.0.201 ; The name of the hostgroup
        alias           Linux Servers ; Long name of the group
        members         192.168.0.201     ; Comma separated list of hosts that belong to this group
        }

define service{
        use                             local-service         ; Name of service template to use
        host_name                       192.168.0.201
        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                       192.168.0.201
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
        }

define service{
        use                             local-service      
        host_name                       192.168.0.201
        service_description             Check Users
        check_command                   check_nrpe!check_users
        }

define service{
        use                             local-service        
        host_name                       192.168.0.201
        service_description             Check Load
        check_command                   check_nrpe!check_load
        }

define service{
        use                             local-service
        host_name                       192.168.0.201
        service_description             Check Disk
        check_command                   check_nrpe!check_disk
        }

define service{
        use                             local-service
        host_name                       192.168.0.201
        service_description             Check Procs
        check_command                   check_nrpe!check_procs
        }

define service{
        use                             local-service
        host_name                       192.168.0.201
        service_description             Check Swap
        check_command                   check_nrpe!check_swap
        }

5、重启nagios服务,查看结果。

[root@kongxl objects]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
[root@kongxl objects]# /etc/init.d/nagios restart
[root@kongxl objects]# /usr/local/nagios/libexec/check_nrpe -H 192.168.0.201    //在监控端使用NRPE检测存活状态

在IE浏览器查看结果。

======================================================
ngios监控http关键词

1、监控本机的HTTPD关键词时
①在监控服务器端192.168.0.200上,修改command.cfg配置文件,在末尾添加如下内容:
# 'check_http_word' command definition
define command{
        command_name    check_http_word
        command_line    $USER1$/check_http -I $HOSTADDRESS$ -u $ARG1$ -p $ARG2$ -s $ARG3$ -s $ARG4$
        }
②在监控服务器端192.168.0.200上,修改被监控主机的配置文件,比如本机的localhost.cfg,在末尾添加如下内容:
define service{
        use                             local-service        
        host_name                       localhost
        service_description             Http Word
        check_command                   check_http_word!/index.html!80!my!first                   //说明,这里监控本机的http不需要加IP
        notifications_enabled           1
        }
③修改完成之后,服务器端重载nagios服务:
[root@kongxl objects]# /etc/init.d/nagios reload

2、监控客户端的HTTPD关键词时

①修改客户端的nrpe.cfg配置文件
[root@kongxl etc]# vi /usr/local/nagios/etc/nrpe.cfg     //添加如下内容
command[check_httpd_word]=/usr/local/nagios/libexec/check_http -I 192.168.0.201 -p 80 -u /index.html -s "word"
[root@kongxl etc]# ps -ef |grep nrpe
nagios     1141      1  0 15:14 ?        00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root       6241   1098  0 17:19 pts/0    00:00:00 grep nrpe
[root@kongxl etc]# kill -9 1141
[root@kongxl etc]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

②修改服务器端的commands.cfg和192.168.0.201.cfg
[root@kongxl objects]# vi /usr/local/nagios/etc/objects/commands.cfg      //在这个配置文件的最末端添加下面的内容
# 'check_nrpe' command definition
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$      
        }
---------------------
[root@kongxl objects]# vi /usr/local/nagios/etc/objects/192.168.0.201.cfg
define service{
        use                             local-service
        host_name                       192.168.0.201
        service_description             HTTPD WORD
        check_command                   check_nrpe!check_httpd_word                     
        }
---------------------
③修改完成之后,服务器端重载nagios服务:
[root@kongxl objects]# /etc/init.d/nagios reload

======================================================
nagios监控mysql主从服务

1、在mysql主从的slave端进行设置
[root@kongxl /]# usermod -s /sbin/nologin nagios
[root@kongxl /]# /usr/local/nagios/libexec/check_mysql -H127.0.0.1 -unagios -p123456 -S
[root@kongxl nagios]# vi ./etc/nrpe.cfg    //添加如下内容
command[check_mysql_slave]=/usr/local/nagios/libexec/check_mysql -H 127.0.0.1 -u nagios -p 123456 -S
-------------
修改完成后,记得重启服务
[root@kongxl nagios]# ps -ef |grep nrpe
nagios    23368      1  0 Apr20 ?        00:00:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
root      24094   1070  0 00:57 pts/0    00:00:00 grep nrpe
[root@kongxl nagios]# kill -9 23368
[root@kongxl nagios]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

2、在nagios服务器端进行设置
[root@kongxl ~]# cd /usr/local/nagios/etc/objects
[root@kongxl objects]# vi 192.168.0.202.cfg
define service{
        use                             local-service
        host_name                       192.168.0.202
        service_description             mysql_master_slave
        check_command                   check_nrpe!check_mysql_slave
        }
[root@kongxl objects]# /etc/init.d/nagios reload

在mysql主从的slave端执行如下命令出错①:
[root@kongxl ~]# /usr/local/nagios/libexec/check_mysql --help
/usr/local/nagios/libexec/check_mysql: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory
-----------------------
[root@kongxl ~]# find / -name "libmysqlclient.so.18"
/usr/local/mysql2/lib/libmysqlclient.so.18
/soft/mysql-5.6.23/libmysql/libmysqlclient.so.18
[root@kongxl /]# ln -s /usr/local/mysql2/lib/libmysqlclient.so.18    /usr/lib64/libmysqlclient.so.18
==============
出现错误②:
[root@kongxl /]#  /usr/local/nagios/libexec/check_mysql -H 127.0.0.1 -u nagios -p 123456 -S
slave query error: Access denied; you need (at least one of) the SUPER, REPLICATION CLIENT privilege(s) for this operation
-----------------------
mysql> grant SUPER, REPLICATION CLIENT on *.* to nagios@'127.0.0.1' identified by '123456';flush privileges;

======================================================
其它扩展

1、安装mailx,修改配置文件contacts.cfg中的email地址
[root@kongxl nagios]# yum -y install mailx
vi /usr/local/nagios/etc/objects/contacts.cfg
[root@kongxl objects]# echo "mail test,this is my first mail from linux \!" |mail -s testok kongzi68@139.com    //测试发送mail功能是否正常。

2、监控windows系统
比如,在win7上,下载Nagios NSClient,安装即可。安装的时候,输入服务器端的IP,并勾选check_np选项。




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2019-1-20 17:35 , Processed in 0.026553 second(s), 14 queries , Apc On.

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