Zabbix监控特定进程配置详解

有时候我们需要监控一个进程是否停掉了,如果停掉了就立马报警,以下记录了下详细步骤,通过这个示例会学到很多zabbix核心配置相关的东西。
总的来说,配置一个完整的监控流程如下:

  • 1.创建监控项,即配置要监控的指标,如内存的使用率,CPU的使用率,进程的运行状况等,配了监控项后就会定时收集机器的配置信息,然后等待zabbix server收集(zabbix agent被动模式)。
  • 2.创建触发器,触发器将监控项收集的数据通过触发器表达式进行评估。
    在触发器表达式中我们可以定义哪些值范围是合理,哪些是不合理的,如果出现不合理的值,触发器会把状态改为PROBLEM,接下来就到了报警以及发邮件。
  • 3.创建动作,在zabbix中动作的意思是触发器触发后要进行的操作,一般是通过配置给相关负责人发送邮件,短信等通知。

下面配置监控服务器的logstash(开源实时日志同步项目)进程是否在运行:

  • 1.首先创建监控进程的监控项:
    监控项的组成:key[参数]
    例如获取5分钟的负载情况:system.cpu.load[avg5],avg5是对应的参数。
    zabbix agent支持的所有key可以到这里找到:
    http://www.ttlsa.com/zabbix/zabbix-agent-types-and-all-keys/
    在这里我们需要的是proc.num这个key,以下是对此key的详解:

    可以看到此监控项的返回值是进程数量,其中cmdline参数可以是进程名字包含的关键字,在这里我的进程的关键字是logstash,因此按如下方式创建监控logstash进程的监控项,表示机器所有用户所有状态的logstash进程数量:
  • 2.创建对应监控项的触发器:
    创建触发器主要是编写触发器表达式,也就是评估监控项是否在合理范围的表达式。触发器表达式格式如下:
{<host>:<key>.<function>(<parameter>)}<operator><constant>
{主机:key.函数(参数)}<表达式><常数>

对于触发器表达式更加详细的介绍请参考这里:
http://www.ttlsa.com/zabbix/zabbix-trigger-expression/
触发器表达式示例:
触发器名称:Processor load is too high on www.zabbix.com

{www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5

触发器说明:
www.zabbix.com:host名称
system.cpu.load[all,avg1]:item值,一分内cpu平均负载值
last(0):最新值
>5:最新值大于5
如上所示,www.zabbix.com这个主机的监控项,最新的CPU负载值如果大于5,那么表达式会返回true,这样一来触发器状态就改变为“problem”了。
在这里针对logstash进程触发器配置如下:


上面配置表示如果机器logstash进程数量的最新值小于1,就会触发报警。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Zabbix简介 Zabbix官方网站Zabbix中文文档 本文系统环境是CentOS7x86_64, Zabbi...
    Zhang21阅读 8,127评论 0 37
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,087评论 19 139
  • 1、自定义key 接口:server端之所以能够监控agent端,是因为agent端有一个的接口,这个接口用于和s...
    张大志的博客阅读 788评论 0 2
  • 1.写在前面 本文主要介绍的是zabbix的编译安装过程,包含它的基础环境LNMP,虽然zabbix官方一般推荐的...
    天之蓝色阅读 2,577评论 0 16
  • 偶然听到一首歌,七月上。节凑轻松舒缓,一下子就被歌曲中的意境吸引。一人一把吉他走遍大江南北,沉浸在自己的歌声中,游...
    小样过来吧阅读 252评论 0 0