设为首页 收藏本站
查看: 2556|回复: 6

CenOS5.6下安装nagios3.2监控服务器群的运行状况

[复制链接]

尚未签到

发表于 2013-4-3 09:16:34 | 显示全部楼层 |阅读模式
centos 5.6安装nagios3.2.0
Nagios功能列表    所需软件包及环境
基本的监控:
     NAGIOS    gcc、gcc-devel、appache、php、gd、gd-devel
    NAGIOS-PLUGINS    mysql-devel(防止安装之后无法生存check_mysql的监控文件)
    NRPE    openssl-devel  (Linux系统安装。监控端和被监控端)
    NSCLIENT    无(windows系统安装,只安装在被监控端)
邮件告警功能   
    安装centos时候定制软件选择DNS服务和邮件服务.
绘图功能   
    Pnp    cairo、 pango、 libart_lgpl、 libart_lgpl-devel、 zlib、 zlib-devel 、freetype 、freetype-devel  
    rrdtool
飞信告警功能   
    Fetion    libACE
MSN告警功能
    暂无测试


一:安装nagios

1:安装支持包
#yum -y install gcc gcc-c++ gd gd-devel php httpd openssl-devel mysql-devel
具体依赖的对应服务见上结构

2:添加用户和组
#useradd nagios
#passwd nagios  
#groupadd nagcmd
#usermod -G nagcmd nagios
#usermod -G nagcmd apache
记得把apache加入到该用户组
chkconfig httpd on

3:正式安装nagios
tar –xzf nagios-3.2.0.tar.gz
cd nagios-3.2.0
./configure --with-command-group=nagcmd --prefix=/usr/local/nagios
make all
make install
make install-init
make install-config
make install-commandmode

4:配置apache的httpd.conf,允许文件目录被访问
默认安装位置在/etc/httpd/conf/httpd.conf
如何不知道也可以使用如下命令查找
find / name httpd.conf|grep httpd.conf
然后添加以下代码


  • [Shell] 纯文本查看 复制代码
    ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin"                  
    <Directory "/usr/local/nagios/sbin">  
    Options ExecCGI  
    AllowOverride None  
    Order allow,deny  
    Allow from all  
    AuthName "Nagios Access"  
    AuthType Basic  
    AuthUserFile /usr/local/nagios/etc/htpasswd.users  
    Require valid-user  
    </Directory>  
    Alias /nagios "/usr/local/nagios/share"  
    <Directory "/usr/local/nagios/share">  
    Options None  
    AllowOverride None  
    Order allow,deny  
    Allow from all  
    AuthName "Nagios Access"  
    AuthType Basic  
    AuthUserFile /usr/local/nagios/etc/htpasswd.users  
    Require valid-user  
    </Directory>  





5:创建apache目录验证文件  
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
New password: (输入密码)   
Re-type new password: (再输入一次密码)   
Adding password for user nagiosadmin   
service httpd restart  

6:安装nagios插件
tar –xzf nagios-plugins-1.4.13.tar.gz
cd nagios-plugins-1.4.13
./configure --with-nagios-user=nagios --with-nagios-group=nagios --prefix=/usr/local/nagios
make
make install

7:将nagios加入到开机启动项
chkconfig nagios on

8:检查配置文件
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
//这个检测非常有用,可以很快的判断我们的错误在哪里。

9:配置nagios
首先/usr/local/nagios/etc/nagios.cfg,取消前面的”#”即可.如下:


  • [Shell] 纯文本查看 复制代码
    # You can specify individual object config files as shown below:  
    cfg_file=/usr/local/nagios/etc/objects/commands.cfg  
    cfg_file=/usr/local/nagios/etc/objects/contacts.cfg  
    cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg  
    cfg_file=/usr/local/nagios/etc/objects/templates.cfg  
    # Definitions for monitoring the local (Linux) host  
    cfg_file=/usr/local/nagios/etc/objects/localhost.cfg  
    # Definitions for monitoring a Windows machine  
    #cfg_file=/usr/local/nagios/etc/objects/windows.cfg  
    # Definitions for monitoring a router/switch  
    #cfg_file=/usr/local/nagios/etc/objects/switch.cfg  
    # Definitions for monitoring a network printer  
    #cfg_file=/usr/local/nagios/etc/objects/printer.cfg  
      
    # You can also tell Nagios to process all config files (with a .cfg  
    # extension) in a particular directory by using the cfg_dir  
    # directive as shown below:  
    # cfg_dir=/usr/local/nagios/etc/servers  





