• zabbix监控没有绑定固定端口的两种方式


    zabbix3.0.4添加对进程的监控:

    方法一:通过自定义命令进行监控

    主要思路:

    通过 ps -ef|grep sdk-push-1.0.0.jar |grep -v grep|wc -l 这个命令来判断进程sdk-push是否运行,如果不等于1则表示进程挂了,触发报警

    被监控的zabbix-agent端:
    添加监控参数:
    # vim /etc/zabbix/zabbix_agentd.conf

    UserParameter=sdk_push,ps -ef|grep sdk-push-1.0.0.jar |grep -v grep|wc -l

    重启zabbix-agent使配置生效

    service zabbix-agent restart

    zabbix-server测试是否ok,当端口不是默认的10050时,需要添加-p指定端口:
    zabbix_get -s 1.1.1.1 -p 20050 -k sdk_push

    在zabbix的web页面添加对应的监控:

    添加监控项item
    Confuguration --> Hosts --> 找到对应的主机,点开 Items --> Create item

    创建对该监控项的触发器
    Confuguration --> Hosts --> 找到对应的主机,点开 Triggers --> Create trigger


    当然还可以定义动作action来对应用进行重新启动,如果应用较为复杂不建议这么做

    最后不要忘记测试,可以将进程停止看是否会报警

    方法二:通过zabbix自带的模板对指定进程进行监控



    以下是对elasticsearch进程的监控配置,key中的参数说明,第一个参数是进程名字,没必要填写,填了反而会使监控不太准确,第二个参数是运行进程的用户名,第三个为进程的状态 ,包括:all (default), run, sleep, zomb ,第四个参数用来指定进程名中包含的字符,对进程进行过滤。

    items --> create item
    Name: amount of es
    Type: Zabbix agent
    Key: proc.num[,yunva,all,elasticsearch]
    Application: process monitor


    Key: proc.num[,yunva,all,elasticsearch] 中的值yunva要根据实际情况填写(运行elasticsearch程序的用户)

    注意Type要选择Type: Zabbix agent 因为Type: Zabbix agent(active) 模式不能执行远程命令

    3.配置好监控项后,添加触发器,如下触发器表示最后两次的值都是0,说明没有elasticsearch进程在运行,则出发报警。
    trggiers --> create trigger

    Name: process of es is down
    Expression: {hostname:proc.num[,yunva,all,elasticsearch].max(#2)}=0


    通过自带模板对端口进行监控

    添加item:
    name: yuyin file port 9999
    Type: zabbix agent
    key : net.tcp.listen[9999]


    trigger:

    Name: yuyin port 9999 is down
    Expression: {Template OS Linux_yuyin_file_aiwaya:net.tcp.listen[9999].max(#2)}=0

  • 相关阅读:
    Asp.Net 获取客户端真实IP方法总结
    C# 中英文符号互转(半角全角互转)
    执行git commit命令提示: “Please tell me who you are”的解决方案
    Tools
    VSC
    DevOps
    VSC
    DevOps
    DevOps
    K8S
  • 原文地址:https://www.cnblogs.com/taoge188/p/8435860.html
Copyright © 2020-2023  润新知