zabbix的日常监控-磁盘性能监控(十二)

监控磁盘的性能

一、agent端操作:

1、安装iostat命令

yum install sysstat

2、创建脚本目录

mkdir /etc/zabbix/scripts
cd /etc/zabbix/scripts/

3、脚本内容

vim disk_scan.sh
#!/bin/bash
diskarray=(`cat /proc/diskstats |grep -E "\bsd[abcdefg]\b|\bvd[abcdefg]\b"|grep -i "\b$1\b"|awk ‘{print $3}‘|sort|uniq   2>/dev/null`)
length=${#diskarray[@]}
printf "{\n"
printf  ‘\t‘"\"data\":["
for ((i=0;i<$length;i++))
do
         printf ‘\n\t\t{‘
         printf "\"{#DISKNAME}\":\"${diskarray[$i]}\"}"
         if [ $i -lt $[$length-1] ];then
                 printf ‘,‘
         fi
done
printf  "\n\t]\n"
printf "}\n"

4、修改权限

chown root:zabbix -R /etc/zabbix/scripts/
chmod 750 /etc/zabbix/scripts/chmod 550 /etc/zabbix/scripts/iostat.sh

5、脚本测试

[[email protected] scripts]# sudo -u zabbix /usr/bin/sh /etc/zabbix/scripts/disk_scan.sh
{
    "data":[
        {"{#DISKNAME}":"sda"}
    ]
}
[[email protected] scripts]# 

6、使用iostat获取硬盘性能信息,并将该信息写入文本中

nohup iostat -m -x -d 30 >> /tmp/iostat_output 2>&1 &

7、添加下述内容至zabbix agent配置文件中

UserParameter=io.scandisk[*],/etc/zabbix/scripts/disk_scan.sh $1
UserParameter=io.rrqm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|tail -1|awk ‘{print $$2}‘
UserParameter=io.wrqm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|tail -1|awk ‘{print $$3}‘
UserParameter=io.rps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b"|tail -1|awk ‘{print $$4}‘
UserParameter=io.wps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$5}‘
UserParameter=io.rMBps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$6}‘
UserParameter=io.wMBps[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$7}‘
UserParameter=io.avgrq-sz[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$8}‘
UserParameter=io.avgqu-sz[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$9}‘
UserParameter=io.await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$10}‘
UserParameter=io.r_await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$11}‘
UserParameter=io.w_await[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$12}‘
UserParameter=io.svctm[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$13}‘
UserParameter=io.util[*],/usr/bin/tail /tmp/iostat_output |grep "\b$1\b" |tail -1|awk ‘{print $$14}‘

8、重启zabbix-agent服务

systemctl restart zabbix-agent.service

二、服务器端操作如下

1、获取数据测试

