ZABBIX动态发现磁盘监控

  • A+
所属分类:zabbix

linux下不同硬件或者系统版本不同识别到的块设备的名称各不相同,可能是sda、xda等等,因此通过zabbix监控磁盘普通的模板显得死板不不够灵活。通过zabbix的自动发现功能,通过脚本获取系统块设备的名称,然后保存到变量中,在通过zabbix客户端的自定义监控选项将监控的键值传给服务端。

参考http://www.ttlsa.com/zabbix/zabbix-lld-monitor-disk-io-stats/ 该文档部署,但需要修改zabbix服务端的模板文件,测试发生使用该文档提供的 zbx_parse_iostat_values.sh获得的键值在zabbix服务端呈现图像时有问题,因此使用除了需要修改zabbix客户端的配置文件中的自定义键值的获取方式外,还需要修改服务端模板文件

创建自动发现脚本

从网络上下载,

ZABBIX客户端设置

重启zabbix客户端

使用zabbix_get测试这些自定义键值是否生效

配置服务端

导入模板文件zbx_export_templates.xml并修改

configuration-templates-import 导入模板

导入后点击

IO

编辑监控的选项

将原来的监控键值都删除,添加在zabbix客户端配置文件中的对应键值

监控磁盘每秒钟读取的字节数

IO

监控磁盘每秒中写入的字节数

IO

磁盘每秒钟读操作的次数

IO

每秒钟写操作次数

IO

磁盘每次读操作花费的毫秒

IO

写花费的毫秒

IO

添加绘图

IO

IO

IO

IO

 

对需要监控磁盘的主机链接模板

IO

查看正则配置,改配置默认在导入模板后会有,需要修改

IO

编辑,在正则中添加sda1

IO

查看监控结果

IO

 

作者

大志@www.zhengdazhi.com,感谢投稿!

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~

评论已关闭!

目前评论:12   其中:访客  12   博主  0

    • mhb123 0

      客户端使用zabbix_get报错!!!
      zabbix_get -s 127.0.0.1 -k custom.vfs.dev.write.ms[sda1]
      zabbix_get [3552]: Check access restrictions in Zabbix agent configuration

        • 匿名 9

          @mhb123 看下agent.conf的Server=yourzabbixServerIP对不对

        • 匿名 0

          将模板挂载到具体的host后,Discovery rules中报错
          Cannot create item: item with the same key “custom.vfs.dev.read.ops[{#DMNANE}]” already exists.
          Cannot create item: item with the same key “custom.vfs.dev.read.ops[{#DMNANE}]” already exists
          还望大神指点如何解决。

            • 匿名 9

              @匿名 找到原因了,居然是 #DMNANE 写错了。尴尬。

                • 黯然。心碎 0

                  @匿名 什么意思呢?我现在也是这个问题 !请回复下!!

              • 匿名 9

                将模板链接到具体的host中后,Discovery rules 中会报错:如下
                Cannot create item: item with the same key “custom.vfs.dev.read.ms[{#DMNANE}]” already exists.
                Cannot create item: item with the same key “custom.vfs.dev.read.ms[{#DMNANE}]” already exists.
                这大概是什么问题?还请大神帮忙。

                • juhuaxia 9

                  大哥你倒是把模板传一下啊

                  • 匿名 9

                    请问一下整个步骤做完自动发现出现Global regular expression “Linux disks for autodiscovery” does not exist这个问题!该如何解决啊?正则是按照你上面写的。

                      • 匿名 9

                        @匿名 我也是这样的问题,求解大神!

                      • 丶执笔不语绘虚妄 1

                        您好,我问下
                        /usr/local/jdk_1.7/bin/jstat -gcutil $(pgrep java|head -1)|tail -1|awk ‘{print $6}’ 在命令行运行正常,返回正常结果。
                        当将其转换为zabbix的自定义参数
                        UserParameter=ygc.counts,sudo /usr/local/jdk_1.7/bin/jstat -gcutil $(pgrep java|head -1)|tail -1|awk ‘{print $$6}’
                        重启zabbix_agent服务后
                        zabbix_get -s 192.168.2.11 -k ygc.counts 命令不报错,也不返回任何值。
                        自定义参数配置文件如下:
                        UserParameter=ygc.counts,sudo /usr/local/jdk_1.7/bin/jstat -gcutil $(pgrep java|head -1)|tail -1|awk ‘{print $$6}’
                        UserParameter=fgc.counts,sudo /usr/local/jdk_1.7/bin/jstat -gcutil $(pgrep java|head -1)|tail -1|awk ‘{print $$8}’
                        UserParameter=jvm.memory.usage,sudo /usr/local/jdk_1.7/bin/jmap -histo $(pgrep java|head -1)|grep Total|awk ‘{print $$3}’
                        UserParameter=jvm.instances.usage,sudo /usr/local/jdk_1.7/bin/jmap -histo $(pgrep java|head -1)|grep Total|awk ‘{print $$2}’
                        UserParameter=flume.monitor
                        ,/bin/bash /opt/scripts/monitor_flume.sh $EventDrainSuccessCount
                        UserParameter=script.date,date
                        UserParameter=get.os.type, head -1 /etc/issue
                        UserParameter=test1,jstat -gcutil 1229

                        上述参数,只有
                        UserParameter=script.date,date
                        UserParameter=get.os.type, head -1 /etc/issue
                        两行能够用zabbix_get取到值。请大神帮帮忙

                        • 85757916 85757916 3

                          哇,好牛。

                          • 匿名 9

                            模版有吗