简单的自定义监控linux服务,只看ps进程是否存在

  创建的自定义脚本:

[[email protected] zabbix_agentd.d]# cat crm-web.sh 
#!/bin/bash
ps -ef|grep crm-web|grep -v ‘grep‘|grep -v ‘sh‘|wc -l

  注意权限和用户:

[[email protected] zabbix_agentd.d]# ll crm-web.sh 
-rwxr-xr-x 1 zabbix zabbix 66 Nov 18 14:55 crm-web.sh

  创建的自定义key:

[[email protected] zabbix_agentd.d]# cat crm-web_status.conf 
UserParameter=crm-web_status[*],/etc/zabbix/zabbix_agentd.d/crm-web.sh $1

  注意权限和用户:(应该不需要调整)

[[email protected] zabbix_agentd.d]# ll crm-web_status.conf 
-rw-r--r-- 1 root root 74 Nov 18 13:03 crm-web_status.conf

  重启zabbix agent服务:

[[email protected] zabbix_agentd.d]# ps -ef|grep zabbix
zabbix    5534     1  0 14:17 ?        00:00:00 zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix    5535  5534  0 14:17 ?        00:00:00 zabbix_agentd: collector [idle 1 sec]
zabbix    5536  5534  0 14:17 ?        00:00:00 zabbix_agentd: listener #1 [waiting for connection]
zabbix    5537  5534  0 14:17 ?        00:00:00 zabbix_agentd: listener #2 [waiting for connection]
zabbix    5538  5534  0 14:17 ?        00:00:00 zabbix_agentd: listener #3 [waiting for connection]
zabbix    5539  5534  0 14:17 ?        00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
root      9386 30370  0 14:59 pts/4    00:00:00 grep --color=auto zabbix
[[email protected] zabbix_agentd.d]# pkill -f /etc/zabbix/zabbix_agentd.conf
[[email protected] zabbix_agentd.d]# ps -ef|grep zabbix
root      9410 30370  0 14:59 pts/4    00:00:00 grep --color=auto zabbix
[[email protected] zabbix_agentd.d]# zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
[[email protected] zabbix_agentd.d]# ps -ef|grep zabbix
zabbix    9420     1  0 14:59 ?        00:00:00 zabbix_agentd -c /etc/zabbix/zabbix_agentd.conf
zabbix    9421  9420  0 14:59 ?        00:00:00 zabbix_agentd: collector [idle 1 sec]
zabbix    9422  9420  0 14:59 ?        00:00:00 zabbix_agentd: listener #1 [waiting for connection]
zabbix    9423  9420  0 14:59 ?        00:00:00 zabbix_agentd: listener #2 [waiting for connection]
zabbix    9424  9420  0 14:59 ?        00:00:00 zabbix_agentd: listener #3 [waiting for connection]
zabbix    9425  9420  0 14:59 ?        00:00:00 zabbix_agentd: active checks #1 [idle 1 sec]
root      9434 30370  0 14:59 pts/4    00:00:00 grep --color=auto zabbix

选择“Configuration”→“Host”

找到指定的监控主机,选择“Items”

在弹出的新界面,点击“Create item”按纽

只需要修改“Name”和“Key”值

◆Name:crm-web服务进程

◆Key:crm-web_status

“applications”并非必选项,可以根据自己的实际情况来决定,这里主要方便分类。

点击“Triggers”,就可以点击“Create trigger”按纽

在弹出的新界面里,填写内容如下:

◆“Name”:crm-web服务不可用

◆“Expression”:{10.253.40.86:crm-web_status.last()}<>1

◆“Description”:crm-web服务不可用【不是必须填写的内容】

◆“Severity”:也不是必须这种类型

“Expression”里的内容,是点击“Add”按纽,在弹出的对话框里,再点击“Select”按纽

  在弹出的对话框里,点击“crm-web服务进程”。这里之所以有这个监控项,是因为前面创建过Item,否则,自定义的监控项不会出现在这里。如果没有,也可以查看一下右上角的“Group”和“Host”定位是否正确。

“Function”选项就用图中的参数

“N”选项:1

点击“Graphs”,再点击“Create graph”按纽

“Name”:crm-web服务进程

点击“Add”按纽,在弹出的对话框里选择“crm-web服务进程”即可

  基本的配置就这些内容。

  下面的自定义监控项几乎一样:

[[email protected] zabbix_agentd.d]# cat crm-notify.sh 
#!/bin/bash
ps -ef|grep crm-notify|grep -v ‘grep‘|grep -v ‘sh‘|wc -l
[[email protected] zabbix_agentd.d]# cat crm-notify_status.conf 
UserParameter=crm-notify_status[*],/etc/zabbix/zabbix_agentd.d/crm-notify.sh $1

  不要忘了重启zabbix agent服务。

  在zabbix服务端执行测试命令:

[[email protected] zabbix_agentd.d]# zabbix_get -s 10.253.40.86 -k "crm-web_status"
1
[[email protected] zabbix_agentd.d]# zabbix_get -s 10.253.40.86 -k "crm-notify_status"
1
时间: 11-18

