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 ...
随机推荐
- intent-filter 之 data 「scheme, host, port, mimeType, path, pathPrefix, pathPattern」
之前一直搞不很明白 AndroidManifest.xml 中 activity 标签下的 intent-filter 中 data 标签的属性含义,今天认真看了 Dev Guide,又在网上查询了大 ...
- 服务器内存占用不断的增加 & 任务管理器(PF使用率)不断的增加:关注句柄数
最近一二个月以来,我发现服务器的内存占用正按着每天60M的速度增加. 一台windows 2003的服务器(2G内存),刚刚启起时占用内存:600M左右. 运行20天后,内存占用(PF使用):1.8G ...
- MUI 拍照或选取照片上传作为头像
1.第一种方法是用H5来实现的 HTML: <label> <input style="opacity: 0;" type="file" ac ...
- python3 获取Linux系统信息
系统信息 import platform platform.uname() platform.architecture() CPU信息 /proc/cpuinfo文件包含了系统处理器单元的信息. #! ...
- 对于nginx配置文件中的fastcgi_param的配置错误
在centos中搭建LNMP的时候,遇到了一个问题 在浏览器中访问.php文件的时候,nginx不能正常解析,页面返回404,后来百度了一下,发现了问题 在nginx的配置文件nginx.conf中的 ...
- .NET Framework自带的文件内存映射类
最近一直为文件内存映射发愁,整个两周一直折腾这个东西.在64位系统和32位系统还要针对内存的高低位进行计算.好麻烦..还是没搞定 偶然从MSDN上发现.NET 4.0把内存文件映射加到了.NET类库中 ...
- linux4.10.8 内核移植(二)---初步裁剪、分区修改和文件系统
一.初步裁剪 在内核根目录下 执行: make menuconfig 1.1 system type裁剪 选择 SAMSUNG S3C24XX SoCs Support 进入其中,这里是配置我们的单板 ...
- android ContentObserver内容观察者基本使用
package com.example.observertest; import android.content.ContentResolver; import android.database.Co ...
- QWidget窗口类
import sys from PyQt5.QtWidgets import QWidget, QApplication,QPushButton from PyQt5.QtGui import QIc ...
- [C++]Linux之Ubuntu下编译C程序出现错误:“ stray ‘\302'或者'\240' in program”的解决方案
参考文献:[error: stray ‘\240’ in program或 error: stray ‘\302’ in program](http://blog.csdn.net/u01299585 ...