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编译参数的查 ...
随机推荐
- OpenJ_Bailian - 1037 A decorative fence
Discription Richard just finished building his new house. Now the only thing the house misses is a c ...
- 【bzoj3261】【最大异或和】可持久化trie树+贪心
[pixiv] https://www.pixiv.net/member_illust.php?mode=medium&illust_id=61705397 Description 给定一个非 ...
- ORACLE查询当前连接的用户信息及操作的SQL语句
ORACLE--查询当前连接的用户信息及操作的SQL语句 select sid, status, v$session.username 用户名, last_call ...
- SQL 存储过程入门(事务)
本篇我们来讲一下事务处理技术. 为什么要使用事务呢,事务有什么用呢,举个例子. 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我们插入的顺序是先插入A,再插入B表,如果 ...
- openfire源码解读之将cache和session对象移入redis以提升性能
原文:http://blog.csdn.net/jinzhencs/article/details/50522322 前言: 目前我们的openfire服务器只能支撑单机2W 集群4W.(估测在线用户 ...
- 通过CVE-2017-17215学习路由器漏洞分析,从入坑到放弃
1.基本信息: 2017/11/27,Check Point 软件技术部门报告了一个华为 HG532 产品的远程命令执行漏洞(CVE-2017-17215),Mirai的升级版变种中已经使用该漏洞.看 ...
- 【AS3 Coder】任务五:Flash 2D游戏的第二春(上)
在上一节中,我们基本上已经讲完了游戏中最主要的逻辑部分,不过为了更加全面地运用Starling中的一些特性,在本节中我们将一起来看看如何实现多面板切换以及粒子效果,这两个玩意儿可是比较频繁会出现于St ...
- Resin服务器部署web项目
Resin服务器部署web项目 学习了:https://blog.csdn.net/eff666/article/details/53324167 需要配置resin.xml文件: <host ...
- 20160208.CCPP体系具体解释(0018天)
程序片段(01):main.c 内容概要:PointWithOutInit #include <stdio.h> #include <stdlib.h> //01.野指针具体解 ...
- idea 热部署