zabbix管理四之监控cpu的负载

监控cpu的负载

分析:

安装完zabbix后,在Template OS Linux这个模板下面默认有监控cpu负载的触发器,但是这个默认的触发器是以cpu负载的个数为触发值的,由于agent客户机每台的cpu核数是不一样的,所以,以负载的个数为触发值不是很好,下面我设置的触发值是cpu负载占cpu核数的百分比

步骤:

1、(agent端)

mkdir -p /etc/zabbix/itemscripts         (创建一个脚本目录,所有的zabbix agent的脚本都放在这里,方便管理)

cd /etc/zabbix/itemscripts

vi cpu_load.sh                           (创建一个cpu负载的脚本)

#!/bin/bash

cpucore=`cat /proc/cpuinfo | grep ‘processor‘ |wc -l`       (cpu的总核数)

cpuload=`top -n 1 | grep ‘load average‘ | awk -F":" ‘{print $5}‘ | awk -F"," ‘{print $1*100}‘`                                (top命令查看cpu的负载时,负载值是一个两位小数,乘100后变为整数)

cpuload_percent=`${cpuload}/${cpucore}`

echo $cpuload_percent

注意:

shell脚本里默认是不支持小数计算的

cpuload_percent:这个值最终乘100了

[[email protected] run]chmod 755 cpu_load.sh                    (给脚本加可执行权限)

[[email protected] run]./cpu_load.sh                             (注意:当执行脚本时是有返回值的)

0

2、(agent端)

cd /etc/zabbix/zabbix_agentd.d           (key值文件存放的目录,必须是这个目录)

vi userparameter_cpu.conf                (文件名)

UserParameter=cpu_load_percent,cd /etc/zabbix/itemscripts;./cpu_load.sh

注意:

cpu_load_percent:key值名称

/etc/init.d/zabbix_agentd restart        (重启zabbix_agent服务)

3、(server端)

在zabbix server端执行zabbix_get,却出现一个问题:

当执行zabbix_get -s 192.168.186.128 -k cpu_load_percent时,没有返回任何值,而是返回一个空值

在这里我研究了一下午,一直没有解决,不知道是为什么

一气之下,我干脆写了一个计划任务,然后每分钟执行一次,如下:

(agent端)

[[email protected] run]#crontab -l

#分 时 日 月 周 用户名 命令

*/1 * * * * cd /etc/zabbix/itemscripts;./cpu_load.sh > /etc/zabbix/itemscripts/cpuloadpercent

4、(agent端)

cd /etc/zabbix/zabbix_agentd.d

vi userparameter_cpu.conf

UserParameter=cpu_load_percent,cat /etc/zabbix/itemscripts/cpuloadpercent

/etc/init.d/zabbix_agentd restart        (重启zabbix_agent服务)

5、(server端)

这次再执行zabbix_get -s 192.168.186.128 -k cpu_load_percent时,却显示正常

6、

到web界面添加相应的监控项

注意:正常情况下,cpu的负载值不会超过cpu的总核数

在设置触发值条件时,我们可以设置,持续5分钟内若cpu的负载与cpu总核数比例大于99,则触发报警

总结:

从上面的步骤来看,zabbix监控cpu的负载与cpu总核数比例的方法,不是很理想

若:被监控的agent机,有上百台或上千台的话,这种方法就废了

不过:如果我们的线上配置了puppet或是saltstack的话,就非常方便了,我们只需要在master端进行相应的配置,然后把数据推送给agent端,搞定!!!!

时间: 2024-08-08 09:41:27

zabbix管理四之监控cpu的负载的相关文章

(四)监控cpu

