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

nagios 3.4.1监控window与linux,并实现飞信报警

[复制链接]

尚未签到

发表于 2019-1-15 09:46:25 | 显示全部楼层 |阅读模式
  一,实验环境,
  1,监控端:希望用网页界面来显示监控结果,因此需要安装apache和php,如果希望将数据存储到数据库中还需要安装mysql。centos 6.3 64,nrpe-2.13.tar.gz, nagios-3.4.1.tar.gz
nagios-plugins-1.4.16.tar.gz。
  二,配置安装监控端:
  1,安装环境,

  •   # yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql
  •   由于我这是服务器是从数据库。因此少安装了mysql-server,mysql已经编译好了,如果你主机上没有mysql则可以执行下面这条命令
  •   # yum -y install httpd gcc glibc glibc-common gd gd-devel php php-mysql mysql mysql-devel mysql-server
  •   # yum -y groupinstall 'Development tools'
  2,添加nagios运行行需要用户和组

  •   # groupadd  nagcmd 这个用户组用于从web接口执行外部命令
  •   # useradd -G nagcmd nagios ,不能加-s /sbin/nologin,下面启动nagios服务需要用到,如果加了
  •   -s /sbin/nogloin启动服务时会提示Starting nagios:This account is currently not available.
  •   # passwd nagios
  •   把apache加入到nagcmd组,以便于在通过web Interface操作nagios时能够具有足够的权限:
  •   # usermod -a -G nagcmd apache
  三,编译nagios

  •   # tar zxf nagios-3.4.1.tar.gz
  •   # cd nagios
  •   # ./configure --with-command-group=nagcmd --enable-event-broker
  •   # make all
  •   # make install
  •   # make install-init
  •   # make install-commandmode
  •   # make install-config
  •   # make install-webconf  在/etc/httpd/conf.d/生成了nagios.conf
  •   # cd /usr/local/nagios
  •   # ls
  •   bin  etc  libexec  sbin  share  var 如果有这个五个目录则nagios安装成功
  •   #创建一个登录nagios web程序的用户,这个用户帐号在以后通过web登录nagios认证时所用:
  •   # htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
  四,编译nagios-plugin
  nagios的所有监控工作都是通过插件完成的,因此,在启动nagios之前还需要为其安装官方提供的插件。

  •   # tar zxf nagios-plugins-1.4.16.tar.gz
  •   # cd nagios-plugins-1.4.16
  •   # ./configure --with-nagios-user=nagios --with-nagios-group=nagios
  •   # make
  •   # make install
  •   如果出现下面错误则需要安装 yum -y install openssl openssl-devel
  •   check_http.c:312: error: ?.sl_version?.undeclared (first use in this function)
  •   check_http.c:312: error: (Each undeclared identifier is reported only once
  •   check_http.c:312: error: for each function it appears in.)
  •   make[2]: *** [check_http.o] Error 1
  •   make[2]: Leaving directory `/root/nagios-plugins-1.4.16/plugins'
  •   make[1]: *** [all-recursive] Error 1
  •   make[1]: Leaving directory `/root/nagios-plugins-1.4.16'
  •   make: *** [all] Error 2
  •   #make clean
  •   #make && make install
  五、配置并启动Nagios
  (1)把nagios添加为系统服务并将之加入到自动启动服务队列:
  # chkconfig --add nagios
  # chkconfig nagios on
  (2)检查其主配置文件的语法是否正确:
  # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  (3)如果上面的语法检查没有问题,接下来就可以正式启动nagios服务了:
  # service nagios start
  #启动http服务 service httpd start
  # /etc/init.d/iptables stop
  (4)配置selinux
  如果系统开启了selinux服务,则默认为拒绝nagios web cgi程序的运行。
  #setenforce 0 表示暂时关闭
  如果想完全关闭selinux,可以通过编辑/etc/sysconfig/selinux文件,将其中的selinux后面的值“forceing”修改为“disabled”即可,但是需要重启。
  当然,也可以通过以下方式将nagios的CGI程序运行于SELinux/targeted模式而不用关闭selinux:
  # chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin
  # chcon -R -t httpd_sys_content_t /usr/local/nagios/share
  (5)通过web界面查看nagios:192.168.1.15是我监控端的IP.
  http://192.168.1.15/nagios
  登录时需要指定前面设定的web认证帐号和密码。
  打开网页如果看到:HTTP WARNING: HTTP/1.1 403Forbidden
  因为nagios监控/var/www/html/下面的index.html文件,若没有就会提示错误,创建一个文件即可!
  echo "welcome" > /var/www/html/index.html
  (6)Nagios的主配置文件
  1,Nagios的主配置文件/usr/local/nagios/etc/nagios.cfg,其语法非常简洁,通常#开头的行为注释行,而参数的设置格式为=;其中,有些参数是可以重复出现的。其中常用的参数说明如下:
  log_file: 设定Nagios的日志文件;
  cfg_file: Nagios对象定义的相关文件,此参数可重复使用多次以指定多个文件;
  cfg_dir:  设定Nagios对象定义的相关文件所在的目录,此目录中的所有文件都会被作为对象定义的文件;此参数可重复使用多次以指定多个目录;
  resource_file: 设定Nagios附加的宏定义的相关文件;
  status_file: 设定Nagios存储所有主机和服务当前状态信息的文件;
  status_update_interval: 设定status_file指定的文件中状态信息的更新频率;
  service_check_timeout: 设定服务检测的超时时间,默认为60秒;
  host_check_timeout: 设定主机检测的超时时间,默认为30秒;
  notification_timeout: 设定通知信息发送尝试的超时时间,默认为30秒;
  2、resource_file和宏定义
  在主配置文件中,参数resource_file用于定义所有用户变量(即“宏”)的存储文件,它用于存储对象定义中的可以访问的额外信息,如访问某服务的密码等;因此,这些信息通常都是些敏感数据,一般不允许通过Web接口来访问。此文件中可以定义的宏可多达32个,它们分别为$USER1$,$USER2$...$USER32,这些宏一般在check命令中引用。通常情况下$USER1$用于引用Nagios插件所在目录这个路径信息,因此,一般不建议修改其值。
  3,Nagios事先定义了许多宏,它们的值通常依赖于其上下文。如下:
  HOSTNAME: 用于引用host_name指定所定义的主机的主机名;每个主机的主机名都是唯一的;
  HOSTADDRESS: 用于引用host对象中的address指令的值,它通常可以为IP地址或主机名;
  HOSTDISPLAYNAME: 用于引用host对象中alias指令的值,用以描述当前主机,即主机的显示名称;
  HOSTSTATE:某主机的当前状态,为UP,DOWN,UNREACHABLE三者之一;
  HOSTGROUPNAMES: 用于引用某主机所属的所有主机组的简名,主机组名称之间以逗号分隔;
  LASTHOSTCHECK:用于引用某主机上次检测的时间和日期,Unix时间戳格式;
  LISTHOSTSTATE:用于引用某主机前一次检测时的状态,为UP,DOWN或UNREACHABLE三者之一;
  SERVICEDESC: 用于引用对应service对象中的desccription指令的值;
  SERVICESTATE: 用于引用某服务的当前状态,为OK,WARNING,UNKOWN或CRITICAL四者之一;
  SERVICEGROUPNAMES: 用于引用某服务所属的所有服务组的简名,服务组名称之间以逗号分隔;
  CONTACTNAME: 用于引用某contact对象中contact_name指令的值;
  CONTACTALIAS: 用于引用某contact对象中alias指令的值;
  CONTACTEMAIL: 用于引用某contact对象中email指令的值;
  CONTACTGROUPNAMES: 用于引用某contact所属的所有contact组的简名,contact组名称之间以逗号分隔;
  4,Nagios 3还支持自定义宏,只是它的定义和使用方式比较独特。管理员可以在某类型对象的定义中使用额外的指令,并能够在命令中使用特别格式的宏来引用此指令的值。其引用方式根据对象类型的不同也有所不同,具体如下:
  $_HOST$ – 引用在主机对象中定义的指令的值;
  $_SERVICE$ – 引用在服务对象中定义的指令的值;
  $_CONTACT$ – 引用在联系人对象中定义的指令的值;
  六、基于NRPE监控远程Linux主机
  1,Nagios监控远程主机的方法有多种,其方式包括SNMP、NRPE、SSH和NCSA等。这里介绍其通过NRPE监控远程Linux主机的方式。
  2,NRPE(Nagios Remote Plugin Executor)是用于在远端服务器上运行检测命令的守护进程,它用于让Nagios监控端基于安装的方式触发远端主机上的检测命令,并将检测结果输出至监控端。而其执行的开销远低于基于SSH的检测方式,而且检测过程并不需要远程主机上的系统帐号等信息,其安全性也高于SSH的检测方式。
  2、安装配置被监控端
  1)先添加nagios用户
  # useradd -s /sbin/nologin nagios
  2)NRPE依赖于nagios-plugins,因此,需要先安装

  •   # tar zxf nagios-plugins-1.4.16.tar.gz
  •   # cd nagios-plugins-1.4.16
  •   # ./configure --with-nagios-user=nagios --with-nagios-group=nagios
  •   # make all
  •   # make instal
  3)安装NRPE

  •   # tar -zxvf nrpe-2.13.tar.gz
  •   # cd nrpe-2.13.tar.gz
  •   # ./configure --with-nrpe-user=nagios \
  •   --with-nrpe-group=nagios \
  •   --with-nagios-user=nagios \
  •   --with-nagios-group=nagios \
  •   --enable-command-args \
  •   --enable-ssl
  •   # make all
  •   # make install-plugin
  •   # make install-daemon  安装成守护进程
  •   # make install-daemon-config  守护进程的配置文件
  •   

  •   修改nrpe配置文件
  •   #vim /usr/local/nagios/etc/nrpe.cfg
  •   allowed_hosts=192.168.1.15 监控端的IP
  4)启动NRPE

  •   # /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d
  为了便于NRPE服务的启动,可以将如下内容定义为/etc/init.d/nrped脚本:

  •   #!/bin/bash
  •   # chkconfig: 2345 88 12
  •   # description: NRPE DAEMON
  •   NRPE=/usr/local/nagios/bin/nrpe
  •   NRPECONF=/usr/local/nagios/etc/nrpe.cfg
  •   case "$1" in
  •   start)
  •   echo -n "Starting NRPE daemon..."
  •   $NRPE -c $NRPECONF -d
  •   echo " done."
  •   ;;
  •   stop)
  •   echo -n "Stopping NRPE daemon..."
  •   pkill -u nagios nrpe
  •   echo " done."
  •   ;;
  •   restart)
  •   $0 stop
  •   sleep 2
  •   $0 start
  •   ;;
  •   *)
  •   echo "Usage: $0 start|stop|restart"
  •   ;;
  •   esac
  •   exit 0
  七、在监控端安装NRPE

  •   # tar -zxvf nrpe-2.13.tar.gz
  •   # cd nrpe-2.13.tar.gz
  •   # ./configure --with-nrpe-user=nagios \
  •   --with-nrpe-group=nagios \
  •   --with-nagios-user=nagios \
  •   --with-nagios-group=nagios \
  •   --enable-command-args \
  •   --enable-ssl
  •   # make all
  •   # make install-plugin
  八,使用nrpe监控Linux主机

  •   1)在监控端,测试远程主机(被监控端)
  •   #cd /usr/local/nagios/libexec/
  •   # ./check_nrpe -H 192.168.1.12
  •   NRPE v2.13
  •   表示命令能够正常监控
  •   2)定义如何监控远程主机及服务:
  •   通过NRPE监控远程Linux主机要使用chech_nrpe插件进行,其语法格式如下:
  •   check_nrpe -H  [-n] [-u] [-p ] [-t ] [-c ] [-a ]
  •   #cd /usr/local/nagios/etc/objects
  •   #vim command.cfg
  •   3)定义监控远程Linux主机的命令:
  •   define command
  •   {
  •   command_name check_nrpe
  •   command_line $USER1$/check_nrpe –H "$HOSTADDRESS$" -c $ARG1$
  •   }
  •   4)定义被监控机的主机
  •   #vim  linuxhost.cfg
  •   define host{
  •   use             linux-server
  •   host_name       linuxhost
  •   alias           My linux host
  •   address         192.168.1.12
  •   }
  •   define service{
  •   use                     generic-service
  •   host_name               linuxhost
  •   service_description     CHECK USERS
  •   check_command           check_nrpe!check_users
  •   }
  •   define service{
  •   use                     generic-service
  •   host_name               linuxhost
  •   service_description     load
  •   check_command           check_nrpe!check_load
  •   }
  •   define service{
  •   use                     generic-service
  •   host_name               linuxhost
  •   service_description     disk sda1
  •   check_command           check_nrpe!check_sda1
  •   }
  •   define service{
  •   use                     generic-service
  •   host_name               linuxhost
  •   service_description     Zombile procs
  •   check_command           check_nrpe!check_zombie_procs
  •   }
  •   define service{
  •   use                     generic-service
  •   host_name               linuxhost
  •   service_description     total procs
  •   check_command           check_nrpe!check_total_procs
  •   }
  •   check_nrpe!后面接的命令是在 /usr/local/nagios/etc/nrpe.cfg里写定义好的命令,如下面只有五个,中括号内的为命令名
  •   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_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1
  •   command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
  •   command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
  •   5)启用linuxhost.cfg文件
  •   vim /usr/local/nagios/etc/nagios.cfg添加一行
  •   cfg_file=/usr/local/nagios/etc/objects/linuxhost.cfg
  •   检查语法错误:
  •   /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  •   没有提示错误,则下一步
  •   service  nagios restart
  •   打开http://192.168.1.15/nagios
  九,使用check_nt监控windows主机
  在window主机上需要先安装nsclient,根据自己的系统下载。
