日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

定时发送服务器运行数据并设置阀值警报方法

發布時間:2025/4/16 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 定时发送服务器运行数据并设置阀值警报方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

案例分析:筆者架設了公司整體的服務器系統監控系統,實現運行數據收集,篩選,報警的機制,采用了windows系統自帶的性能監視器,但是在實施的過程中,遇到了一個問題:性能監視器無法對sql server 2008(基于window server 2008)進行系統性能監控,無法從監控主機連上目前機器,就無法收集數據進行處理。因這臺服務器比較重要,是公司的ERP數據庫服務器,已經連續發生了兩次因D盤空間爆滿,sql server無法啟動,導致大面積用戶無法登陸正常使用的情況。筆者針對現狀,決定采取腳本與批處理結合的辦法,每天定時發送服務器運行數據到指定郵箱,并手工對D盤做閥值報警設置,步驟如下:

1. 通過腳本收集數據到指定文件夾(見前幾批博文介紹)

2. 在發送數據到指定文件夾的同時,放置一份數據到臨時文件,然后每次收集時進行更新

echo off

echo %date% %time% >>info.txt ‘寫入固定文件夾,每次新增

echo CPU Information:>>info.txt

cscript //Nologo cpu.vbs >> info.txt

echo Memery Information:>>info.txt

cscript //Nologo ram.vbs >> info.txt

cscript //Nologo hard.vbs >> info.txt

echo %date% %time% >temp.txt ‘寫入臨時文件夾,每次刷新

echo CPU Information:>>temp.txt

cscript //Nologo cpu.vbs >>temp.txt

echo Memery Information:>>temp.txt

cscript //Nologo ram.vbs >> temp.txt

cscript //Nologo hard.vbs >> temp.txt

3. 在監控服務器的計劃任務中添加郵件發送任務,每天10:00定時發送temp的內容到指定服務器

content= "C:\perflogs-remote\PROD-SQL\temp.txt"

set fso=createobject("scripting.filesystemobject")

if fso.fileexists(content) then

set fil=fso.getfile(content)

filename=fil.name

if lcase(right(filename,4))=".txt" then

set txt=fso.opentextfile(content,1)

code=txt.readall

txt.close

end if

end if

nr=code

Const Email_From = "abc@163.com"

'Const Password = ""

Const Email_To = "def@163.com"

Set CDO = CreateObject("CDO.Message")

CDO.Subject = " Status Report"

CDO.From = Email_From

CDO.To = Email_To

CDO.TextBody = nr

'cdo.AddAttachment = "C:\hello.txt"

Const schema = "http://schemas.microsoft.com/cdo/configuration/"

With CDO.Configuration.Fields

.Item(schema & "sendusing") = 2

.Item(schema & "smtpserver") = "10.4.100.70"

.Item(schema & "smtpauthenticate") = 0

.Item(schema & "sendusername") = Email_From

'.Item(schema & "sendpassword") = Password

.Item(schema & "smtpserverport") = 25

.Item(schema & "smtpusessl") = False

.Item(schema & "smtpconnectiontimeout") = 60

.Update

End With

CDO.Send

msgbox "Email sent!"

D盤閥值設置步驟:

1. 截取temp.txt中的關于D盤的需要字段

2012/11/21 16:44:09.22

CPU Information:

CPU Usage: 19%

Memery Information:

Total Memery: 16384 MB

Available Memery: 617 MB

Memery Usage:96%

Harddisk information£o

Partition:C

Available Space:3.733 GB

Total Space:39.9 GB

Usage:90.6433553637135%

Partition:D

Available Space:24.383 GB

Total Space:59.997 GB

Usage:59.3590957097753%

在上述信息中,需要截取D盤的使用率,值是59,代碼如下:

@echo off

for /f "tokens=*" %%i in (temp.txt) do set str=%%i&call set str=%%str:~6,2%%’獲取D盤的值并賦值給str

if %str% LSS 30 start c:\perflogs-remote\PROD-SQL\Prod-sql-alert.vbs’str值與30做比較,如小于30就發送報警郵件。

具體的如何實現報警的方法,請參見之前介紹過的SMTP腳本。

轉載于:https://blog.51cto.com/fillwang/1066734

總結

以上是生活随笔為你收集整理的定时发送服务器运行数据并设置阀值警报方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。