定义规则:创建模板--->群组--->应用集--->监控项--->图形--->触发器--->添加主机(加入到群组,关联模板) 1)cpu空闲率,用户态使用率,内核态使用率 键值:system.cpu.util[,idle] 键值:system.cpu.util[,user] 键值:system.cpu.util[,system] 2)cpu负载 1分钟负载键值:system.cpu.load[percpu,avg1] 5分钟负载键值:system.cpu.load[pe

zabbix管理七之监控nginx性能

说明: 使用zabbix监控nginx,首先nginx需要配置ngx_status 在编译安装nginx时需要使用--with-http_stub_status_module参数 在nginx的配置文件nginx.conf里添加如下:         location /nginx_status {              stub_status on;              access_log off;              allow 127.0.0.1;            

zabbix管理五之监控进出流量

监控进出流量

监控CPU负载、Nginx、TCP、PHP、Memcached、Redis、Mysql、Tomcat

监控CPU负载 Agent端: [[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf UserParameter=cpu_load1,/usr/bin/w|awk 'NR==1 {print $10}'|awk -F, '{print $1}' UserParameter=cpu_load5,/usr/bin/w|awk 'NR==1 {print $11}'|awk -F, '{print $1}' UserParameter=cp

网站集群架构实战(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高性能-技术流ken>下面是项目的一些简单介绍. WEB集群项目简介 随着网站访问量的激增,势必会导致网站的负载增加,现需求搭载一套高性能,高负载,高可用的网站集群架构以保障网站的持续.高效.安全.稳定的运行. 针对以上需求,我们采用了如下的技术: 使用负载均衡技术来实现网站请求的调度分发,减小后端服务器

zabbix自动发现与监控内存和CPU使用率最高的进程

监控需求 某项目的应用服务器CPU和内存使用率的监控,通过zabbix系统监控记录应用服务器上进程的CPU和内存的使用情况,并以图表的形式实时展现,以便于我们分析服务器的性能瓶颈. 监控方式 利用zabbix监控系统的自动发现功能,首先编写shell脚本获取服务器的CPU和内存资源使用率最大的进程,以json的格式输出,然后对这些进程的CPU和内存资源使用情况进行监控.(本文监控的进程为Linux服务器中资源使用率最高的10个进程.) 缺点 不适用于监控固定的进程 首先使用top命令查看进程状态

zabbix监控CPU等资源报警到163邮箱

监控cpu报警: zabbix自带模板有一个 Template OS Linux模板.这个模板有监控CPU的监控项,如果没有添加一个监控项" CPU idle time" 这个监控项监控的是CPU剩余的时间.监控到这个指标也就可以监控到使用了多少. 1.首先,如果没有添加一个监控项" CPU idle time",具体步骤如下: 1.1:配置->模板-->找到Template OS Linux模板-监控项  创建监控项: 内容如下: 备注这个一般没有需要

zabbix之本地邮件监控报警安装详解

文记: 写这篇博文之前的时候我接到了一个不幸的消息,跟我一起的一位同事要走,准备换工作了,于是,我的第一反应,我的蜜月期结束了,即将开始一个被蹂躏的时代,心里默默的祝愿他找一份15K的工作,又默默的想说对他说一句,你真JB坑.... 哎~! 我即将跳进一个无底洞,默默的被蹂躏,默默的被践踏...也许这也是一个新的开始.... 开始正文,估计他会默默的陪伴我这仅有的半个月时间,为此,这半个月,可能都会以zabbix 为主,如不出意外,每天一博.在半月后的某天,我估计我能出书了   <<zabbi

Zabbix之(2)--简单监控linux服务器

一.概述 Zabbix里面的内容和项目很多,简单的来说想要实现简单的监控一个服务器大致需要几个大步骤:定义修改模板.添加机器.设置报警触发,而且要项简单,连模板都可以不修改,装完就直接添加机器即可,本例主要以linux平台下怎样添加一个新机器作为说明. 二.定义模板 Zabbix针对不同的监控对象和平台内置了很多模板,比如linux.windows.以及SNMP设备及相关系统服务等.而且模板直接可以相互嵌套和调用,最简单的方式是我们添加一个监控节点时根据平台和监控类型直接选择一个模板系统就可以自