http://nsclient.org/nscp/downloads,在安装过程选择默认。安装到这里需要填写监控端的ip,与监控这台主机的密码。把下面都选中所支持的都选中。

  安装完之后在window命令行窗口查看没有没有启动5666和12489端口,如果有表示正常。

  十,在监控端操作,用命令能否正常监控被监控端,192.168.1.5为被监控端

  •   #cd /usr/local/nagios/bin/
  •   #./check_nt -h 查看帮助
  •   #./check_nt -H 192.168.1.5 -v UPTIME
  •   没有指定端口,而默认的端口是1248
  •   CRITICAL - Socket timeout after 10 seconds
  •   # ./check_nt -H 192.168.1.5 -v UPTIME -p 12489
  •   没有指定密码
  •   NSClient - ERROR: Invalid password.
  •   # ./check_nt -H 192.168.1.5 -v UPTIME -p 12489 -s admin
  •   System Uptime - 0 day(s) 0 hour(s) 24 minute(s)
  •   # ./check_nt -H 192.168.1.5 -p 12489 -v CPULOAD -w 80 -c 90  -l 5,80,90 -s admin
  •   CPU Load 10% (5 min average) |   '5 min avg Load'=10%;80;90;0;100
  •   一般信息             |  资源的性能信息
  •   他们之间输出要用|隔开,如果自己开发插件必须使用这种格式,如果
  •   只输出一般信息一行就行。
  •   -w 警告比例 -c 紧急比例 -l 表示过去5分钟的平均值,80%为警告,90%为紧急
  •   # ./check_nt -H 192.168.1.5 -p 12489 -v USEDDISKSPACE -w 80 -c 90 -l C -s admin
  •   C:\ - total: 50.01 Gb - used: 18.94 Gb (38%) - free 31.07 Gb (62%) | 'C:\ Used Space'=18.94Gb;40.01;45.01;0.00;50.01
  十一,在监控端定义好被监控端的主机,服务,命令
