zabbix3.0.4使用shell脚本和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
通过自带模板对端口进行监控
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
zabbix3.0.4使用shell脚本和zabbix自带模板两种方法添加对指定进程和端口的监控的更多相关文章
- zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户
zabbix3.0.4获取数据库登陆用户趋势详解 主要思路: 通过zabbix客户端shell脚本mysql命令取出用户表中的数据将结果反馈给zabbix,画出趋势图 1.修改zabbix-agent ...
- Shell脚本中计算字符串长度的5种方法
有时在Linux操作系统中需要计算某个字符串的长度,通过查询资料整理了下目前Shell中获取字符串的长度的多种方法,在这里分享给大家,方法如下: 方法1: 使用wc -L命令wc -L可以获取到当前行 ...
- 在shell script中进行数值运算的两种方法
方法1:使用"$((计算式))"的方式进行数值运算,不需要使用declare命令显示声明数值型变量来存储计算结果: 方法2:使用declare命令配合"-i"选 ...
- shell脚本处理长参数的模板
shell脚本处理长参数的模板 一个shell模板,处理命令行参数,支持长短参数: #!/bin/bash # # FILE: kvm-clone-v2.sh # # DESCRIPTION: Clo ...
- Java执行shell脚本并返回结果两种方法的完整代码
Java执行shell脚本并返回结果两种方法的完整代码 简单的是直接传入String字符串,这种不能执行echo 或者需要调用其他进程的命令(比如调用postfix发送邮件命令就不起作用) 执行复杂的 ...
- python中执行shell的两种方法总结
这篇文章主要介绍了python中执行shell的两种方法,有两种方法可以在Python中执行SHELL程序,方法一是使用Python的commands包,方法二则是使用subprocess包,这两个包 ...
- 「python」: arp脚本的两种方法
「python」: arp脚本的两种方法 第一种是使用arping工具: #!/usr/bin/env python import subprocess import sys import re de ...
- python更新数据库脚本两种方法
最近项目的两次版本迭代中,根据业务需求的变化,需要对数据库进行更新,两次分别使用了不同的方式进行更新. 第一种:使用python的MySQLdb模块利用原生的sql语句进行更新 import MySQ ...
- 【Python】python更新数据库脚本两种方法
最近项目的两次版本迭代中,根据业务需求的变化,需要对数据库进行更新,两次分别使用了不同的方式进行更新. 第一种:使用python的MySQLdb模块利用原生的sql语句进行更新 1 import ...
随机推荐
- JSON必知必会,浅尝辄止的整理
在使用JSON时常见的安全漏洞通常发生在JavaScript从服务器获取到一段JSON字符串并将其转化为JavaScript对象时, 在定位JSON安全问题时,应该记住三件事情: 1.不要使用顶级数组 ...
- Zookeeper3.4.10 + ActiveMQ-5.15.0 集群搭建
网上的教程真的是凤毛麟角,就不想说啥了,一次一次把我带入坑. 好了关于Zookeeper的搭建已经说好了,本文说说基于Zookeeper的MQ集群. 第一步.将mq安装包上传到CentOS7,并解压 ...
- HTML中使用<input>添加的按钮打开一个链接
在HTML中,<form>表单的<input type="button">可以添加一个按钮.如果想让该按钮实现<a> 的超链接功能,需要如下实现 ...
- Adobe Premiere Pro CC ------ 快捷键
ctrl + ~:全屏 Esc:退出全屏
- 基于pycaffe的网络训练和结果分析(mnist数据集)
该工作的主要目的是为了练习运用pycaffe来进行神经网络一站式训练,并从多个角度来分析对应的结果. 目标: python的运用训练 pycaffe的接口熟悉 卷积网络(CNN)和全连接网络(DNN) ...
- Spark记录-Spark-Shell客户端操作读取Hive数据
1.拷贝hive-site.xml到spark/conf下,拷贝mysql-connector-java-xxx-bin.jar到hive/lib下 2.开启hive元数据服务:hive --ser ...
- mySQL数值类型的取值范围
如下图,int最大为2145483647,手机号码应该用bigint
- 【1】【JUC】Condition和生产者消费者模型
本篇文章将介绍Condition的实现原理和基本使用方法,基本过程如下: 1.Condition提供了await()方法将当前线程阻塞,并提供signal()方法支持另外一个线程将已经阻塞的线程唤醒. ...
- UVALive 4850 Installations 贪心
题目链接 题意 工程师要安装n个服务,其中服务Ji需要si单位的安装时间,截止时间为di.超时会有惩罚值,若实际完成时间为ci,则惩罚值为max{0,ci-di}.从0时刻开始执行任务,问惩罚值最大 ...
- Java编程思想 学习笔记8
八.多态 在面向对象的程序设计语言中,多态是继数据抽象和继承之后的第三种基本特征. 多态通过分离做什么和怎么做,从另一角度将接口和实现分离开来. “封装”通过合并特征和行为来创建新的数据类型.“实现 ...