• zabbix监控linux文件的一个目录大小


                               监控linux文件的一个目录大小
                                                             作者:尹正杰
    版权声明:原创作品,谢绝转载!否则将追究法律责任。
     
     
     
    欢迎加入:高级运维工程师之路 598432640
    我们知道,Linux自带的一些监控模板可能无法满足我们的需求,在生产环境中,我们可能需要对某些目录进行监控,比如/boot,接下来我们来对演示一下如何对目录进行监控,我们可以自定义key,来实现我们所需要的功能~
    首先你要安装好zabbix_agent客户端
    1.定义好监控对象,比如我要监控的就是/yinzhengjie/data/alarm/目录,我的思路就是在客户端把这个目录的大小取出来,然后发给服务端就好
    [root@bogon yinzhengjie]# mkdir -pv /yinzhengjie/data/alarm/
    [root@bogon yinzhengjie]# cd /yinzhengjie/data/alarm/
    [root@bogon alarm]# dd if=/dev/zero of=test.sh bs=1M count=10
    [root@bogon alarm]# ll
    total 10240
    -rw-r--r--. 1 root root 10485760 Dec 7 19:55 test.sh
    [root@bogon alarm]# du -sh test.sh
    10M test.sh
    [root@bogon alarm]# du -sh /yinzhengjie/data/alarm/
    11M /yinzhengjie/data/alarm/
    [root@bogon alarm]#
    上面就是在所需要监控的目录创建了一个10M文件,你可能会好奇为什么这个目录就是11M了,这个我们可以理解成这个目录下还存有一些隐藏文件或者目录,他们也会占有一定的inode,自然会产生点内存,1M的数字在生产环境中我们可以忽略不计的,我们忽略就好了,让他们默认就是11M
    [root@bogon alarm]# ll -a
    total 10248
    drwxr-xr-x. 2 root root 4096 Dec 7 19:56 .
    drwxr-xr-x. 4 root root 4096 Dec 7 18:29 ..
    -rw-r--r--. 1 root root 10485760 Dec 7 19:55 test.sh
    2.添加自己脚本
    这个脚本我们可以在任何地方定义的,但是我建议还是放在一个制定目录下,因为方便你管理,以后的脚本也都可以放在那个位置,我是源码安装的zabbix_agent,他们的制定目录都在/usr/local这个目录下
    [root@bogon yinzhengjie]# mkdir -pv /usr/local/zabbix/scripts/ && cd /usr/local/zabbix/scripts/
    [root@bogon scripts]# more directories.sh
    #!/bin/bash
     
    directories_size=`du -m /yinzhengjie/data/alarm/ | awk '{print $1}'`
     
    echo $directories_size
    [root@bogon scripts]#chmod +x directories.sh 
     
    备注:我是一个root用户,所以你们在使用du命令的时候要看你是否有权限哟~
    3.添加自定义密钥
    [root@bogon yinzhengjie]# vim /usr/local/zabbix/etc/zabbix_agentd.conf
    UserParameter=disk.catalog,/usr/local/zabbix/scripts/directories.sh
    只需要在末行添加上这么一行就好了
    [root@yinzhengjie scripts]# /etc/init.d/zabbix_agentd restart
    以上客户端配置就完成了
     
    那么让我们来服务端看看吧
    首先。我们需要测试一下是否服务端能在服务器上读到数值
    [root@bogon yinzhengjie]# /usr/local/zabbix/bin/zabbix_get -s 172.30.1.60 -k disk.catalog
    11
    [root@bogon yinzhengjie]#
    很好,我们看到了返回值11,说明就好使了,如果你觉得命令行看起来别扭的话,可以这样干
    [root@bogon yinzhengjie]# ln -s /usr/local/zabbix/bin/zabbix_get /usr/bin/zabbix_get
    [root@bogon yinzhengjie]# zabbix_get -s 172.30.1.60 -k disk.catalog
    11
    [root@bogon yinzhengjie]#
    做一个软链接,就不用敲却对路径了哟~
    如果你看过我之前的服务端配置的话,相信下面的你也应该会操作了吧~所以就不用往下看了~
     
    因为都是web界面的配置。
    1.创建一个模板
     

     

    2.添加item

     

    3.创建图像
     

     

    4.主机link到模板
     

     

    5.查看服务端结果

     

    我们看到当前的大小是11M,咦,我想搞点事情~我要让这个线动一下?怎么办?
     
    6.回到我们的客户端配置,我们在这个目录下创建一个更大的文件
    [root@bogon yinzhengjie]# dd if=/dev/zero of=/yinzhengjie/data/alarm/warning.txt bs=1M count=100
    100+0 records in
    100+0 records out
    104857600 bytes (105 MB) copied, 0.346348 s, 303 MB/s
    [root@bogon yinzhengjie]# du -sh /yinzhengjie/data/alarm/
    111M /yinzhengjie/data/alarm/
    [root@bogon yinzhengjie]#
    再来看看效果
     

     

    后记:
    通过这钟方法~我们学会了如何定义了去自定义key,通过不同的key去实现对不通服务的监控,比如我们要监控一个服务nginx等~其原理都一样~这里我就不多说了!因为我肚子饿了,该到饭点了~
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    ORACLE中dba,user,v$等开头的常用表和视图
    rman restore spfile from backup
    oracle11g设置归档模式和非归档模式
    Oracle数据文件改名
    Linux下rz/sz安装及使用方法
    oracle数据库rman备份计划及恢复
    高级数据查询SQL语法
    关系数据库SQL之基本数据查询:子查询、分组查询、模糊查询
    关系数据库常用SQL语句语法大全
    微服务化的基石——持续集成【转】
  • 原文地址:https://www.cnblogs.com/yinzhengjie/p/6144502.html
Copyright © 2020-2023  润新知