zabbix 自定义脚本监控activemq
1. 编写获取activemq队列积压消息(check-amq.sh)
#!/bin/bash
QUEUENAME=$
MQ_IP='172.16.1.56'
curl -uadmin:admin http://${MQ_IP}:8161/admin/queues.jsp 2>/dev/null| grep -A 5 "${QUEUENAME}</a></td>"|awk -F '<' '{print $2}'|sed 's/td>//g'|grep '^[0-9]'|head -1
2. zabbix配置加入获取值(userparameter_amq.conf)
UserParameter=amq.Pending_Messages[*],/etc/zabbix/zabbix_agentd.d/check-amq.sh $
3. 重启zabbix-agent,server端测试获取值是否正常
zabbix_get -s 172.16.1.153 -k "amq.Pending_Messages[test-queues]"

4. 添加监控项item

5. 添加触发器

6. 配置触发器对应得动作

7. 配置故障消息格式
## 故障
主机名称: {HOSTNAME1}
告警名称: {TRIGGER.NAME}
告警级别: {TRIGGER.SEVERITY}
告警时间: {EVENT.DATE} {EVENT.TIME}
检查项: {TRIGGER.KEY1}
当前值: {ITEM.LASTVALUE}
IP地址: {HOST.IP}
## 恢复
主机名称: {HOSTNAME1}
告警名称: {TRIGGER.NAME}
告警级别: {TRIGGER.SEVERITY}
告警时间: {EVENT.DATE} {EVENT.TIME}
恢复时间: {EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
故障时长: {EVENT.AGE}
检查项: {TRIGGER.KEY1}
当前值: {EVENT.RECOVERY.VALUE}
IP地址: {HOST.IP}
8. 配置钉钉报警
a. server端 自定义脚本(默认自定义脚本存放路径:/usr/lib/zabbix/alertscripts/DingAlert.py)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: nickli import requests
import json
import sys
import os headers = {'Content-Type': 'application/json;charset=utf-8'}
api_url = "https://oapi.dingtalk.com/robot/send?access_token=#钉钉机器人token信息" def dingAlert( text, mobile):
json_text= {
"msgtype": "text",
"at": {
"atMobiles": [
mobile
],
"isAtAll": False
},
"text": {
"content": text
}
}
print(requests.post(api_url,json.dumps(json_text),headers=headers).content) if __name__ == '__main__':
text = sys.argv[1]
mobile = sys.argv[2]
dingAlert(text, mobile)
b. 添加告警媒介

c. 触发器对应得动作添加告警媒介

9. 添加告警执行脚本
a. 修改zabbix-agentd.conf(配置可执行脚本)
EnableRemoteCommands=1
b. 自定义脚本
#!/bin/bash
_date=`date +"%Y-%m-%d %H:%M:%S"`
_jps="/usr/local/jdk1.8.0_101/bin/jps"
_jstack="/usr/local/jdk1.8.0_101/bin/jstack"
_Pid=`${_jps} |grep "activemq.jar"|awk '{print $1}'` function jstack_info ()
{
echo ${_date} > /tmp/activemq_dump.log
${_jstack} -F -m ${_Pid} >> /tmp/activemq_dump.log } jstack_info
c. 将zabbix用户加入到sudo用户
zabbix ALL=(ALL) NOPASSWD:/bin/bash
10. zabbix-server 手动测试自定义脚本(默认得超时是3s,客户端和服务端都修改参数Timeout=10)
zabbix_get -s 172.16.1.153 -k "system.run[sudo /bin/bash /etc/zabbix/zabbix_agentd.d/jstack_info.sh]"
11. 触发器对应得操作里添加远程执行脚本

zabbix 自定义脚本监控activemq的更多相关文章
- Golang 基于Prometheus Node_Exporter 开发自定义脚本监控
Golang 基于Prometheus Node_Exporter 开发自定义脚本监控 公司是今年决定将一些传统应用从虚拟机上迁移到Kubernetes上的,项目多而乱,所以迁移工作进展缓慢,为了建立 ...
- zabbix自定义脚本监控服务器端口状态
zabbix可以通过客户端的[net.tcp.port[<ip>,port]]该item监控项来判断本地/远程服务器TCP端口是否正常,不过当时没有想起来,就用了自定义脚本去写的,很久没有 ...
- zabbix 自定义mysql监控
一.配置zabbix-agent 编辑 /etc/zabbix/zabbix_agentd.conf文件 增加如下两个配置 1.vim /etc/zabbix/zabbix_agentd.conf ...
- 菩提圣心诀---zabbix自定义key监控oracle连接状态(python脚本)
目的:此次实验目的是为了zabbix服务端能够实时监控某服务器上oracle实例能否正常连接 环境:1.zabbix_server 2.zabbix_agent(含有oracle) 主要知识点: 1. ...
- zabbix使用自定义脚本监控内存
我这里的脚本是监控centos7系统的内存.centos7系统的内存如何查看我之前的博客都是有的.这里直接写了监控步骤 1.首先是编写脚本. #!/bin/bash mem_total(){ TOTA ...
- zabbix自定义模板——监控TCP连接状态
TCP十二种连接状态说明 可以使用man netstat查看 LISTEN - 侦听来自远方TCP端口的连接请求: SYN-SENT -在发送连接请求后等待匹配的连接请求: SYN-RECEIVED ...
- zabbix 自定义 nginx 监控模板
打开zabbix首页→配置→模板→创建模板模板名称:Template App NGINXagent 需添加自定义监控项:UserParameter=nginx.status[*],/bin/bash ...
- zabbix配合脚本监控Kafka
简介: Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据.Kafka如下特性,受到诸多公司的青睐. 1.高吞吐量:即使是非常普通的硬件Kafka也可以支持 ...
- zabbix自定义key监控nginx和fpm(网站并发数)
一. nginx编译参数 监控nginx,主要讲解监控并发数 --prefix=/usr/local/nginx --with-http_stub_status_module zabbix编译参数的查 ...
随机推荐
- Tiny4412在Ubuntu下给MiniTools添加快捷方式
解压MiniTools-Linux-20140317.tgz root@ubuntu:~/tiny4412/MiniTools-# ls -l total -rw-r--r-- root root M ...
- JAVA常见算法题(四)
package com.xiaowu.demo; /** * 将一个正整数分解质因数.例如:输入90,打印出90=2*3*3*5. * * * @author WQ * */ public class ...
- 文件流:"fopen","fclose",“ftell”"fseek","fgets","fprintf" ,“feof”,"fwrite","fread"
char const* filename="D:/hello.txt"; 路径名使用的是“/”或者使用 转义字符“\\”: "fopen", FILE *fp= ...
- appium python学习记录
这是网上找到的测试用例 from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' ...
- jstl fn:replace替换换行符
textarea输入换行符后应该是'\n',在div中展示时替换成'<br>' 找到一种方法用jsp标签 jstl fn:replace方法 使用fn:replace方法之前 先要把jst ...
- Sublime Text 3 文档
中文版:http://feliving.github.io/Sublime-Text-3-Documentation/ 英文版:http://www.sublimetext.com/docs/3/
- 蓝的成长记——追逐DBA(5):不谈技术谈业务,恼人的应用系统
***************************************声明*************************************** 个人在oracle路上的成长记录,当中 ...
- Layer 初始
Layer 初始 介绍:很不错的一个弹出框解决方案 丰富多样的Web弹出层组件,可轻松实现Alert/Confirm/Prompt/普通提示/页面区块/iframe/tips等等几乎所有的弹出交互.目 ...
- python 第一个web程序
yum install python-setuptools easy_install pip pip install tornado yum install MySQL-python test.py里 ...
- UVA 617 - Nonstop Travel(数论+暴力枚举)
题目链接:617 - Nonstop Travel 题意:给定一些红绿灯.如今速度能在30-60km/h之内,求多少个速度满足一路不遇到红灯. 思路:暴力每个速度,去推断可不能够,最后注意下输出格式就 ...