上面有些配置文件没有,需要自己手动创建
Commands.cfg主要是监控命令的配置文件。Contacts.cfg主要是联系人的配置文件
Timeperiods.cfg主要是时间配置,监控的时间段设置。Hots.cfg是主机配置.
Localhost.cfg监控服务器的配置文件.
Windows.cfg监控微软系统的配置文件.
chown -R nagios.nagios /usr/local/nagios

10.修改commands.cfg配置文件
新增以下内容:


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




11.修改localhost.cfg


  • [Shell] 纯文本查看 复制代码
    define host {  
    host_name        nagios-server  
    alias            nagios server  
    address            192.168.152.156  
    contact_groups        sagroup  
    check_command        check-host-alive  
    max_check_attempts    5  
    notification_interval    10  
    notification_period    24x7  
    notification_options    d,u,r  
    }  
    define hostgroup {  
    hostgroup_name    sa-servers  
    alias        sa servers  
    members        nagios-server  
    }  





#加入如下服务(也可以删除当前文件夹下的其他所有service,我删除了否则验证的时候会报错,只预留以下几个)


  • [Shell] 纯文本查看 复制代码
    define service {  
        host_name        nagios-server    
            service_description    check-host-alive  
            check_period        24x7  
            max_check_attempts    4  
            normal_check_interval    3  
            retry_check_interval    2  
            contact_groups        sagroup    
            notification_interval    10  
            notification_period    24x7  
            notification_options    w,u,c,r  
            check_command        check-host-alive    
    }  
    define service {  
            host_name        nagios-server  
            service_description    check_tcp 80  
            check_period        24x7  
            max_check_attempts    4  
            normal_check_interval    3  
            retry_check_interval    2  
            contact_groups        sagroup  
            notification_interval    10  
            notification_period    24x7  
            notification_options    w,u,c,r  
            check_command        check_tcp!80  
    }  
    define service{  
            host_name        nagios-server  
            service_description    check-disk  
            check_command        check_nrpe!check_df  
            max_check_attempts    4  
            normal_check_interval    3  
            retry_check_interval    2  
            check_period        24x7  
            notification_interval    10  
            notification_period    24x7  
            notification_options    w,u,c,r  
            contact_groups        sagroup  
    }  
    define service{  
            host_name        nagios-server  
            service_description    check-load  
            check_command        check_nrpe!check_load  
            max_check_attempts    4  
            normal_check_interval    3  
            retry_check_interval    2  
            check_period        24x7  
            notification_interval    10  
            notification_period    24x7  
            notification_options    w,u,c,r  
            contact_groups        sagroup  
    }  
    define service{  
            host_name        nagios-server  
            service_description    total_procs  
            check_command        check_nrpe!check_total_procs  
            max_check_attempts    4  
            normal_check_interval    3  
            retry_check_interval    2  
            check_period        24x7  
            notification_interval    10  
            notification_period    24x7  
            notification_options    w,u,c,r  
            contact_groups        sagroup  
    }  




#也可以将服务和以上的host配置分别独立为两个文件,方便管理,这样也需要在nagios.cfg中重新指定和修改localhost.cfg

12.配置文件contacts.cfg




  • [Shell] 纯文本查看 复制代码
    #定义联系人  
    define contact {  
    contact_name            sid  
    alias                system administrator  
    service_notification_period    24x7  
    host_notification_period    24x7  
    service_notification_options    w,u,c,r  
    host_notification_options    d,u,r  
    service_notification_commands    notify-service-by-email  
    host_notification_commands    notify-host-by-email  
    email                [email]devilzy2656@163.com[/email]  
    pager                1581127****  
    }  
    #定义联系人组  
    define contactgroup {  
    contactgroup_name    sagroup    
    alias            system administrator group  
    members            sid    
    }  






二.部署nrpe安装nrpe(用于监控Linux系统)
1.安装nrpe
tar –xzvf nrpe-2.12.tar.gz
cd nrpe-2.12
./configure --prefix=/usr/local/nrpe
make
make install
注:如果在其他被监控机安装nrpe,需要添加系统用户nagios.