(1)定义命令

  •   cd /usr/local/nagios/etc/objects
  •   vim commands.cfg 在最后新增下列
  •   define command{
  •   command_name    check_nt
  •   \\定义命令的名字,可以跟插件的名字相同,
  •   command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s admin -v $ARG1$ $ARG2$
  •   \\$..$表示系统内置的宏,也就是所谓的变量
  •   \\$USER1$表示插件所在的目录
  •   \\-H 指定主机地址
  •   \\$HOSTADDRESS$ 应用到哪个主机,就用哪个主机的地址
  •   \\$ARG1$传递的参数
  •   \\-s指定密码,如果有需要加,如上面安装时设置了密码为admin
  •   }
  (2)定义主机

  •   #cd /usr/local/nagios/etc/objects
  •   vim window.cfg 修改原来默认的,将主机组一段注释。
  •   define host{
  •   use             windows-server  ; 使用模板,分号后面的表示注释
  •   host_name       winhost    ; 在nagios网页显示的主机名,修改成自己服务器的编号最好,方便记忆
  •   alias           My Windows host      ; A longer name associated with the host
  •   address         192.168.1.5    ; 被监控机的IP
  •   }
  •   define service{
  •   use                     generic-service
  •   host_name               winhost
  •   service_description     NSClient++ Version
  •   check_command           check_nt!CLIENTVERSION //传递给-v 的参数第一个参数
  •   }
  •   define service{
  •   use                     generic-service
  •   host_name               winhost
  •   service_description     Uptime
  •   check_command           check_nt!UPTIME
  •   }
  •   define service{
  •   use                     generic-service
  •   host_name               winhost
  •   service_description     CPU Load
  •   check_command           check_nt!CPULOAD!-l 5,80,90 //传递两过参数!CPULOAD 和-! -l 5,80,90
  •   }
  •   :.,$s@winserver@winhost@g  表示在当行到最后后,将所有的winserver替换成winhost
  (3)启用windows配置文件

  •   #cd /usr/local/nagios/etc/
  •   #vim nagios.cfg
  •   # Definitions for monitoring a Windows machine
  •   cfg_file=/usr/local/nagios/etc/objects/windows.cfg
  •   将此行的#删除,启用windows配置文件
  •   由于刚才修改过文件,最好检查配置文件语法有没有错误
  •   /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  •   Reading configuration data...
  •   Read main config file okay...
  •   Processing object config file '/usr/local/nagios/etc/objects/commands.cfg'...
  •   Warning: Duplicate definition found for command 'check_nt' (config file '/usr/local/nagios/etc/objects/commands.cfg', starting on line 240)
  •   表示重复定义了一个check_nt命令,在commands.cfg中有一个错误,240行
  •   Error: Could not add object property in file '/usr/local/nagios/etc/objects/commands.cfg' on line 241.
  •   Error processing object config files!
  •   在command.cfg中本来已经有一个check_nt,因此需要将其后面添加的命令注释。在原来的check_nt的命令行添加
  •   -s admin,因为在安装时设置了密码
  •   define command{
  •   command_name    check_nt
  •   command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$ -s admin
  •   }
  •   提示错误,因此按刚才的提示修正好错误
  •   #/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
  •   提示ok
  •   重新启动nagios服务
  •   #service nagios restart
  •   #打开http://192.168.1.15/nagios可以看到刚才的监控的winhost
  十二,监控mysql与http

  •   # ./check_http -H 192.168.1.12 先测试192.168.1.12上面的web服务 #cd /usr/local/nagios/etc/objects
  •   1)监控http
  •   定义命令
  •   在commands.cfg已经存在检测命令,因此无需添加,只需要在linuxhost.cfg文件定义好主机
  •   vim commands.cfg
  •   # 'check_http' command definition
  •   define command{
  •   command_name    check_http
  •   command_line    $USER1$/check_http -I $HOSTADDRESS$ $ARG1$
  •   }
  •   定义服务
  •   vim linuxhost.cfg  在最后一行再添加一个服务
  •   define service{
  •   use                     generic-service
  •   host_name               linuxhost
  •   service_description     web service
  •   check_command           check_http
  •   }
  •   #/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  •   # service nagios restart
  •   2)检测mysql
  •   vim commands.cfg 添加如下行
  •   define command {
  •   command_name check_mysql
  •   command_line  $USER1$/check_mysql -H $HOSTAADDRESS$ -u $ARG1$ -p $ARG2$
  •   }
  •   vim linuxhost.cfg 添加如下行 由于此文件存储了mysql的用户名与密码,需要额外小心
  •   define service{
  •   use                     generic-service
  •   host_name               linuxhost
  •   service_description     mysql server
  •   check_command           check_mysql  -uroot -p123456
  •   }
  •   # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
  •   # service nagios restart
  十三,定义向管理员发起通知

  •   #cd /usr/local/nagios/etc/objects
  •   [root@test1 objects]#vim templates.cfg
  •   define service{
  •   name                            local-service
  •   use                             generic-service 表示继承了generic-service里的全部属性,因此服务资源监控的联系人还是admins组
  •   max_check_attempts              4
  •   normal_check_interval           5
  •   retry_check_interval            1
  •   register                        0
  •   }
  •   查看contacs.cfg里定义的
  •   [root@test1 objects]# vim  contacts.cfg
  •   define contact{
  •   contact_name       nagiosadmin
  •   use                generic-contact  继承generic-contact里的属性,打开templates.cfg,generic-contact里定义什么时间接收邮件等一些属性
  •   alias              Nagios Admin
  •   email              nagios@qq.com 会发送到这个邮箱,这个邮箱可以修改成互联网的上的,但是本机需要有smtp客户端,
  •   查看是否有netstat -tan |grep 25 centos 6.0版本的系统已经改用postfix
                }
  •   define contactgroup{
  •   contactgroup_name       admins
  •   alias                   Nagios Administrators
  •   members                 nagiosadmin
  •   }
  •   [root@test1 objects]# vim commands.cfg 查看generic-service里的notify-host-by-email与notify-service-by-email
  •   define command{
  •   command_name    notify-host-by-email
  •   command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Host Alert: $HOSTNAME$ is $HOSTSTATE$ **" $CONTACTEMAIL$
  •   }
  •   # 'notify-service-by-email' command definition
  •   define command{
  •   command_name    notify-service-by-email
  •   command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$\n" | /bin/mail -s "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" $CONTACTEMAIL$
  •   }
  十四,定义飞信改送通知。http://blog.51yip.com/server/1397.html这个大师写得不借,我也按他的方式安装的。飞信命令已经上传至附件中,还需要下载飞信的依赖的库文件。如果不想下载,则到下载中心,下载,我已将飞信和飞信命令都上传。解压完后,再上传到linux中,