[[email protected] zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.util[sda]
0.23
[[email protected]-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.util[sda]
0.23
[[email protected]-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.rps[sda]
0.00
[[email protected]-server zabbix]# zabbix_get -p 10050 -s 10.10.10.99 -k io.rMBps[sda]
0.00

2、创建模板

模板名称: Template Disk Discovery

 名称:Disk discovery   键值:io.scandisk

3、创建自动发现规则

 第一个监控项原型示例,其余规则据按照此模型创建即可!!!

创建好的模型如下:

4、创建图形原型

5、创建触发器

原文地址:https://www.cnblogs.com/huangyanqi/p/9073601.html

时间: 2024-10-03 17:52:21

zabbix的日常监控-磁盘性能监控(十二)的相关文章

磁盘性能监控

对磁盘 I/O 活动的监控可通过如下几个性能计数器来度量:  Counter Name  Description Avg. Disk sec/Read Shows the average time, in seconds, of a read of data from the disk. Avg. Disk sec/Write  Shows the average time, in seconds, of a write of data to the disk. Disk Transfers/s

linux 磁盘性能监控

linux下对于查看进程的命令非常多也非常强大.经常使用的如:ps  top 可是在磁盘性能监控方面就没有那么统一了. 以下列举一些磁盘监控命令.此处仅仅是起到抛砖引玉作用,具体使用參数请參考man手冊. 一 df df命令能够获取硬盘被占用了多少空间.眼下还剩下多少空间等信息,它也能够显示全部文件系统对i节点和磁盘块的使用情况. 常见的用法如:df -h  以人类easy阅读的方式显示. 二 du du的英文原义为"disk usage",含义为显示磁盘空间的使用情况.统计文件夹(或

zabbix 3.0.4 Nginx 性能监控

搭建Nginx 安装pcre-devel .zlib-devel支持包 [[email protected] /]# yum -y install pcre-devel zlib-devel 创建nginx用户 [[email protected] /]# useradd -M -s /sbin/nologin nginx 解压安装 [[email protected] /]# tar zxvf nginx-1.6.0.tar.gz [[email protected] /]# cd nginx

ZABBIX作集中式NGINX性能监控的注意要点

今天测试好了.但有几个要点要注意. 一是出了问题看日志. 二是主动测试脚本. 三是注意LLD自动发现的ZABBIX类型(TRAPPER,捕捉器类型) 四是有主机上有问题时可以看到(UNSUPPORT) 五是在ZABBIX上监控主机级监控,不一定就是主机哟,,可以是基于指定IP的脚本陷入... ./nginx_monitor.sh getNginxStatus "NGINX_STATUS" "http://1.2.3.4" Active connections: 1

Oracle 学习之 性能优化(十二) 分区表

一.分区概念 Oracle允许将表.索引.索引组织表细分成更小的片,每个片我们称之为分区.分区有其自己的名字和存储参数. 如下图: 每行数据只能属于一个分区,分区键决定数据行属于哪个分区.分区键由一个或多个列组成.Oracle自动的将数据的DML操作映射到相应的分区中. 何时使用分区表: Tables greater than 2 GB should always be considered as candidates for partitioning. Tables containing hi

oracle 性能优化操作十二: 用Case语句合并多重扫描

我们常常必须基于多组数据表计算不同的聚集.例如下例通过三个独立查询: select count(*) from emp where sal<1000; select count(*) from emp where sal between 1000 and 5000; select count(*) from emp where sal>5000; 这样我们需要进行三次全表查询,但是如果我们使用case语句: select count (sale when sal <1000 then 1

磁盘IO性能监控(Linux 和 Windows)

作者:终南   <[email protected]> 磁盘的IO性能是衡量计算机总体性能的一个重要指标.Linux提供了iostat命令来获却磁盘输入/输出(即IO)统计信息,Windows则提供了WMI接口,可以通过编写一个简单的脚本来获取与iostat相当的功能. 1.Linux下的iostat命令 iostat -d -k -t 2 每隔2秒统计一次磁盘IO信息,直到按Ctrl+C终止程序,-d 选项表示统计磁盘信息, -k 表示以每秒KB的形式显示,-t 要求打印出时间信息,2 表示

zabbix监控磁盘IO

监控磁盘IO的基本原理:通过分析/proc/diskstats文件,来对IO的性能进行监控. ++++++++++++++++++++++++对/proc/diskstats的解释++++++++++++++++++++++++++++++ # cat /proc/diskstats |grep sda |head -1    8    0     sda 2280 1445 76478 11956 249 188 3490 932 0 9913 12805 解释说明: 第一至第三个域,分别是主

Linux 性能监控 —— 磁盘 I/O

零. 前言 如果从磁盘(disk)中读取/写入数据, CPU 就会处于空闲状态, 大大浪费了这段等待时间 CPU 的计算能力. 所以SSD. 缓存. 内存. 寄存器之类的设计就是为了减少 CPU 的等待时间, 释放计算能力. 可以看出业界对磁盘 I/O 的重视, 以及磁盘 I/O 对系统的影响之大. 一.  如何查看磁盘 I/O 在 Linux 平台或者 BSD 平台下, 借助 top 命令可以清楚看到磁盘 I/O 情况. 二. 如何衡量磁盘 I/O 存在瓶颈 磁盘 I/O 是否存在瓶颈取决于当