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

nagios监控特定进程,check_nrpe

[复制链接]

尚未签到

发表于 2015-9-8 08:51:15 | 显示全部楼层 |阅读模式
  在Nagios服务端:
  /usr/local/nagios/libexec
  执行
  # ./check_nrpe -H 192.168.1.***(被监控主机内网IP)
  返回:
  Connection refused by host
  =========================
  http://www.zhouwenyi.com/node/11358
  今天公司需要监控淘客宝手机短信进程,写了个小脚本可以利用Nagios来进行监控:
0:OK
2: Critical
[iyunv@VM0362 libexec]# cat check_php
#!/bin/sh
phpcount=$(ps aux | grep '/usr/local/php/bin/php'| grep -v 'grep' | wc -l)
if [ $phpcount != 2 ]; then
        echo "Critical! Taokebao_sms IS died"
        exit 2
else
        echo "OK! Taokebao_sms IS alive"
        exit 0
fi
  
  
  
  
  http://pesen.blog.iyunv.com/4575807/812635
  
  nagios监控应用的进程。为什么要监控进程呢?这是因为对于一些应用,它通过程序本身来进行通讯,既不开启端口也没有输出,这让我们熟悉了nagios监控端口和输出的人无从下手,只好监控应用的进程了。在这儿我以keepalived为例,整理一下监控进程的方法。
  我采用的是nrpe的方法进行的监控。当然,也可以采用nagios自己定义的command来进行监控。不过自定义command监控就涉及到了监控机与被控机连接信任的问题。多了几个配置步骤,而且使用自定义command的时候还要传递参数,稍微反锁了一点。有现成的nrpe简单的多。做法如下:
  1、被监控机
  编辑nrpe配置文件:
  


  • vi /usr/local/nagios/etc/nrpe.cfg
  在文件末尾添加:
  


  • command[check_keepalived]=/usr/local/nagios/libexec/check_keepalived
  在nagios插件目录下创建脚本文件:
  


  • vi /usr/local/nagios/libexec/check_keepalived
  添加如下内容:
  


  • #!/bin/sh
  • KPD=`ps aux | grep 'keepalived -D' |grep -v grep |wc -l`
  • if [ $KPD != 2 ] //进程数的设定以自己系统当中的数量为准
  • then
  • echo "Critical!Keepalived process count is $KPD"
  • exit 2
  • fi
  • echo "OK . Keepalived process count is $KPD"
  • exit 0
  保存退出。
  更改属主和属组,增加可执行权限:
  


  • chown nagios:nagios /usr/local/nagios/libexec/check_keepalived
  • chmod +x /usr/local/nagios/libexec/check_keepalived
  重启nrpe:
  


  • killall -9 nrpe
  • ps -ef | grep nrpe
  • /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
  • ps -ef | grep nrpe
  2、nagios监控机设置
  
  定义主机组---根据个人需求定义
  


  • vi /usr/local/nagios/etc/objects/yidongIDC/hosts.cfg //这是我自己定义的配置文件,刚安装的nagios没有这个文件。需要自己创建,并且将配置文件添加到nagios.cfg主配置文件中。具体写法为:cfg_file=[配置文件全路径]。
  添加如下内容(members中涉及到的主机已经在上面定义了):
  


  • define hostgroup{
  • hostgroup_name keepalived-servers
  • alias The servers who have keepalived service
  • members web110,web111,localhost,web115
  • }
  创建监控keepalived服务的配置文件
  


  • vi /usr/local/nagios/etc/objects/yidongIDC/keepalived_monitor.cfg
  添加如下内容:



  • define service{
  • use generic-service
  • hostgroup_name keepalived-servers
  • service_description CHECK_KEEPALIVED
  • is_volatile 0
  • max_check_attempts 2
  • normal_check_interval 2
  • retry_check_interval 1
  • check_command check_nrpe!check_keepalived
  • }
  更该文件属主属组,更改权限
  


  • chown nagios:nagios /usr/local/nagios/etc/objects/yidongIDC/keepalived_monitor.cfg
  • chmod 755 /usr/local/nagios/etc/objects/yidongIDC/keepalived_monitor.cfg
  重置nagios



  • /etc/init.d/nagios reload
  至此配置完成。监控效果如下图:
DSC0000.png
DSC0001.gif
  本文出自 “运维之道” 博客,请务必保留此出处http://pesen.blog.iyunv.com/4575807/812635
  
  
  
  http://blog.iyunv.com/yuanxuran0101/article/details/5844967
  安装完nagios后准备监控被监控服务器上的某一程序,脚本通过查看进程状态返回状态值,并传送给nagios,来达到监控目的。
  nagios每个插件监控会返回以下状态值,我只用到了 0 、1、 2
  #!/bin/bash -x
  # Exit values:
# ------------
#    0  OK
#    1  Warning
#    2  Cirital
#    3  Unknown
#    Others Unknown
  ##############################################
  dfs_process=`ps -ef | grep './dfs client' | grep -v grep`
if [ -z "$dfs_process" ];then
        echo "Critical the program of gather is down !!!"
        exit 2
fi
  process_ppid=`echo $dfs_process|awk '{print $3}'`
process_pid=`echo $dfs_process|awk '{print $2}'`
  if [ $process_ppid = 1 ];then
        echo 'The process of dfs put back'
        exit 1