2.复制文件
安装完nrpe后,在安装目录/usr/local/nrpe/libexec只有一个文件check_nrpe,而在nagios插件目录,却缺少这个文件,因此需要把这个文件复制到nagios插件目录;同样,因为nrpe需要调用的诸如check_disk等插件在自己的目录没有,可是这些文件确是nagios插件所存在的,所以也需要从nagios目录复制一份过来。我们把复制过程列举出来:
cp /usr/local/nrpe/libexec/check_nrpe /usr/local/nagios/libexec
cp /usr/local/nagios/libexec/check_disk /usr/local/nrpe/libexec
cp /usr/local/nagios/libexec/check_load /usr/local/nrpe/libexec
cp /usr/local/nagios/libexec/check_ping /usr/local/nrpe/libexec
cp /usr/local/nagios/libexec/check_procs /usr/local/nrpe/libexec

3.配置nrpe
安装完nrpe以后,在安装目录并没有可用的配置文件,但我们只需把解压目录的样例文件复制到安装目录,然后修改这个文件.
mkdir /usr/local/nrpe/etc
vi nrpe.cfg
修改后如下:


  • [Shell] 纯文本查看 复制代码
    pid_file=/var/run/nrpe.pid  
    server_port=5666  
    server_address=192.168.152.156  
    nrpe_user=nagios  
    nrpe_group=nagios  
    allowed_hosts=127.0.0.1,192.168.152.156  
    dont_blame_nrpe=0  
    debug=0  
    command_timeout=60  
    connection_timeout=300  
    #The following examples use hardcoded command arguments...  
    command[check_users]=/usr/local/nrpe/libexec/check_users -w 5 -c 10  
    command[check_load]=/usr/local/nrpe/libexec/check_load -w 15,10,5 -c 30,25,20  
    #command[check_hda1]=/usr/local/nrpe/libexec/check_disk -w 20 -c 10 -p /dev/hda1  
    command[check_df]=/usr/local/nrpe/libexec/check_disk -w 20 -c 10  
    command[check_zombie_procs]=/usr/local/nrpe/libexec/check_procs -w 5 -c 10 -s Z  
    command[check_total_procs]=/usr/local/nrpe/libexec/check_procs -w 150 -c 200  
    command[check_ips]=/usr/local/nrpe/libexec/ip_conn.sh 8000 10000
      




vi /usr/local/nrpe/libexec/ip_conn.sh


  • [Shell] 纯文本查看 复制代码
    #!/bin/sh  
    #if [ $# -ne 2 ]  
    #then  
    #  echo "Usage:$0 -w num1 -c num2"  
    #exit 3  
    #fi  
    ip_conns=`netstat -an | grep tcp | grep EST | wc -l`  
     if [ $ip_conns -lt $1 ]  
       then  
       echo "OK -connect counts is $ip_conns"  
       exit 0  
     fi  
     if [ $ip_conns -gt $1 -a $ip_conns -lt $2 ]  
       then  
       echo "Warning -connect counts is $ip_conns"  
       exit 1  
     fi  
     if [ $ip_conns -gt $2 ]  
       then  
       echo "Critical  -connect counts is $ip_conns"  
       exit 2  
     fi  




chmod +x ip_conn.sh

4.启动nrpe服务并检验其配置
如果有防火墙需要开启防火墙
iptables -I eth0 -p tcp -m tcp -dport 5666 -j ACCEPT
然后保存:
/etc/rc.d/init.d/iptables save
重启防火墙:
/etc/init.d/iptables restart

5.以独立守护进程启动nrpe服务
/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
6.察看端口,也能看见5666端口处于监听状态
tail /var/log/messages
7.察看端口,也能看见5666端口处于监听状态
netstat -an
8.ps aux | grep nrpe | grep -v grep
9.检查插件功能
(1)检查nrpe服务
/usr/local/nrpe/libexec/check_nrpe -H 192.168.152.156
(2)通过nrpe检查主机资源
/usr/local/nrpe/libexec/check_nrpe -H 192.168.152.156 -c check_df
/usr/local/nrpe/libexec/check_nrpe -H 192.168.152.156 -c check_ips

#用nrpe可以更清晰的监控服务器的运行状态,
#配置客户端也非常简单,不需要在客户端安装nagios和其他服务,只需要安装第二部安装nrpe,其中唯一需要修改的是配置文件的server_address,需要修改成客户端的ip地址


