IPMI

サーバ監視 (Unix)

Nagios

Ganglia

  • 特徴
    • エージェント/マネージャ型で動作
    • サーバの役割毎に可視化単位を設定可能
    • 可視化対象のリソースを「メトリック」という単位で管理
    • RRD(Round Robin Database)を利用してリソース使用状況を収集
  • モジュール
    • gmond ... エージェントモジュール
    • gmetad ... マネージャモジュール
    • ganglia-web ... レポートモジュール

ZABBIX

Cacti

Hobbit

Hinemos

Swatch

サーバ監視(Windows)

WMIC (Windows Management Instrumentation Command Line)

 Windows Management Instrumentation(WMI)は、スクリプトなどの管理アプリケーションが、コンピュータのリソースに関する情報の入手や設定をできるようにする。コンピュータのリソースには、Windows OSサービス、ユーティリティ、パフォーマンス・カウンタ、イベント・ログ、物理的ハードウェア(ディスク・ドライブなど)、論理的ハードウェア(ディスク・ボリュームなど)、アプリケーションがある。

WMI リンク集

イベントログの監視(WMIC)

  • システムログの2006/12/1以降のエラーイベントを出力。出力項目は発生日時、ログの種類、ソース、メッセージ
    wmic ntevent where "(LogFile='System' and Type='Error' and TimeGenerated>='2006/12/1')" get TimeGenerated, LogFile, SourceName, Message
  • wmicの出力結果をCSV形式で出力
    wmic ... /FORMAT:CSV > test.csv
  • wmicの出力結果をHTML形式で出力
    wmic ... /FORMAT:HTABLE > test.html
  • wmicの出力結果はUTF-16で出力される。EUCにするには iconv 等で変換。
    iconv -f utf-16 -t euc-jp test.csv > test.csv.euc

イベントログ監視スクリプト

Option Explicit

Const LOG_DIR = "C:?WORK"
Const LOG_PREFIX = "event-"
Const LOG_POSTFIX = ".log"

' n日前から検索
Const BEFORE = -3

' コンピュータ名の取得
Dim objNetWork, strComputerName, strLogPath
Set objNetWork = WScript.CreateObject("WScript.Network")
strComputerName = objNetWork.ComputerName
Set objNetWork = Nothing

' ログファイルのパスをセット
strLogPath = LOG_DIR & "?" & LOG_PREFIX & strComputerName & LOG_POSTFIX

Dim nowDate, prevDate, fromDate
Dim objWMI, colEvents

nowDate = CDate(Date)
prevDate = DateAdd("d", -1, nowDate)
fromDate = DateAdd("d", BEFORE, nowDate)

Set objWMI = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!??.?root?cimv2")
Set colEvents = objWMI.ExecQuery("select * from Win32_NTLogEvent " + "where TimeWritten >= '" &  fromDate & "' and (Type='エラー' or Type='Error')")

'ファイルシステムオブジェクトを作成
Dim objFS, objOut
Set objFS = CreateObject("Scripting.FilesystemObject")
If objFS.FileExists(strLogPath) Then
	objFS.DeleteFile(strLogPath)
End If
Set objOut = objFS.CreateTextFile(strLogPath)

'WScript.Echo colEvents.Count

Dim strTitle, strLine, objEvent

strTitle = "サーバ名" & vbTab & "発生時刻" & vbTab & "ログ" & vbTab & "タイプ" & vbTab & "カテゴリ" & vbTab & "メッセージ"
objOut.WriteLine( strTitle )

For Each objEvent In colEvents
        strLine = objEvent.ComputerName & vbTab & WMIDateStringToDate(objEvent.TimeWritten) & vbTab & objEvent.LogFile & vbTab & objEvent.Type & vbTab & objEvent.Category & vbTab &  objEvent.Message
        objOut.WriteLine( strLine )
Next

objOut.Close

Set objFS = Nothing
Set colEvents = Nothing
Set objWMI = Nothing

'WScript.Echo "End"

' WTC形式から標準形式に変換
Function WMIDateStringToDate(strUtc)
        WMIDateStringToDate = CDate(Mid(strUtc, 5, 2) & "/" & Mid(strUtc, 7, 2) & "/" & Left(strUtc, 4) & " " &  Mid (strUtc, 9, 2) & ":" & Mid(strUtc, 11, 2) & ":" & Mid(strUtc, 13, 2))
End Function

リンク集


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-10-29 (木) 15:55:00 (1711d)