Powershell とOSS で作る
お手軽モニタリング環境
やっぱり
グラフがいいよね
@yukiusagi2052
2016年4月15日 ふくてん#2
自己紹介
• 3年前 ネットワーク系 + IAサーバー系
インフラエンジニア
• いま 地場企業の社内システム部門にて、
Excel・PowerPoint職人。
(日々の雑用との戦い + ちょっぴり企画 )
• 楽しみ 勉強会参加
• Twitter @yukiusagi2052
ブログ 雪うさぎの道具箱
今日のお話
• Powershellとの出会い
• OSSの紹介
• 全体的な仕組み
• 適用シーン
• 使い方
Powershellとの出会い
• GUIツールで戦う日々
• AD アカウント管理
• Exchange ユーザー管理
• ログの集計・レポートデータの抽出
• ITじゃないーーい!
• 最近のMS管理ツールは、Powershellスクリプトを生成し
ているだけ
OSS(ログ集約)
• 定番ログ収集ツール
• Pluginで対象を拡張できる素敵な子です
• ブラウザーから設定できるfluentd-uiが付いて、ますます便利に
REST API
Azure
Storage
Azure
Event Hubs
めっちゃ
Plugin有〼
HTTP
Post
syslog
JSON
主にLinux環境
Application
tail -f
OSS(データストア)
InfluxDBは、高負荷の書込みとクエリを処理するためにゼ
ロから構築された時系列データベースです。
DevOps向けモニタリング、アプリケーション・メトリクス、
IoTセンサデータ、リアルタイム分析など、膨大なタイム
スタンプ付データを格納するストアとして使うために、
InfluxDBはあります。
ただし今後は、高可用性・スケールアウトな構成は、
Enterprise版(有償、closed source)のみで提供予定
(クラスタリング機能は、 v0.12 でOSS開発を打止め)
OSS(可視化ツール)
• Grafanaは、データ探索、ダッシュボードの作成、その共
有をするための強力かつエレガントな方法を提供します。
今回の環境
x86_64
• td-agent 0.12.12
• Influxdb 0.10.3
• grafana 2.6.0
• centos6 (Linux 2.6.32)
• virtualbox 5.0.16
$PSVersionTable
CLRVersion 2.0.50727.5485
BuildVersion 6.1.7601.17514
PSVersion 2.0
WSManStackVersion 2.0
PSCompatibleVersions {1.0, 2.0}
全体的な仕組み
データ
Powershell
VM
(Linux )
ダッシュボードを
チェック!
定期的
(タスク・スケジューラー)
イベント発生時
(イベントログ)
起動・停止時
(グループ・ポリシー)
こんな場面に
• ときどきパフォーマンス悪化。
原因箇所はサーバー? ネットワーク?
取り急ぎ傾向が知りたい。⇒ まずはデータ収集
• 常時カウントが必要なイベント
ウィルス検知、アカウントロック
• パソコンの稼働率はどうなってるの?
起動・停止の長期的な情報収集
データの送り方
◆Fluentd in_httpの仕様に合わせて『post』
Invoke-RestMethod `
-Uri ‘http://server:9880/influxdb.net' `
-Method POST `
-Body 'json={“location":“tokyo",“latency":50,”lossrate”:0.1}‘
◆コマンドレット結果をJSONに変換するには
ConvertTo-Json -Compress
Tag
データ(JSON)
ひと工夫
• 素のWindows 7/WS2008R2でも使いたい
→ Powershell 2.0 環境前提
• グループポリシーで、組み込みたい
→ Moduleにしない
• 使い易く(ちょびっと)
→ コマンドレット実行結果(PSObject)を、
パイプで受け取れるように
使い方
function Do-Ping
{
計測の処理・・
New-Object PSObject -Property @{
location = $LocationString
latency = $LatencyMilliSecond
lossrate = $LossRate
}
}
Do-Ping | write-fluentd –server 'http://server:9880/' `
-tag 'influxdb.net' `
-text 'location'
良かったら...
• 試してみたり、他によい利用シーンがあれば、教えてい
ただけると嬉しいです。
https://github.com/yukiusagi2052/write-fluentd/

ふくてん#2 Powershellとossで作るお手軽モニタリング環境