wget  http://www.it-adv.net/fetion/cenos54X64_20101113.rar
wget http://www.it-adv.net/fetion/linuxso_20101113.rar
  如果到下载中心下载我上传的飞信压缩包,则按下面步骤安装飞信

  •   #在fetion目录中应该有fetion程序和lib目录
  •   #mv fetion /usr/local/
  •   # vim /etc/ld.so.conf.d/fetion添加一行
  •   /usr/local/fetion/lib
  •   # ldconfig /usr/local/fetion/lib/ 后面每次执行一次都会下面的提示,不用管。
  •   ldconfig: /usr/local/fetion/lib/libstdc++.so.6 is not a symbolic link
  •   ldconfig: /usr/local/fetion/lib/libpamc.so.0 is not a symbolic link
  •   ldconfig: /usr/local/fetion/lib/libpam_misc.so.0 is not a symbolic link
  •   ldconfig: /usr/local/fetion/lib/libcap.so.1 is not a symbolic link
  •   ldconfig: /usr/local/fetion/lib/libcom_err.so.2 is not a symbolic link
  •   ldconfig: /usr/local/fetion/lib/libpcre.so.0 is not a symbolic link
  •   ldconfig: /usr/local/fetion/lib/libpam.so.0 is not a symbolic link
  •   ldconfig: /usr/local/fetion/lib/ld-linux.so.2 is not a symbolic link
  •   #chown nagios:nagios /usr/local/fetion
  •   # chmod +x /usr/local/fetion/fetion
  •   # /usr/local/fetion/fetion
  •   -bash: /usr/local/fetion/fetion: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
  •   #yum -y install ld-linux.so.2
  •   #ldconfig /usr/local/fetion/lib
  •   # /usr/local/fetion/fetion
  •   /usr/local/fetion/fetion: error while loading shared libraries: libACE-5.7.2.so: cannot open shared object file: No such file or directory
  •   #yum -y install openssl-devel
  •   #ldconfig /usr/local/fetion/lib
  •   # /usr/local/fetion/fetion
  •   /usr/local/fetion/fetion: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
  •   #yum -y install libgcc_s.so.1
  •   #ldconfig /usr/local/fetion/lib
  •   # /usr/local/fetion/fetion
  •   /usr/local/fetion/fetion: error while loading shared libraries: libgssapi_krb5.so.2: cannot open shared object file: No such file or directory
  •   #yum -y install libgssapi_krb5.so.2
  •   #ldconfig /usr/local/fetion/lib
  •   # /usr/local/fetion/fetion
  •   /usr/local/fetion/fetion: error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
  •   #yum -y install libz.so.1
  •   #ldconfig /usr/local/fetion/lib
  •   #/usr/local/fetion 显示这个表示飞信能正常使用
  •   Usage:
  •   --mobile=[mobile]
  •   --sid=[sid]
  •   --pwd=[pwd]
  •   --config=[config file] *format:index mobile password
  •   --index=[index no in config file,refer to sample.conf]
  •   --debug  *debug mode on
  •   --hide  *login fetion in hidden state
  •   --to=[mobile/sid]
  1)飞信安装好后,先测试能否发送,现在飞信可以用联通号注册,但是这个飞信程序只支持移动号码,因此需要用移动号码的飞信来测试。先送给自己试下,再给自己的飞信好友发送。

  •   [root@test1 ~]# /usr/local/fetion/fetion --mobile=1361263XXXX--pwd=xxxxx--to=1361263xxxx--msg-utf8="test"
  2)上面ok,则修改nagios

  •   cd /usr/local/nagios/etc/objects/
  •   1,定义命令 vim command.cfgs 添加下面内容
  •   define command {
  •   command_name notify-host-by-fetion
  •   command_line    /usr/local/fetion/fetion --mobile=1361265xxxx--pwd=123456--msg-utf8="$NOTIFICATIONTYPE$ Host: $HOSTNAME$ State: $HOSTSTATE$ Address: $HOSTADDRESS$ Info: $HOSTOUTPUT$ Date/Time: $LONGDATETIME$"--to=$CONTACTPAGER$
  •   }
  •   define command {
  •   command_name notify-service-by-fetion
  •   command_line    /usr/local/fetion/fetion --mobile=1361265xxxx--pwd=123456--msg-utf8=" $NOTIFICATIONTYPE$ Service: $SERVICEDESC$ Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$ Date/Time: $LONGDATETIME$ Additional Info: $SERVICEOUTPUT$"--to=$CONTACTPAGER$
  •   }
  •   注解:$CONTACTNAME$: 用于引用某contact对象中contact_name指令的值;也就是contacts.cfg定义的contact_name定义命令,当然也可将$CONTACTPAGER$直接修改成手机号码
  •   2,定义联系人
  •   vim 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                           nagios@qq.com      ;

运维网声明 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.iyunv.com/thread-663454-1-1.html 上篇帖子: nagios之自定义脚本篇 下篇帖子: nagios监控(服务器程序安装)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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