Zabbix通过进程名监控进程状态配置详解

Zabbix通过进程名监控进程状态配置详解Zabbix通过进程名监控进程状态配置详解有时候我们只能通过进程名监控一个进程是否停掉了,因为有的进程并没有对外提供端口号,以下记录了下详细步骤,通过这个示例会学到很多zabbix核心配置相关的东西。总的来说,配置一个完整的监控流程如下:1.创建监控项,即配置要监控的指标,如内存的使用率,CPU的使用率,进程的运行状况等,配了监控项后就会定时收集机器的配置信息,然后等待zabbix…

大家好,又见面了,我是你们的朋友全栈君。

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>[param].<function>(<parameter>)}<operator><constant>
{主机:监控项.函数(参数)}<表达式><常数>

对于触发器表达式更加详细的介绍请参考这里:
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,就会触发报警。

  • 3.配置动作发送短信和邮件报警:
    以下是短信配置方式,邮件配置类似,其中应用集是自己创建的,主要用来分类,具体的自行研究:
    这里写图片描述
    这里写图片描述

参考文章:
zabbix item key详解
zabbix agent 类型所有key
zabbix触发器表达式详解

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/140545.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java 字符串中的每个单词的倒序输出「建议收藏」

    java 字符串中的每个单词的倒序输出「建议收藏」 面试题之–java 字符串中的每个单词的倒序输出1、输入一句英文,将句子倒序输出,忽略最后的标点。package shenjin;import java.util.Scanner;/** * 输入一句英文,将英文句子反转 * * @author LENOVO * */public class ReverseEnglish { public static vo…

    2022年6月13日
    34
  • ArrayList 扩容规则[通俗易懂]

    ArrayList 扩容规则[通俗易懂]ArrayList()会使用长度为零的数组ArrayList(intinitialCapacity)会使用指定容量的数组publicArrayList(Collection<?extendsE>c)会使用c的大小作为数组容量add(Objecto)首次扩容为10,再次扩容为上次容量的1.5倍addAll(Collectionc)没有元素时,扩容为Math.max(10,实际元素个数),有元素时为Math.max(原容量1.5倍,实际元素个数.

    2022年5月4日
    46
  • 如何查看linux操作系统版本号_如何查看centos版本

    如何查看linux操作系统版本号_如何查看centos版本Linux系统自问世后,产生了各种分支,目前主流的操作系统版本有reahat,Centos,Ubuntu,debian,Suselinux等,不同操作系统命令上也稍有区别,那么在linux主机上,我们怎么查看操作系统的版本号呢?工具/原料 xshell6 Centos7 方法/步骤 方式一:通过命令cat/etc/redhat-release,主要针对redhat系列,redhat,centos都可以通过此命令查看。 方式二:如下方法即可查看操作系统版本,

    2025年11月22日
    4
  • python数组操作方法_python的数组怎么用

    python数组操作方法_python的数组怎么用python列表数组类型,用中括号代表,具有顺序关系,可以修改,是最常用的数组bracket=[‘b’,’r’,’a’,’c’,’k’,’e’,’t’]pyhon元组数组类型,用小括号代表,具有顺序关系,不可以修改,是只读型数组,用来保护不需要改变的数据parentheses=(‘p’,’a’,’r’,’e’,’n’,’t’,’h’,’e’,’s’,’e’,’s’)python字典数组

    2025年7月31日
    3
  • Python自动化面试题(自动化测试面试基础问题)

    Python自动化测试面试题目汇总1、super是干嘛用的?在Python2和Python3使用,有什么区别?为什么要使用super?请举例说明。答:super用于继承父类的方法、属性。 super是新式类中才有的,所以Python2中使用时,要在类名的参数中写Object。Python3默认是新式类,不用写,直接可用。 使用super可以提高代码的复用性、可维护性。修改代码时,只需修改一处。 代码举例:classbaseClass:def.

    2022年4月12日
    72
  • js正则表达式语法

    js正则表达式语法

    2021年12月31日
    44

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号