java+磁盘io监控_磁盘IO利用率监控VBS脚本(windows)
'程序名称: btlwchk_DiskIO.vbs
'版权信息: Copyright (c) 2011 guangzhou bluetech technology Incorporated.All rights reserved
'程序用途: 监测windows主机IO利用率
'创建日期: 2011-08-10
'作者信息: zhangkai
'运行环境: vbs
'处理参数
MonSubject="DiskIO"
Set Args=WScript.Arguments
If (Args.Count<1) Then
Wscript.Echo MonSubject & " -1:command line error"
WScript.Quit(3)
End If
strcid=Args(0)
'获取工作目录
tmparr=Split(Wscript.ScriptFullName,"\",-1)
g_strworkdir=tmparr(0)
narr=UBound(tmparr,1)
For i=1 to narr-3
g_strworkdir=g_strworkdir & "\" & tmparr(i)
Next
'装载公共库
set g_fileSys = createObject ("Scripting.FileSystemObject")
Sub includeFile (fSpec)
dim file, fileData
set file = g_fileSys.openTextFile (fSpec)
fileData = file.readAll ()
file.close
executeGlobal fileData
set file = nothing
end sub
includeFile g_strworkdir & "\nagios\libexec\libcomm.vbs"
'输出版本和帮助信息
getverhelp strcid,"v1.00"," "
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
'第1次采样IO
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfDisk_LogicalDisk where name='_Total' ",,48)
For Each objItem in colItems
DiskTime1 = objItem.PercentDiskTime
BaseTime1 = objItem.PercentDiskTime_Base
DiskBytes1 = objItem.DiskBytesPerSec
DiskReadBytes1 = objItem.DiskReadBytesPerSec
DiskWriteBytes1 = objItem.DiskWriteBytesPerSec
AvgDiskTransfer1 = objItem.AvgDiskSecPerTransfer
AvgDiskTransferBase1 = objItem.AvgDiskSecPerTransfer_Base
AvgDiskRead1 = objItem.AvgDiskSecPerRead
AvgDiskReadBase1 = objItem.AvgDiskSecPerRead_Base
AvgDiskWrite1 = objItem.AvgDiskSecPerWrite
AvgDiskWriteBase1 = objItem.AvgDiskSecPerWrite_Base
TimeValue1 = objItem.Timestamp_PerfTime
TimeBase = objItem.Frequency_PerfTime
Next
'第2次采样IO
WScript.Sleep 1000
Set colItems = objWMIService.ExecQuery("Select * from Win32_PerfRawData_PerfDisk_LogicalDisk where name='_Total' ",,48)
For Each objItem in colItems
DiskTime2 = objItem.PercentDiskTime
BaseTime2 = objItem.PercentDiskTime_Base
DiskBytes2 = objItem.DiskBytesPerSec
DiskReadBytes2 = objItem.DiskReadBytesPerSec
DiskWriteBytes2 = objItem.DiskWriteBytesPerSec
AvgDiskTransfer2 = objItem.AvgDiskSecPerTransfer
AvgDiskTransferBase2 = objItem.AvgDiskSecPerTransfer_Base
AvgDiskRead2 = objItem.AvgDiskSecPerRead
AvgDiskReadBase2 = objItem.AvgDiskSecPerRead_Base
AvgDiskWrite2 = objItem.AvgDiskSecPerWrite
AvgDiskWriteBase2 = objItem.AvgDiskSecPerWrite_Base
TimeValue2 = objItem.Timestamp_PerfTime
CurrentDiskQueueLength = objItem.CurrentDiskQueueLength
Next
'获取IO利用率
If BaseTime2 - BaseTime1 = 0 Then
strio ="Name=_Toltal" & ",PercentDiskTime=0%"
Else
PercentDiskTime =(DiskTime2 - DiskTime1)/(BaseTime2 - BaseTime1)*100
strio = "Name=_Total" & ",PercentDiskTime=" & PercentDiskTime
End If
'获取Disk Bytes/sec
If TimeValue2 - TimeValue1 = 0 Then
strdiskbyte = ",DiskBytesPerSec=0"
Else
DiskBytesPerSec = (DiskBytes2 - DiskBytes1) / ( (TimeValue2 - TimeValue1) / TimeBase)
strdiskbyte = ",DiskBytesPerSec=" & DiskBytesPerSec
End If
'获取Disk Read Bytes/sec
If TimeValue2 - TimeValue1 = 0 Then
strdiskreadbyte = ",DiskReadBytesPerSec=0"
Else
DiskReadBytesPerSec = (DiskReadBytes2 - DiskReadBytes1) / ( (TimeValue2 - TimeValue1) / TimeBase)
strdiskreadbyte = ",DiskReadBytesPerSec=" & DiskReadBytesPerSec
End If
'获取Disk Write Bytes/sec
If TimeValue2 - TimeValue1 = 0 Then
strdiskwritebyte = ",DiskWriteBytesPerSec=0"
Else
DiskWriteBytesPerSec = (DiskWriteBytes2 - DiskWriteBytes1) / ( (TimeValue2 - TimeValue1) / TimeBase)
strdiskwritebyte = ",DiskWriteBytesPerSec=" & DiskWriteBytesPerSec
End If
'获取Avg. Disk sec/Transfer
If AvgDiskTransferBase2 - AvgDiskTransferBase1 = 0 Then
stravgdisktran = ",AvgDiskSecPerTransfer=0"
Else
AvgDiskSecPerTransfer = ((AvgDiskTransfer2 - AvgDiskTransfer1) / TimeBase) / (AvgDiskTransferBase2 - AvgDiskTransferBase1)
stravgdisktran = ",AvgDiskSecPerTransfer=" & AvgDiskSecPerTransfer
End If
'获取Avg. Disk sec/Read
If AvgDiskReadBase2 - AvgDiskReadBase1 = 0 Then
stravgdiskread = ",AvgDiskSecPerRead=0"
Else
AvgDiskSecPerRead = ((AvgDiskRead2 - AvgDiskRead1) / TimeBase) / (AvgDiskReadBase2 - AvgDiskReadBase1)
stravgdiskread = ",AvgDiskSecPerRead=" & AvgDiskSecPerRead
End If
'获取Avg. Disk sec/Write
If AvgDiskWriteBase2 - AvgDiskWriteBase1 = 0 Then
stravgdiskwrite = ",AvgDiskSecPerWrite=0"
Else
AvgDiskSecPerWrite = ((AvgDiskWrite2 - AvgDiskWrite1) / TimeBase) / (AvgDiskWriteBase2 - AvgDiskWriteBase1)
stravgdiskwrite = ",AvgDiskSecPerWrite=" & AvgDiskSecPerWrite
End If
'获取Current Disk Queue Length
strdisklength = ",CurrentDiskQueueLength=" & CurrentDiskQueueLength
Wscript.Echo MonSubject & " 0:OK|" & strio & strdiskbyte & strdiskreadbyte & strdiskwritebyte & stravgdisktran & stravgdiskread & stravgdiskwrite & strdisklength
java+磁盘io监控_磁盘IO利用率监控VBS脚本(windows)相关推荐
- java采集温湿度水浸_智能电力水浸监控解决方案
随着我国人们生活水平的不断提高,电子信息产业的高速发展,智能电网的不断推进,供配电安全也逐渐进入人们的视野,供配电系统智能化监控已成为人们不得不考虑的问题之一. 变电站/配电室故障导致的毫无征兆的断电 ...
- cat全链路监控_谛听全链路监控平台实践与思考
一.项目背景 近几年,信也科技的研发技术伴随着业务的快速增长逐步演化为微服务化的分布式体系架构,但随之带来的系统间的上下游依赖关系的复杂度也呈指数级上升,已有的烟囱式的监控产品(CAT.ELK等)存在 ...
- mysql pt监控_技术分享 | MySQL 监控利器之 Pt-Stalk
作者:xuty 本文来源:原创投稿 *爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源. 一.概述 之前在社区发了一篇[有效解决 MySQL 行锁等待超时问题]文档,主要介绍 ...
- python微服务监控_如何用zabbix监控微服务
配置zabbix_agent.conf,通过shell脚本weifuwu.sh读取/etc/zabbix/scripts/tmp.txt内容,作为自定义zabbix键值获取到的内容返回给zabbix ...
- word保存不了磁盘已满_磁盘到底该不该分区?容量不够怎么办?
据说99%的人都有磁盘分区的习惯?这么巧,你也是? 可是随着SSD(固态硬盘)的普及使用,又据说SSD分区会导致空间浪费和性能下降? 其实,SSD分两到三个区不管从空间还是性能上,都是完全OK的.分不 ...
- 普罗米修斯 监控_接近完美的监控系统—普罗米修斯
普罗米修斯(Prometheus)是一个SoundCloud公司开源的监控系统.当年,由于SoundCloud公司生产了太多的服务,传统的监控已经无法满足监控需求,于是他们在2012年决定着手开发新的 ...
- curl循环监控_阿里巴巴开源性能监控神器Arthas
线上经常遇到MQ消费速度忽高忽低,但是线下测试却没有问题.那会是哪一个问题引起的呢?因为影响MQ消费速度的因素太多了,如下因素只要任何一种出现问题,就会影响MQ消费速度. JVM内存过高,一直在Ful ...
- 普罗米修斯 监控_完美的分布式监控系统——普罗米修斯
DevOps工程师或SRE工程师,可能都知道Prometheus普罗米修斯.Prometheus于2012年由SoundCloud创建,目前已经已发展为最热门的分布式监控系统.Prometheus完全 ...
- mysql 表结构监控_性能测试之mysql监控、优化
共享表空间还有一个缺点就是不能自动收缩,自动收缩是什么意思呢,刚建表的时候,表里面数据很少,就1条数据,可能占用空间就几kb,到后来数据多了,占用了10个G的空间,然后发现有一些数据都是垃圾数据,删了 ...
最新文章
- python如何把两个dataframe合并成一个
- android selector下的设置背景属性值
- mysql反模式_MongoDB报表实例 -- 标签成员方案
- 媒体查询media的3种引入方式
- JAVA集合(笔记)
- [转载] SimpleHTTPServer解释:如何使用Python发送文件
- Java基础教程汇总
- golang微服务网关
- 如何利用快解析快速实现动态域名解析,内网穿透?
- java分享微博_java_java实现的新浪微博分享代码实例,weibo.java
{@link IWeiboShareAPI#handle - phpStudy...
- MySQL数据库(一)服务器数据库的搭建和远程访问
- ORcad Capture CIS元件库管理
- buctoj-python 2022.5.19
- IF: 8+ m6A调控因子与m6A相关的lnc/mRNA作为结直肠癌预后因子的综合性分析
- python中合法的赋值语句y=y+1_关于Python赋值语句,以下选项中不合法的是 _________ 。_学小易找答案...
- 智慧树大数据分析python答案_智慧树大数据分析的python基础答案
- APP漏洞防护方案与防攻击解决办法
- Java Web创建并运行一个简单的网页
- c++语言题库,C++题库完整版.doc
- 《蔡康永的说话之道》阅读笔记
热门文章
- ROS----小乌龟画爱心
- 关于SQL server 2000 在安装过程中遇到文件挂起的解决办法
- VS2015调试dump文件时提示未找到xxx.exe或xxx.dll
- apk ipa sis 各是什么东西
- Apache Kafka实战读书笔记(推荐指数:☆☆☆☆☆)
- 互联网公司的技术博客汇总-BAT等
- 构造散列表 (20 分)
- 出价策略正处于学习期...
- jenkins安装和配置(二):配置第一个项目
- 仿微信打开红包旋转动画