简单的自定义监控linux服务,只看ps进程是否存在的相关文章

Shell脚本监控Linux某个后台进程,当进程死掉后重新启动服务,以httpd为例

Shell脚本如下: vim monitor.sh #!/bin/bash while true # 无限循环 flag=`ps -aux |grep "httpd" |grep -v "grep" |wc -l` do if [[ $flag -eq 0 ]] # 判断进程数如果等于0,则启动httpd then `systemctl start httpd` # 启动httpd echo `date` - "Apache restart" &

阿里云自定义监控tomcat进程数

阿里云提供自定义监控SDK,这有助于我们定制化的根据自身业务来做监控,下面我就根据业务需求来介绍一个简单的自定义监控配置. 阿里提供了2个版本的自定义监控接口:自定义监控SDK(python版) :cms_post.py自定义监控SDK(bash版) :cms_post.sh下载地址:http://help.aliyun.com/knowledge_detail.htm?knowledgeId=5974901 本文使用shell版本做演示       这里说下我的简单需求,我们需要监控ECS服务

自定义监控(阿里云&zabbix)

自定义监控(阿里云&zabbix) 目前阿里云对25端口有限制,无法在阿里云上搭建邮件服务器发送告警邮件,如果需要邮件通知,可以采取下面方法: 1.开同阿里云企业邮箱 2.使用阿里云监控告警 3.第三方zabbix自定义脚本监控 一.阿里云自定义监控 阿里云提供自定义监控SDK,这有助于我们定制化的根据自身业务来做监控,下面我就根据业务需求来介绍一个简单的自定义监控配置. 阿里提供了2个版本的自定义监控接口: 自定义监控SDK(python版) :cms_post.py 自定义监控SDK(bas

涨知识!从一个简单的消息服务,看云计算架构的真容

一转眼,云计算已经十年了.十年间,从AWS亚马逊云开始,涌现了Salesforce.微软.谷歌.IBM.VMware.阿里.腾讯.网易等一批云计算服务商,从互联网公司到传统IT巨头都卷入了这场云计算的时代大潮中.Gartner数据显示,2016 年全球公有云服务市场规模有望达2,086 亿美元,较2015年的1,780 亿美元市场规模增长17.2%. 然而,虽然十年过去了,公有云市场也将超过2000亿美元规模,但很多人依然不明白,到底什么是云计算?云计算的架构与传统IT架构到底有何区别?本文就以

zabbix自定义自动发现服务(low-level-discovery)监控系统服务

一.概述 由于工作关系很久没有更新博客了,本文基于生产配置,是zabbix系列的另一补充:本次要讲的是zabbix Low-level discovery简称(LLD),我们在配置items(监控项)时,有时需要对类似的Items进行添加,换句话说,多台机器上的某一监控具有类似的items,如系统开放的服务,再如磁盘分区,网卡名称等,后两种zabbix已经自带,今天我们以自定义监控每个系统开放的服务来说明 LLD的使用逻辑;和普通items获取不同的是,LLD 脚本在获取返回时,格式必须是jso

Linux服务的简单配置(homework)

Linux服务也学习一个礼拜啦,趁这闲暇之际,归纳一下这周所学的服务. 应用环境:Redhat 5.9 一.DHCP DHCP是动态主机配置协议,可自动分配入网参数,实现各客户机IP的自动获取 1.为服务器配置一个固定的Ip地址如192.168.4.2 2.确认已安装dhcp软件包 3.建立dhcpd.conf配置文件. [[email protected] ~]# vim/etc/dhcpd.conf subnet 192.168.4.0 netmask 255.255.255.0 { opt

在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service

在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service 1.在 /etc/rc.d/init.d/ 目录下创建一个名字和服务名完全相同的 shell 脚本文件 joyupx: vim joyupx /etc/rc.d/init.d/ 目录中存放的一般都是 shell 脚本文件,但是文件名不可以带后缀“.sh”: 服务名必须与其 /etc/rc.d/init.d/ 目录下关联的配置文件名称完全相同,否则报找不到这样的服务: 2.在 joyupx 文件中加入如下代码:

linux shell脚本守护进程监控svn服务

最近搭建的svn服务不知道什么原因服务总是被关闭(如果你不知道怎么搭建svn可以参考linux下搭建svn版本控制软件),因此用shell脚本实现一个守护进程.用于监控svn服务是否启动,如果服务不在则启动. 创建监控脚本svnmonit.sh #! /bin/sh #进程名字可修改 PRO_NAME=svnserve PORT=58652 REP_DIR=/www/svndata while true ; do #用ps获取$PRO_NAME进程数量 NUM=`ps aux | grep ${

监控linux的系统资源和自定义进程的cpu 内存占用。

1 #coding=utf8 2 import time 3 import psutil 4 from pprint import pprint 5 6 from logger_until import LoggerUntil 7 logger = LoggerUntil(name="Monitor").getlog(logfilename='Monitor.log', loglevel=2, add_StreamHandler=1) 8 9 need_monitor_procces_