zabbix监控Windows文件夹大小

处理文件夹空格的情况

为了规避文件夹空格的问题,我们采用软连接的方式:
/j 和/d 当使用绝对路径时,没有不同。
mklink /J C:\mssqlsize\data2 “D:\SysDB”
mklink /J C:\mssqlsize\data3 “D:\PlatDataBase”

处理脚本

在c:\mssqlsize下新建一个dirsize.bat

@echo off
 
IF [%1]==[] GOTO USAGE
 
if NOT exist "%1" (ECHO "%1" path not exist & GOTO END)
 
:DIR_PATH
 
dir /ad /b %1 > 1.txt
 
setlocal enabledelayedexpansion
 
for /f "tokens=*" %%i in (1.txt) do (
rem    echo 
    dir /s  "%1\%%i" |findstr 个文件 > 2.txt || echo. > 2.txt
 
rem    for /f "eol=0 tokens=1,3 " %%j in (2.txt) do set ll=%%k 字节 %1\%%i  %%j 个文件 
    for /f "eol=0 tokens=1,3 " %%j in (2.txt) do set ll=%%k & set ll=!ll:~0,-9! M %1\%%i  %%j 个文件 
 
    echo  !ll!  
rem    echo.
)
 
set total= 
Endlocal
del 1.txt 2.txt
GOTO END
 
 
:USAGE
echo Usage: %0 dir_path
GOTO   END 
 
:END
rem pause

此脚本可以得到文件夹的大小,但是是多行数据,包含字符

c:\mssqlsize>dirsize.bat c:\mssqlsize
 10,941 M c:\mssqlsize\data1  12 个文件
 503 M c:\mssqlsize\data2  6 个文件

加工数据

再新建一个 mssqlsize.bat

@echo off
set  n=0
rem tokens取第一列,delims是以空格为分隔符;
for /F "tokens=1 delims= " %%i in ('C:\mssqlsize\dirsize.bat C:\mssqlsize') do (
rem 判断%%i是否包含,(逗号)
echo %%i | findstr , >null && (
rem 如果包含则...
echo %%i > tmp.txt
rem /p表示从外部输入一个值
set /p num=<tmp.txt
rem 表示把参数num中的,替换成空
echo %num:,=% > tmp2.txt
set /p num2=<tmp2.txt
set /a n+=%num2% > C:\mssqlsize\3.txt
rem 如果不包含则... ||相当于else
) || (
rem 叠加
set /a n+=%%i > C:\mssqlsize\3.txt
))
rem 清理临时文件
del 1.txt 2.txt 3.txt tmp.txt tmp2.txt null
rem 单位是M
echo %n%

配置zabbix

在zabbix的配置文件里面添加:
UserParameter=file.size,C:\mssqlsize\mssqlsize.bat

之后在web页面添加监控项就好了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Zabbix是一款开源的网络监控和管理系统,它可以监控各种网络设备、服务器和服务。在Zabbix中,可以通过配置监控项来监控Windows服务的状态。下面是介绍如何在Zabbix监控Windows服务的步骤: 1. 在Zabbix服务器上安装Zabbix Agent:首先,在要监控Windows服务器上安装Zabbix Agent。Zabbix Agent是一个运行在被监控主机上的程序,用于收集主机的各种信息并发送给Zabbix服务器。 2. 配置Zabbix Agent:在安装完Zabbix Agent后,需要对其进行配置。打开Agent的配置文件(通常位于C:\Program Files\Zabbix Agent\zabbix_agentd.conf),找到"EnableRemoteCommands"和"LogRemoteCommands"两个参数,并将它们的值改为1,保存并关闭文件。 3. 在Zabbix服务器上创建主机:登录到Zabbix Web界面,进入"Configuration" -> "Hosts",点击"Create Host"按钮创建一个新的主机。填写主机名称、可见名称和IP地址等信息,并选择正确的"Groups"和"Templates"。 4. 创建监控项:在创建主机后,进入该主机的页面,在"Items"选项卡中点击"Create Item"按钮创建一个新的监控项。在"Key"字段中输入以下内容:service.info[<服务名称>],其中<服务名称>是要监控Windows服务的名称。 5. 配置触发器:在创建监控项后,进入"Triggers"选项卡,点击"Create Trigger"按钮创建一个新的触发器。在"Expression"字段中输入以下内容:{<主机名称>:service.info[<服务名称>].last()}=0,其中<主机名称>是之前创建的主机名称,<服务名称>是要监控Windows服务的名称。 6. 保存并启用配置:完成以上步骤后,点击"Save"按钮保存配置,并确保启用了该主机的监控。 这样,Zabbix就会开始监控指定的Windows服务,并在服务状态异常时触发相应的告警。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值