监控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等~其原理都一样~这里我就不多说了!因为我肚子饿了,该到饭点了~
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

zabbix监控linux文件的一个目录大小的更多相关文章

  1. zabbix监控linux 以及监控mysql

    Zabbix监控Linux主机设置方法 linux客户端 :59.128 安装了mysql 配置zabbix的yum源 rpm -ivh http://repo.zabbix.com/zabbix/2 ...

  2. Zabbix监控Linux主机设置

          说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配 ...

  3. zabbix 监控linux tcp连接数

    zabbix 监控linux tcp连接数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.TCP的状态概述 1>.端口状态转换 2>.TCP 三次握手 3>. ...

  4. 如何在Linux下拷贝一个目录呢

    cp -af newadmin/movie/.   uploadfile/mallvideo/ 如何在Linux下拷贝一个目录呢?这好像是再简单不过的问题了. 比如要把/home/usera拷贝到/m ...

  5. Linux递归解压缩一个目录下的全部文件

    gunzip -r hongchangfirst/data 怎样递归删除那些剩余的非log结尾的文件? 先列出确认一下: find hongchangfirst/data -type f ! -nam ...

  6. Linux:删除一个目录下的所有文件,但保留一个指定文件

    面试题:删除一个目录下的所有文件,但保留一个指定文件 解答: 假设这个目录是/xx/,里面有file1,file2,file3..file10  十个文件 [root@oldboy xx]# touc ...

  7. linux c++ 遍历一个目录下的文件名 (包括子目录的文件名)

    最近写代码有一个要遍历目录下的每一个文件并取得这个文件的绝对路径的需求, 我们知道linux c++中有system命令所以我在代码中 先生成了一个log,然后去读log文件的每一行文件名,然后给存储 ...

  8. zabbix监控 linux/windows 主机tcp连接状态

    更新内容:1).增加了对windows主机的tcp连接状态的监控2).修改linux主机的监控配置,使linux与windwos主机能够使用相同的模板tcp的连接状态对于监控服务器,尤其是Web服务器 ...

  9. Linux系统下查看目录大小

    转载:http://blog.csdn.net/iamlaosong/article/details/7085178 我们有个系统每天要下载数据,为了检查下载数据是否正常,需要查看下载数据目录大小,因 ...

随机推荐

  1. 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程

    http://jijiaa12345.iteye.com/blog/1739754 在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程 本文是一篇在Myeclipse下构建Jav ...

  2. 使用Reveal

    添加Reveal.framework,设置Other link flags 添加Debug为 -ObjC,添加 libz 库 这里介绍 Reveal UI 分析工具的简单使用,至于使用他分析手机 Ap ...

  3. 蓝牙4.0(包含BLE)简介

    1. BLE   (低功耗蓝牙)简介 国际蓝牙联盟( BT-SIG,TI  是 企业成员之一)通过的一个标准蓝牙无线协议. 主要的新特性是在蓝牙标准版本上添加了4.0 蓝牙规范 (2010 年6 月 ...

  4. python环境搭建

    Python下载 Python最新源码,二进制文档,新闻资讯等可以在Python的官网查看到: Python官网:http://www.python.org/ 你可以在一下链接中下载Python的文档 ...

  5. Koala编译less

    下载地址:http://koala-app.com/index-zh.html 用Koala可以用来编译less,软件也是简单明了,平时开着其他软件编辑less,只要打开Koala,勾选“自动编译”后 ...

  6. 各个JSON技术的比较

    JSON技术的调研报告 一 .各个JSON技术的简介和优劣1.json-libjson-lib最开始的也是应用最广泛的json解析工具,json-lib 不好的地方确实是依赖于很多第三方包,包括com ...

  7. memory_limit的一个bug | 风雪之隅

    原文:memory_limit的一个bug | 风雪之隅 27 Nov 09 memory_limit的一个bug 作者: Laruence( ) 本文地址: http://www.laruence. ...

  8. TCP协议中的三次握手和四次挥手

    转自: http://blog.csdn.net/whuslei/article/details/6667471/ 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示:

  9. JavaScript学习之DIV层与图像

    DIV层与图像 一.设计一个可定位的层 1.设置位置(position)和大小 (1)绝对定位(absolute):以页面边框为参照,只要设置好绝对位置,那么元素的位置会始终固定在距离边框某个位置的距 ...

  10. C# serialport

    最近使用C#写串口的程序,实现串口助手的功能,参考文档记录于此. 参考文档 http://blog.csdn.net/geekwangminli/article/details/7851673 htt ...