else
        while [ $process_ppid != 1 ]
                do
                old_process_ppid=$process_ppid
                process_ppid=`ps -ef | grep $process_ppid | grep -v $process_pid | grep -v grep | awk '{print $3}'`
                process_pid=`ps -ef | grep $old_process_ppid| grep -v $process_pid | grep -v grep|awk '{print $2}'`
                done
        dfs_pprocess=`ps -ef | grep "$process_pid     1" | grep -v grep`
        echo "process of './dfs client' OK ! - Parent process is `echo $dfs_pprocess | awk '{print $8,$9,$10}'`"
        exit 0
  fi
  
  然后打开被监控端nrpe的配置文件
  # vi /usr/local/nagios/etc/nrpe.cfg
  添加:
  command[check_dfs]=/usr/local/nagios/libexec/check_dfs.sh
  
  就可以在监控端定制监控服务(service.cfg)了
  
  http://blog.sina.com.cn/s/blog_659b48590100n2qj.html
  


用到的脚本为安装后  nagios/libexec 目录下的 check_procs



check_procs -w 2:2 -c 1:1024 -C test -u test



用户为test进程名为 test 的 进程  在 2:2 这个范围以外警告,在1:1024 范围以外报警



详解等- -

http://www.cnblogs.com/oubo/archive/2011/12/12/2394634.html

  例如:需要监控Mysqld后台服务进程是否启动 修改/usr/local/nagios/etc/nrpe.cfg文件,在最后面添加如下一行:



command[check_mysql]=/usr/local/nagios/libexec/check_procs -c 2:2 -a mysqld
  
  再修改/usr/local/nagios/etc/objetc/services.cfg,加入以下配置:





# Define services to Mysqld
define service{
        use                                  local-service         ; Name of service template to use
        #host_name                           192.168.0.36
        hostgroup_name                       mysql-servers
        service_description                  Mysql Server
        contact_groups                       admins;Monitors         ; Notifications get sent to the admins by default
        check_command                        check_nrpe!check_mysqld
}



  再重启nagios服务即可;



sudo /etc/init.d/nagios restart





http://hi.baidu.com/zjx416/item/44474b1004b33038b831802f






nagios plugins 之check_procs


  旨在帮助和我一样的菜鸟,高手请绕道!
  用法:
  
  Usage: check_procs -w <range> -c <range> [-m metric] [-s state] [-p ppid]  [-u user] [-r rss] [-z vsz] [-P %cpu] [-a argument-array]
  [-C command] [-t timeout] [-v]
  现在就来解释下逐个参数的意思
  -w -c 大家都知道,设置警告和严重警告的范围。一般都是设置一个数字,这样设置的话,进程数比设置的更大才报,比如
  
  
  [iyunv@udb151k libexec]# ./check_procs -w 84 -c 90
  PROCS OK: 83 processes
  
  
  还具有另一种写法
  
  [iyunv@udb151k libexec]# ./check_procs -w 84: -c :90
  PROCS WARNING: 83 processes  冒号的意思是大于或者小于,这里的意思是小于84 或 大于90 报警
  -m 以什么来衡量报警,后面的参数有
  
  PROCS   - number of processes (default)  以进程的数量(默认)
  VSZ     - virtual memory size  占用虚拟内存的大小
  RSS     - resident set memory size占用物理内存的大小
  CPU     - percentage CPU 占用CPU的比例
  -s  以进程的状态加以区分,进程的状态有很多种,详细可ps -exX 查看
  -p  进程的父进程
  -u  进程的UID
  -r  实际使用的物理内存
  -z 虚拟内存
  -P 占用CPU
  -a  设定字符串
  -C 进程的命令
  -t  超时设定
  -a 的缺点:很多时候,我们要监控一个进程是否正常,这个时候很多人都喜欢用-a 加上自己进程的参数名称来监控,这样做其实很容易引起不必要的报警,它会找出所有符合设定的字符串的进程,比如,我们在vi一个同名的文件或者查看该目录下的文件时:
  
  
  [iyunv@udb151k libexec]# ./check_procs  -w 1: -c :2 -a mysqld
  PROCS CRITICAL: 3 processes with args 'mysqld'
  
  这个时候用-C是更准确的:
  
  [iyunv@udb151k libexec]# ./check_procs  -w 1: -c :2 -C mysqld
  PROCS OK: 1 process with command name 'mysqld'






==============================



http://space.itpub.net/27043155/viewspace-732183

  NRPE分为两部分:
  
  u      check_nrpe插件,位于监控机器Nagios本地;
  u      NRPE守护进程,位于远程被监控的Linux/Unix主机;
  
     当Nagios需要从远程Linux/Unix主机监控服务资源时,需要进行以下步骤:
  
  n        Nagios将会执行check_nrpe插件,并且告诉它什么样的服务需要监测;
  n        插件check_nrpe将会联系远程主机的NRPE守护进程,根据需要可以选择SSL保护连接;
  n        NRPE守护进程选择适当的Nagios插件监测服务或者资源;
  n        服务检测的结果将会通过check_nrpe插件传递到NRPE守护进程,换句话说就是将被监控主机上监控的结果传回到Nagios的守护进程;
  
     这里需要说明的一点是NRPE需要将Nagios插件安装在远程的Linux/Unix主机上,如果没有安装这些插件,那么NRPE守护进程什么也干不了。

运维网声明 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-110846-1-1.html 上篇帖子: Configure new Nagios clients 下篇帖子: Nagios监控远程主机
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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