三:启动nagios服务
1、检查配置
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
2、启动nagios
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

重启后执行:分别保证下属操作正确执行
service httpd start
/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

启动之后在浏览器输入:http://192.168.152.156/nagios
再键入你的nagiosadmin和刚刚设置的密码,就可以进入nagios的管理界面了
==========================遇到的才错误1=====================================
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

查询日志:
[Thu Sep 17 22:50:02 2009] [error] [client 10.0.0.73] Premature end of script headers: status.cgi, referer: http://10.0.0.193/side.html

试试apache的SuExec:(此命令用来关闭防火墙)
[iyunv@centos sbin]# setenforce 0
==========================遇到的才错误1=====================================


四、监控mysql服务器
#useradd nagios
#passwd nagios  
1、按照之前说过的在mysql客户端上安装nrpe并修改server_address的地址(拷贝check_*的时候一定要记得添加执行权限)
2、创建mysql访问用户nagios。这个账号仅仅是nagios监控程序用来访问mysql数据库所用,与其它帐号毫无关系。为了安全起见,nagios这个账号的权限应该特别低,仅仅有数据库的select权限即可。再进一步,我们创建一个空的数据库nagdb,然后让nagios账号访问这个空库,就可以通过check_mysql插件测试和监控mysql数据库。
mysql > create database nagdb; identified by 'nagios'
mysql > GRANT select ON nagdb.* TO 'nagios'@'%';
#用插件检查配置:
/usr/local/nrpe/libexec/check_mysql -H 192.168.152.148 -u nagios -d nagdb
#从nagios服务器上再检查一次:
/usr/local/nrpe/libexec/check_mysql -H 192.168.152.148 -u nagios -d nagdb
一切正常以后,mysql服务器这边的配置和测试就算完成了。
检查插件功能
(1)检查nrpe服务
/usr/local/nrpe/libexec/check_nrpe -H 192.168.152.148
(2)通过nrpe检查主机资源
/usr/local/nrpe/libexec/check_nrpe -H 192.168.152.148 -c check_df
/usr/local/nrpe/libexec/check_nrpe -H 192.168.152.148 -c check_ips
3、nagios服务器上的操作.即在nagios配置文件后面追加内容。
(一)、主机配置文件追加mysql主机定义,联系组contactgroups 的值为sagroup,dbgroup,具体步骤参照前面的操作。


  • [Shell] 纯文本查看 复制代码
    define host {  
    host_name        mysql1-server  
    alias            mysql1 server  
    address            192.168.152.148  
    contact_groups        sagroup,dbgroup  
    check_command        check-host-alive  
    max_check_attempts    5  
    notification_interval    10  
    notification_period    24x7  
    notification_options    d,u,r  
    }  
    define hostgroup {  
    hostgroup_name    mysql-servers  
    alias        mysql servers  
    members        mysql1-server  
    }  




(二)、联系人配置文件(contacts.cfg)追加数据库管理员定义(dba1),具体步骤参照前面的操作。define contact {


  • [Shell] 纯文本查看 复制代码
    contact_name                    dba1  
    alias                           system administrator  
    service_notification_period     24x7  
    host_notification_period        24x7  
    service_notification_options    w,u,c,r  
    host_notification_options       d,u,r  
    service_notification_commands   notify-service-by-email  
    host_notification_commands      notify-host-by-email  
    email                           [email]306798132@qq.com[/email]  
    pager                           1581127****  
    }  
    define contactgroup {  
    contactgroup_name       dbgroup  
    alias                   system administrator group  
    members                 dba1  
    }  




(三)、服务配置文件(localhost.cfg)追加mysql服务监控,除了mysql服务监控而外,其他几个对象都于前面的类似,只不过联系组多了一个dbgroup。这里列出mysql服务这个定义:


  • [Shell] 纯文本查看 复制代码
    define service {  
    host_name        mysql1-server  
    service_description    check_mysql  
    check_period        24x7  
    max_check_attempts    4  
    normal_check_interval    3  
    retry_check_interval    2  
    contact_groups        sagroup,dbgroup  
    notification_interval    10  
    notification_period    24x7  
    notification_options    w,u,c,r  
    check_command        check_mysql  
    }  




(五)、命令配置文件(command.cfg)追加检查mysql的定义,其追加内容为:


  • define command {  
  • command_name    check_mysql  
  • command_line    $USER1$/check_mysql -H $HOSTADDRESS$ -u nagios -d nagdb  
  • }  



