URAMIRAIKAN

1020のなれの果て (since 2005.6.19)

ZabbixでUDPポートの監視(Windows)

 ZabbixでWindowsサーバのUDPポートの監視をする要件があったのですが、"net.udp.listen[port]"キーはどうやらLinuxでないと使えないみたい。

 そんなわけで、"netstat"コマンドの結果をUserParameterで渡すことを前提にスクリプトを作ってみました。

 メインのスクリプト"udp_check.vbs"はこんな感じで。

Option Explicit On Error Resume Next Const TargetProto = "udp" Dim objShell, objExec, objRE, strLine, intPort, RetVal If WScript.Arguments.Unnamed.Count = 0 Then WScript.Quit(255) End If intPort = WScript.Arguments.Unnamed(0) RetVal = 0 Set objRE = new RegExp objRE.Pattern = ".\:" & intPort & "\s" Set objShell = WScript.CreateObject("WScript.Shell") Set objExec = objShell.Exec("C:\Windows\System32\netstat.exe -an -p " & TargetProto) Do While objExec.Status = 0 WScript.Sleep 100 Loop Do Until objExec.StdOut.AtEndOfStream strLine = objExec.StdOut.ReadLine If objRE.Test(strLine) Then RetVal = 1 End If Loop WScript.Echo RetVal WScript.Quit(0)

 一応、呼び出し用のバッチファイル"udp_check.bat"も準備。

@ECHO OFF cscript //nologo udp_check.vbs %1

 Zabbix Agentの設定ファイルにUserParamenterを追記してZabbixサーバからアイテムを作成(監視対象ポートを引数で与える)

UserParameter=port.listen.udp[*],udp_check.bat

 こんな感じで大丈夫かな?
 もっとZabbixでスマートにできればいいのですが…。


    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

プロフィール

1020@管理人

都内を彷徨っているインフラエンジニアとかいう雑用係。いつだって眠い…。

最近のつぶやき

@umkn1020 (07/03-18:57)
RT @kamo_hiroyasu: 「人口の1割は複文が処理できないのだから、そのつもりで行動しろ」と助言することが時々あるのですが、「何もしなければ、42万人死亡する」を「42万人死亡する」と誤読して「外した」と煽る人がわらわらと湧いてきたことで、説得力が増しました。
@umkn1020 (07/03-18:49)
RT @taijijiji: 外資企業が日本市場でhiring難しいとは聞いていましたがこれほどとは。。日本人の転職の心理的ハードルの高さ、英語ポジションへの苦手意識が伺える。。英語は実質的な語学スキルよりも「やっていける自信がない」「怖い」「どうせ落とされる」というメンタリテ…
@umkn1020 (07/03-13:03)
RT @yuutosi_hiyuu: 声だして笑った https://t.co/EjqAUuT3z0
@umkn1020 (07/02-16:02)
Smart LifeでIFTTT使えなくなっていたのか…
@umkn1020 (07/01-17:23)
RT @rioriost: だーかーらー、HAクラスタをすぐ組もうとしない!w オンプレの発想をそのまま持ってくるんじゃなく、クラウドに合ったやり方を学びましょうよ。 できるよ、IaaSでHAクラスタも組めるよ。 でも、スタンバイノードのコストを払い続けるの、なんかおかし…

エントリーリスト

カテゴリーリスト

タグ