Zabbix监控Linux磁盘I/O

东西都上传到这里了:

https://github.com/RexKang/Zabbix/tree/master/OS/Linux-disk-discovery

需要用到的东西:

Zabbix的LLD:https://www.zabbix.com/documentation/2.0/manual/discovery/low_level_discovery

Zabbix的Agent配置:https://www.zabbix.com/documentation/2.0/manual/appendix/config/zabbix_agentd

iostat的使用:http://www.cnblogs.com/peida/archive/2012/12/28/2837345.html

1、修改agent配置

我的agent安装位置是/usr/local/zabbixagent/

vi /usr/local/zabbixagent/conf/zabbix_agentd.conf
Include=/usr/local/zabbixagent/conf/zabbix_agentd
:wq

2、建立配置文件

此文件位置在/usr/local/zabbixagent/conf/zabbix_agentd/sysio.conf

# required sysstat
# required iostat running backgroud
##################################################
# nohup iostat -k -x -d 30 > /usr/local/zabbixagent/tmp/iostats &
# chown zabbix:zabbix /usr/local/zabbixagent/tmp/iostats
# cronteb -e
# Zabbix Agent‘s task for disk I/O
# 59 23 * * * iostat -k -x -d 30 2 > /usr/local/zabbixagent/tmp/iostats &
##################################################
# command for test.
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.rps[sda]‘
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.wps[sda]‘
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.rkbps[sda]‘
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.wkbps[sda]‘
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.avgrq-sz[sda]‘
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.avgqu-sz[sda]‘
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.await[sda]‘
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.svctm[sda]‘
#/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.util[sda]‘
##################################################
UserParameter=io.scandisk[*],/usr/local/zabbixagent/scripts/discovery-linux.py /proc/diskstats 3
UserParameter=io.rps[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$4}‘
UserParameter=io.wps[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$5}‘
UserParameter=io.rkbps[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$6}‘
UserParameter=io.wkbps[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$7}‘
UserParameter=io.avgrq-sz[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$8}‘
UserParameter=io.avgqu-sz[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$9}‘
UserParameter=io.await[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$10}‘
UserParameter=io.svctm[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$11}‘
UserParameter=io.util[*],grep -a "$1" /usr/local/zabbixagent/tmp/iostats | tail -1 |awk ‘{print $$12}‘

3、misc

cd /usr/local/zabbixagent/
mkdir tmp scripts
chmod 775 tmp scripts
touch tmp/iostats
chmod 644 tmp/iostats
touch scripts/discovery-linux.py
chmod 754 scripts/discovery-linux.py
chown zabbix:zabbix ./* -R

4、运行

nohup iostat -k -x -d 30 > /usr/local/zabbixagent/tmp/iostats &
sudo service zabbix_agentd restart

5、测试

/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.rps[sda]‘
/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.wps[sda]‘
/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.rkbps[sda]‘
/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.wkbps[sda]‘
/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.avgrq-sz[sda]‘
/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.avgqu-sz[sda]‘
/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.await[sda]‘
/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.svctm[sda]‘
/usr/local/zabbixagent/bin/zabbix_get -s 10.0.0.1 -k ‘io.util[sda]‘

6、添加清理脚本

crontab -e
59 8 * * * iostat -k -x -d 30 2 > /usr/local/zabbixagent/tmp/iostats &

7、添加配置

blablabla,这里我就不说了。

Zabbix监控Linux磁盘I/O

时间: 2024-10-13 09:58:13

Zabbix监控Linux磁盘I/O的相关文章

zabbix监控LINUX下CPU,硬盘,流量,内存

1.LINUX下zabbix客户端安装 [[email protected] ~]# mkdir /usr/local/zabbix [[email protected] ~]# mv zabbix_agents_2.0.3.linux2_6.amd64.tar.gz /usr/local/zabbix/ [[email protected] ~]# cd /usr/local/zabbix/ [[email protected] zabbix]# tar zxvf zabbix_agents_

zabbix系列二:zabbix监控linux服务器

linux安装zabbix_agent客户端 1,创建zabbix用户: [roo[email protected] ~]# useradd zabbix -s /sbin/nologin 2,编译安装zabbix_agent: [[email protected] zabbix-2.2.2]# ./configure --with-net-snmp --with-libcurl --enable-agent --prefix=/usr/local/zabbix [[email protecte

Zabbix监控Linux主机设置

说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配置防火墙,开启10050.10051的TCP和UDP端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 -A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCE

zabbix监控Linux进程方法

利用zabbix proc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量 name - 进程名称 (默认"all processes") user - 用户名 (默认 "all users") state - 可用值: all (默认), run,sleep, zomb cmdline - 命令行过滤(正则表达时) 具

Zabbix监控linux指定进程

利用zabbix proc.num方法监控Linux服务进程 proc.num[<name>,<user>,<state>,<cmdline>] 监控用户某些状态的进程的数量 name - 进程名称 (默认"all processes") user - 用户名 (默认 "all users") state - 可用值: all (默认), run,sleep, zomb cmdline - 命令行过滤(正则表达时) 具

[技术干货] zabbix监控Linux系统服务

Zabbix自动发现规则监控Linux系统的service units项目要求:通过systemctl命令查看Linux系统的service units:监控前提:zabbix环境已搭建好:监控原理:通过shell脚本把systemctl命令返回的结果以json格式发送到zabbix:1. 在scripts目录编写脚本,脚本内容如下: 2. 在/etc/zabbix_agentd.conf.d目录编写配置文件,内容如下: vim service_status.conf UserParameter

简单几步使用zabbix监控Linux物理服务器CPU温度

前段时间有个属于笔者维护的小机房空调故障,温度过高导致系统卡慢,多日无人发现.于是想着使用zabbix监控CPU温度并设置告警阀值,同时也能监控到风扇异常.挡风板太脏空气不畅.进程死锁导致CPU使用率超高等异常,侧面监控服务器多种异常状况. 服务器有两台四路x86服务器,系统是CentOS,用到软件lm_sensors.使用zabbix监控系统自定义监控项,采集监控数据并设置告警.下面详细介绍. 安装 lm_sensors 并获取CPU温度 yum install lm_sensors 安装后运

zabbix监控linux服务器的磁盘I/O

基本原理:通过分析/proc/diskstats文件,来对IO的性能进行监控.解释如下: +++++++++++++++++++++++++++对/proc/diskstats的解释++++++++++++++++++++++++++++++++++++++++++++ [[email protected] bin]# cat /proc/diskstats | grep sda | head -1 8 0 sda 73840 10263 3178156 91219 1110085 419256

zabbix监控linux和windows的tcp连接数

linux: 在linux上手动获得tcp连接数的命令为: netstat -an|awk '/^tcp/{++S[$NF]}END{for(a in S) print a,S[a]}' #ESTABLISHED       socket已经建立连接   #CLOSED            socket没有被使用,无连接   #CLOSING           服务器端和客户端都同时关闭连接   #CLOSE_WAIT        等待关闭连接   #TIME_WAIT         表