Zabbix通过SNMP监控多核CPU使用率时, 计算CPU平均使用率
环境:没有Agent,只能通过SNMP监控时,需要获取多核CPU的平均使用率。
ZABBIX的使用SNMP监控CPU使用率时,由于设备都是多核CPU,监控的都是单独某一核心的使用率,但单独某一核使用率过高触发告警实际意义不大。
所以写了一个“外部检查”查询CPU的每个核心的使用率,然后再计算该设备CPU的总体的一个使用率。
cd /usr/local/share/zabbix/externalscripts/ vim /usr/local/share/zabbix/externalscripts/sqlcpuload.sh
sqlcpuload.sh脚本内容如下
cd /home/zabbix/scripts/cpu/$1 || mkdir /home/zabbix/scripts/cpu/$1
cd /home/zabbix/scripts/cpu/$1
cat /home/zabbix/scripts/cpuload.sql | sed -e "s/CNGDCOP01/$1/g" > cpuloadT.sql
mysql -uzabbixapi -ppassword < cpuloadT.sql | awk '{ sum += $4; } END {print sum/(NR-1)}'
rm -rf cpuloadT.sql
cpuload.sql查询脚本如下(实际环境可以只保留需要的平均值一栏,理论上可以缩短一丢丢查询时间)
USE zabbix;
SELECT
FROM_UNIXTIME(trends_uint.clock,'%Y-%m-%d %H:00:00') AS `日期______ 时间____`,
trends_uint.value_min AS `最小值`,
trends_uint.value_avg AS `平均值`,
trends_uint.value_max AS `最大值`
FROM
trends_uint
WHERE trends_uint.itemid = ANY(
SELECT items.itemid FROM items WHERE items.hostid=
ANY(SELECT `hosts`.hostid FROM `hosts`WHERE `hosts`.`host` =
'CNGDCOP01'
)
AND items.key_ LIKE 'hrProcessorLoad[%' AND items.key_ NOT LIKE 'hrProcessorLoad[{%')
order by trends_uint.itemid,trends_uint.clock desc
上面查询的该监控项的趋势数据里的最新的平均值,为的是节约查询时间。

如果数量监控数据不大,但要求比较实时,可以把trends_uint换成history_uint,缩短数据更新时间。(当然如果环境允许直接安装agent就不用这么麻烦了)
下面是官网对趋势数据的说明

---------------------------------
运行结果如下

zabbix模板中添加监控项和触发器

-------最后测试OK

Zabbix通过SNMP监控多核CPU使用率时, 计算CPU平均使用率的更多相关文章
- 自学Zabbix11.1 Zabbix 配置SNMP监控
点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 自学Zabbix11.1 Zabbix 配置SNMP监控 1. 概述 zabbix采集数据方式: ...
- zabbix通过snmp监控网络设备
首先需要在zabbix的server端或proxy端安装snmpd服务 安装: yum -y install net-snmp* 查看版本: [root@Check3 ~]# snmpd -v NET ...
- zabbix通过snmp监控linux主机
1.安装net-snmp [root@db01 ~]# yum install -y net-snmp 2.修改配置文件 [root@db01 ~]# vim /etc/snmp/snmpd.conf ...
- zabbix通过snmp监控windows主机
1.开启Windows的snmp功能 2.配置snmp服务 设置snmp服务社区名称及允许的主机,设置完成后重启snmp服务 3.在zabbix server上测试 测试需要使用命令snmpwalk, ...
- zabbix通过SNMP监控服务器硬件及构建触发器
公司的服务器没装系统无法使用IPMI协议来监控服务器硬件信息,所以我们使用SNMP来获取,下面介绍如何通过SNMP监控服务器硬件信息. 1.HP服务器进入iLO开启SNMP协议. 2.查看服务器温度信 ...
- 025.Zabbix之SNMP监控
一 SNMP介绍及配置 1.1 SNMP介绍参考其他笔记 1.2 SNMP配置 [SW1]int vlan 1 [SW1-Vlanif1]ip address 172.24.8.13 24 [SW1- ...
- zabbix 配置SNMP监控
什么是SNMP? 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组 ...
- 技巧:结合Zabbix与SNMP监控嵌入式设备
在如何利用Zabbix监控网络设备三篇文章的前两篇中,我们介绍了如何通过Zabbix代理监控网络设备.但有些设备无法安装Zabbix代理,需要采用其他方法监控.需要考虑无法安装软件的嵌入式设备或应用程 ...
- 【Zabbix】大规模监控误报发生时的处理方案
今天遇到了这样一件事..Zabbix一直在用的数据库突然间崩溃,无法连接了.在down掉的那一时刻开始,zabbix向管理员报了警.然后随之而来的是铺天盖地的所有主机zabbix agent无法连接的 ...
随机推荐
- 【Spring】web开发 javaConfig方式 图解
spring3.2之后开始支持java配置方式开发web项目,不使用web.xml,但需要在servlet3.0环境,一般tomcat7会支持,6不行 下图中:MyAppInitializer和Spr ...
- 一道风骚的DP
也是校赛学长出的一道题~想穿了很简单..但我还是听了学长讲才明白. 观察力有待提高. Problem D: YaoBIG's extra homeworkTime LimitMemory Limit1 ...
- 微信小程序周报(第十三期)-极乐商店(store.dreawer.com)出品
重要:极乐商店域名变更:wxapp.dreawer.com/变更为store.dreawer.com/ 每周一笑 当年刚学打篮球的时候,疯狂地迷恋上了乔丹,然后迷恋上了NIKE,更熟记了NIKE的那句 ...
- Coursera无法正常提交作业
如下图,upload服务貌似被墙了,想要提交作业的话需要临时科学上网.
- kali系统:局域网arp欺骗, 搞定任意windows计算机
目的 通过Arp欺骗, 给局域网内的所有用户网页中植入木马, 只要用户运行以后, 就会反弹一个shell到我们计算机 准备 kali系统 metaspolit的使用 Arp欺骗工具:bettercap ...
- 安装Hadoop 2.7.3的过程中遇到的一些问题及解决方法。
1. 启动hadoop 时发现namenode 没有启动起来 出现以下错误: Incorrect configuration: namenode address dfs.namenode.servic ...
- 流畅python学习笔记:第十九章:动态属性和特性
首先来看一个json文件的读取.书中给出了一个json样例.该json文件有700多K,数据量充足,适合本章的例子.文件的具体内容可以在http://www.oreilly.com/pub/sc/os ...
- autoconf添加gcc调试选项
autoconf生成的编译选项默认是"-g -O2".这个"-g"选项将我迷惑了,以为生成了GDB调试所需的信息,所以也就没有管后面的"-O2“选 ...
- 为测试赋能,腾讯WeTest探索手游AI自动化测试之路
作者:周大军/孙大伟, 腾讯后台开发 高级工程师 商业转载请联系腾讯WeTest获得授权,非商业转载请注明出处. WeTest导读 做好自动化测试从来不件容易的事情,更何况是手游的自动化测试,相比传 ...
- Mysql 数据库date, datetime类型设置0000-00-00默认值(default)报错问题
Mysql 数据库date, datetime类型设置0000-00-00默认值报错问题 现象:MySQL5.7版本之后,date, datetime类型设置默认值"0000-00-00&q ...