(六)、检查并启动nagios
/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
(七)增加apache验证帐号
此账号是值给数据库管理员查看数据库服务器的状态,用之前的管理员账号可以查看所有的服务器状态
/usr/local/apache/bin/htpasswd /usr/local/nagios/etc/htpasswd dba1
输入两次密码后,从别的计算机的浏览器地址栏输入  http://59.26.240.63/nagios ,再输入用户名db1及刚才设定的密码,进入页面后,点击左上方的链接“Service Detail”,就可以看到mysql服务器当前的运行状态(db1用户只能看到mysql服务器状态,而管理员sery账号则可以看所有被监控对象的状态)。

==========================遇到的问题1=====================================
问题:安装完成nagios后,发现居然没有这个插件,怎么办?
解决方法:
# yum install mysql-devel  <我系统默认没装mysql的>
重装下nagios-plugins插件包
# ./configure
            --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
                    --with-openssl: yes
                     --with-gnutls: no
               --enable-extra-opts: no
                       --with-perl: /usr/bin/perl
             --enable-perl-modules: no
                     --with-cgiurl: /nagios/cgi-bin
               --with-trusted-path: /bin:/sbin:/usr/bin:/usr/sbin
                   --enable-libtap: no
# make && make install  
==========================遇到的问题1=====================================
==========================遇到的问题2=====================================
运行check_mysql的时候出现下面的错误提示
error while loading shared libraries: libmysqlclient.so.14: cannot open shared object file: No such file or directory
[iyunv@app104 lib]# locate libmysqlclient.so.14
/usr/local/mysql/lib/mysql/libmysqlclient.so.14
/usr/local/mysql/lib/mysql/libmysqlclient.so.14.0.0
vi /etc/ld.so.conf 加入
/usr/local/mysql/lib/mysql
然後跑
/sbin/ldconfig -v
更新即可使用

如果是64位的,貌似需要重新获取;执行如下命令
wget -O /usr/lib64/libmysqlclient.so.15 http://files.directadmin.com/ser ... ibmysqlclient.so.15
chmod 755 /usr/lib64/libmysqlclient.so.15
==========================遇到的问题2=====================================

上截图:

1364871539_9475.jpg

点进services查看命令,下面三个红的,是命令启动慢,等待10分钟之后再看看命令的效果,就恢复正常了。(个人见解)

1364871577_7884.jpg


