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

14
Powershell OSS ととと ととととととととととと とととと とととととととと @yukiusagi2052 2016 と 4 と 15 と とととと#2

Upload: yukiusagi2052

Post on 16-Apr-2017

386 views

Category:

Engineering


1 download

TRANSCRIPT

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

Powershell と OSS で作る お手軽モニタリング環境

やっぱりグラフがいいよね

@yukiusagi20522016 年 4 月 15 日 ふくてん#2

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

自己紹介• 3年前 ネットワーク系 + IA サーバー系    インフラエンジニア• いま  地場企業の社内システム部門にて、     Excel ・ PowerPoint 職人。   (日々の雑用との戦い + ちょっぴり企画 )      • 楽しみ 勉強会参加• Twitter   @yukiusagi2052ブログ 雪うさぎの道具箱

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

今日のお話• Powershell との出会い• OSS の紹介• 全体的な仕組み• 適用シーン• 使い方

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

Powershell との出会い• GUI ツールで戦う日々• AD アカウント管理• Exchange ユーザー管理• ログの集計・レポートデータの抽出

• IT じゃないーーい!

• 最近の MS 管理ツールは、 Powershell スクリプトを生成しているだけ

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

OSS (ログ集約)• 定番ログ収集ツール• Plugin で対象を拡張できる素敵な子です• ブラウザーから設定できる fluentd-ui が付いて、ますます便利に

REST API

Azure Storage

AzureEvent Hubs

めっちゃ  Plugin有〼HTTPPost

syslog

JSON

主に Linux 環境

Application

tail -f

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

OSS (データストア)InfluxDB は、高負荷の書込みとクエリを処理するためにゼロから構築された時系列データベースです。 DevOps 向けモニタリング、アプリケーション・メトリクス、IoT センサデータ、リアルタイム分析など、膨大なタイムスタンプ付データを格納するストアとして使うために、 InfluxDB はあります。ただし今後は、高可用性・スケールアウトな構成は、 Enterprise 版(有償、 closed source )のみで提供予定(クラスタリング機能は、 v0.12 で OSS 開発を打止め)

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

OSS (可視化ツール)• Grafana は、データ探索、ダッシュボードの作成、その共有をするための強力かつエレガントな方法を提供します。

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

今回の環境 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}

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

全体的な仕組み

データPowershell

VM(Linux    )

ダッシュボードを チェック!

定期的(タスク・スケジューラー)

イベント発生時(イベントログ)

起動・停止時(グループ・ポリシー)

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

こんな場面に• ときどきパフォーマンス悪化。 原因箇所はサーバー? ネットワーク? 取り急ぎ傾向が知りたい。⇒ まずはデータ収集• 常時カウントが必要なイベント ウィルス検知、アカウントロック• パソコンの稼働率はどうなってるの?  起動・停止の長期的な情報収集

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

データの送り方◆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 )

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

ひと工夫• 素の Windows 7/WS2008R2 でも使いたい→  Powershell 2.0 環境前提• グループポリシーで、組み込みたい→  Module にしない• 使い易く(ちょびっと)→  コマンドレット実行結果( PSObject )を、  パイプで受け取れるように

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

使い方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'

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

良かったら ...• 試してみたり、他によい利用シーンがあれば、教えていただけると嬉しいです。

https://github.com/yukiusagi2052/write-fluentd/