五、监控数据主从服务(此步骤引子博客http://sery.blog./10037/244794/ 并稍作修改)
操作步骤:
1、在主数据库服务器增加一个用户,给予较低的权限,操作为
mysql> grant Replication client on *.* to 'nagios'@'%' identified by 'nagios';
mysql> flush privileges;
2、登陆从服务器验证一下,看是否正常。操作为
mysql -unagios -pnagios -e "show slave status\G"
3、在从服务器安装 nrpe,然后在配置文件nrpe.cfg加入一行
command[check_mysql_slave]=/usr/local/nrpe/libexec/check_mysql_slave
4、编写脚本/usr/local/nrpe/libexec/check_mysql_slave(这是监控其作用的核心),其内容如下:
vi /usr/local/nrpe/libexec/check_mysql_slave


  • [Shell] 纯文本查看 复制代码
    #!/bin/sh  
    declare -a slave_is  
    slave_is=($(/usr/local/mysql/bin/mysql -unagios -pnagios -e "show slave status\G"|grep Running |awk '{print $2}'))  
    if [ "${slave_is[0]}" = "Yes" -a "${slave_is[1]}" = "Yes" ]  
         then  
         echo "OK -slave is running"  
         exit 0  
    else  
         echo "Critical -slave is error"  
         exit 2  
    fi  





chmod +x check_mysql_slave
5、手动运行这个脚本,观察输出。
6、执行   
/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
/usr/local/nrpe/libexec/check_nrpe -H 192.168.152.149 -c check_mysql_slave
  观察其输出
7、修改nagios,并测试。
(1)、主机配置文件追加mysql主机定义,联系组contactgroups 的值为sagroup,dbgroup,具体步骤参照前面的操作。


  • [Shell] 纯文本查看 复制代码
    define host {  
    host_name        mysql2-server  
    alias            mysql2 server  
    address            192.168.152.149  
    contact_groups        sagroup,dbgroup  
    check_command        check-host-alive  
    max_check_attempts    5  
    notification_interval    10  
    notification_period    24x7  
    notification_options    d,u,r  
    }  
    define hostgroup {  
    hostgroup_name    mysql-servers  
    alias        mysql servers  
    members        mysql1-server,mysql2-server  
    }  




(2)、服务配置文件(localhost.cfg)追加mysql服务监控,除了mysql服务监控而外,其他几个对象都于前面的类似,只不过联系组多了一个dbgroup。这里列出mysql服务这个定义:


  • [Shell] 纯文本查看 复制代码
    define service {  
    host_name        mysql2-server  
    service_description    check_mysql_slave  
    check_period        24x7  
    max_check_attempts    4  
    normal_check_interval    3  
    retry_check_interval    2  
    contact_groups        sagroup,dbgroup  
    notification_interval    10  
    notification_period    24x7  
    notification_options    w,u,c,r  
    check_command        check_nrpe!check_mysql_slave  
    }  





(3)、命令配置文件(command.cfg)追加检查mysql的定义,其追加内容为:


  • [Shell] 纯文本查看 复制代码
    define command {  
    command_name    check_mysqli_slave  
    command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c check_mysql_slave  
    }  





(4)、检查并启动nagios
/usr/local/nrpe/bin/nrpe -c /usr/local/nrpe/etc/nrpe.cfg -d
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
==============遇到问题和解决方法==========================
问题:在没有任何信息的情况下怎么来获取NRPE执行的日志呢
就是要确定问题在哪,经过一大番的查找眼睛偶尔看到一个有趣的小方法
修复nrpe.conf配置文件 在要检查的命令后面添加>>/tmp/output 2>&1 将错误导出到文件中进行查看
command[check_sda_health]=/usr/bin/sudo /usr/local/nagios/libexec/check_disk_health.sh -d /dev/sda >>/tmp/output 2>&1
重记nrpe服务
远程调用 结果当然还是NRPE: Unable to read output
查看/tmp/output
sudo: sorry, you must have a tty to run sudo
有错误就简单了  原来这个是默认不允许sudo 在后端进行
visudo
注释Defaults requiretty 就OK了
==============遇到问题和解决方法==========================


六、配置邮件发送功能

因为报警邮件发送给用户邮箱后,监控系统本身没有必要接受别的邮件服务器发送的邮件,因此只需要使用服务器本身自带的sendmail来发送报警信息即可。用sendmail的另外一个目的就是简便。

如果系统是redhat 或 centos ,只需执行:(为保证邮件可以发送,需要开机后直接启动sendmail服务)
service sendmail start
这里给一个发送邮件的例子:
mail  -s “This is sid's nagiosServer send mail” devilzy2656@163.com < install.log

1364871678_2617.jpg

1364873146_2220.jpg

至此:基本的控制安装都已经实现了。上面的所有功能和配置,加上看文档的时间,基本上用了两周,虽然刚刚开始的时候看配置项那么多觉得很烦躁,但是成功之后真的挺开心的。

若此时关闭mysql从库,过一会,check_mysql_slave就会出现Critical,然后就知道当前的从数据出现问题了,其他的命令看名字应该也知道了吧。

这只是监控3个主机,也可以加入更多的主机。相信聪明的大家,也知道怎么做了

===================最后的提醒===============================
安装完成之后,需要开启的服务如下:
1、服务器端:
sendmail
nrpe
nagios
httpd
setenforce 0(可以直接设置开启,不必每次都开启)
2、客户端:(客户端如果不开nrpe,通过浏览器访问的时候客户端仍然是好用的,但是实际上并没有监控到)
nrpe
===================最后的提醒===============================






其他功能的安装:
说明:下面两个的安装步骤引子百度文库,本人并没有进行实际配置。喜欢的人可以试试。本人不保证下面的操作步骤可以安装成功,
如果不是什么大型的电子商务的网站个人认为邮件客户端的提醒就足够了,虽然有时会有延迟,图形界面不认为有多实用。
短信提醒还是比较实用的,喜欢的朋友可以用来配置一下,看看效果。


二:绘图工具的安装
1:安装相应的支持包
#yum install cairo pango libart_lgpl libart_lgpl-devel zlib zlib-devel freetype freetype-devel  
2:安装rrdtool
#./configure
#make
#make install
3:做一些配置
#vi /usr/local/nagios/etc/nagios.cfg
process_performance_data=1  
host_perfdata_command=host-service-perfdata   
service_perfdata_command=process-service-perfdata
上面三项处于允许状态,取消前面的”;”.
在commands.cfg做如下配置。注释掉process-service-prefdata这个命令的command_line,写上新的command_line.
# 'process-service-perfdata' command definition
define command{
command_name process-service-perfdata
#command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERVICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perfdata.out
command_line /usr/local/nagios/libexec/process_perfdata.pl
}

4:安装pnp
#./configure –with-rrdtool=/usr/local/rrdtool-1.0.50/bin/rrdtool
#make all
#make install
5:配置被监控端的文件

加入action_url和process_perf_data2个变量。
在使用该绘图功能的时候,一定要配置apache支持php功能。

6:重启httpd服务器和nagios服务.

三:飞信报警功能
1:安装飞信所需要的的libACE库文件
2:安装飞信软件
#tar –zxvf feition20091117-linux.tar.gz –C /usr/local
#mv /usr/local/fx /usr/local/fetion
3:加入执行权限、更换属组
#Chmod +x fetion
#chown –R nagios.nagcmd fetion
4:复制安装libACE下的lib目录中的文件到/usr/lib
[iyunv@nagios library32]# ls
libACE.so.5.4.7  libACE_SSL.so.5.4.7  libcrypto.so.0.9.8  libssl.so.0.9.8
[iyunv@nagios library32]# cp *.* /lib/
[iyunv@nagios library32]# cp *.* /usr/lib/
5:加入飞信.so文件到系统链接库
#vi /etc/ld.so.conf.d/fetion.conf
加入/usr/local/fetion
#ldconfig
6:配置commands.cfg文件
define command{
command_name host-notify-by-fetion
command_line /usr/local/fetion/fetion --hide --mobile=150xxxxxxx2 --pwd=xxx --to=$CONTACTPAGER$ --msg-utf8="HOST $HOSTSTATE$ Alert for $HOSTNAME$!on '$LONGDATETIME$'" $CONTACTPAGER$
}
define command{
command_name service-notify-by-fetion
command_line /usr/local/fetion/fetion --hide --mobile=150xxxxx2 --pwd=xxxxx --to=$CONTACTPAGER$ --msg-utf8="$HOSTADDRESS$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$" $CONTACTPAGER$
}

加入上面2个command,关于fetion的。
7:配置contacts.cfg
define contact{
        contact_name                    nagiosadmin  ; Short name of user
use    generic-contact  ; Inherit default values from generic-contact template (defined above)
        alias                           Nagios Admin  ; Full name of user
        email    zjj17xx1@xxxxxx.com
;,rtong@xxxxxt.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
service_notification_period 24x7
host_notification_period 24x7
service_notification_options w,u,c,r
host_notification_options d,u,r
service_notification_commands notify-service-by-email,service-notify-by-fetion
host_notification_commands notify-host-by-email,host-notify-by-fetion
contactgroups sagroup
;pager 1386xxxxxx

注意pager变量是一个手机号。注意注释的fetion。
8:重启httpd和nagios服务。

nagios安装基本结束。

运维网声明 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-4757-1-1.html 上篇帖子: 使用Nagios监控esx、esxi、vcenter 下篇帖子: Nagios+Centreon+Nrpe集成(一) 服务器 安装

尚未签到

发表于 2013-4-3 09:25:33 | 显示全部楼层
不在放荡中变坏,就在沉默中变态!

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

累计签到:1 天
连续签到:1 天
发表于 2013-5-16 13:26:52 | 显示全部楼层
长大了娶唐僧做老公,能玩就玩一玩,不能玩就把他吃掉。

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

尚未签到

发表于 2013-5-17 15:51:18 | 显示全部楼层
好好 学习了 确实不错

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

尚未签到

发表于 2013-5-18 20:41:22 | 显示全部楼层
找到好贴不容易,我顶你了,谢了

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

发表于 2013-5-20 04:47:13 | 显示全部楼层
只要不下流,我们就是主流!

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

尚未签到

发表于 2013-5-21 05:50:47 | 显示全部楼层
勿以坑小而不灌,勿以坑大而灌之。

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

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

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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