share facebook facebook2 twitter menu hatena pocket slack

2014.06.19 THU

Sensu 芸人としては外せない Windows for sensu-client を試してみる

川原 洋平

WRITTEN BY川原 洋平

どうも。Sensu が三度のご飯より好きなかっぱこと 川原 洋平@inokara)です。


Windows もあり〼

サーバーはなにも LinuxFreeBSD だけではありません。WindowsWindows Server というサーバー製品で世界を席巻しようとしています(おおげさ)。そういう Windows Server にも当然監視が必要でして Sensu にも Windows 用の sensu-clientMSI パッケージとして配布されています。



インストール

とりあえずスクリーンショットで紹介。


インストールした環境

  • EC2 インスタンス
  • Microsoft Windows Server 2008 R2 SP1 Datacenter 64-bit
  • ami-9ed834f6


msi パッケージのダウンロード

sensu-client-for-windows-sensu-server_01


ダウンロードした msi パッケージをダブルクリック!

sensu-client-for-windows-sensu-server_02


ライセンスもちゃんと読みましょう

sensu-client-for-windows-sensu-server_03

そして accept しましょう

sensu-client-for-windows-sensu-server_04


早速インストール

sensu-client-for-windows-sensu-server_05


暫し待ちましょう

sensu-client-for-windows-sensu-server_06

お茶でもたてて…


お疲れ様でした

sensu-client-for-windows-sensu-server_07

とっても簡単ですね。



セットアップ


流れ

  • c:optsensubinsensu-client.xml の修正(設定ファイルのパスを決める)
  • sensu-client の設定ファイルの作成
  • sc コマンドでWindows サービス(正式な名前は確認中)への登録


sensu-client.xml の修正

推奨される方法でインストールした場合には c:optsensu というパスに sensu-client や組み込みの Ruby 一式がインストールされます。。その中の bin ディレクトリ以下に sensu-client.xml という Windows サービスに登録する情報を定義する xml ファイルがありますので、そのファイルを以下のように修正しましょう。

  <!--
    Windows service definition for Sensu
  -->
  <service>
    <id>sensu-client</id>
    <name>Sensu Client</name>
    <description>This service runs a Sensu client</description>
    <executable>C:optsensuembeddedbinruby</executable>
    <arguments>C:optsensuembeddedbinsensu-client -d C:etcsensuconf.d -l C:optsensusensu-client.log</arguments>
  </service>

-d オプションで sensu の各種設定ファイルを置くパスを指定します。


sensu の設定ファイルの作成

とりあえずは以下の二つのファイルを作成しましょう。何の変哲も無い sensu の設定です。


rabbitmq.json

{
  "rabbitmq": {
    "host": “xxx.xxx.xxx.xxx”,
    "port": 5672,
    "vhost": "/sensu",
    "user": "sensu",
    "password": “mypass”
  }
}


client.json

{
  "client": {
    "name": “test-win”,
    "address": “xxx.xxx.xxx.xxx”,
    "subscriptions": [ “test” ]
  }
}


sc コマンドで sensu-client を Windows サービスに登録する

sc create sensu-client start= delayed-auto binPath= c:optsensubinsensu-client.exe DisplayName= "Sensu Client"

実行すると…以下のように sensu-client がサービスとして登録されました。

sensu-client-for-windows-sensu-server_08

sc コマンドの詳細についてはこちらあたりで…。



起動からのログ確認


起動

sensu-client-for-windows-sensu-server_09

Windows サービスから sensu-client をダブルクリックしてプロパティを表示させて Start ボタンをクリックするだけ。


ログを確認する

Remote Desktop 内のテキストを Mac にコピーする手立てが見つからずスクリーンショットとなってしまい恐縮だが、以下のように RabbitMQ との通信が開始されているのが解るかも…(汗

sensu-client-for-windows-sensu-server_10


sensu-server で確認

やっぱり sensu-server で確認した方がいいですよねってことで確認。


Dashboard で確認していいのは xxx まで

Dashboard からクライアントの一覧を確認しても良いのですが、せっかくなので sensu-api を使いましょう。

curl -s http://xxx.xxx.xxx.xxx:4567/clients | jq '.[]|select(.name |contains("test-win"))'

上記のように /client のエンドポイントに対してリクエストを投げるとクライアントの一覧が取得出来ますので jq でよしなに select すると…

sensu-client-for-windows-sensu-server_11


一応 Dashboard でも…

sensu-client-for-windows-sensu-server_12



まとめ

という程のまとめはありませんが…


今回は

  • sensu-client for Windows のインストールを行いました
  • sensu-server に登録するところまでの設定を行いました


次回は

  • sensu-client を使ってチェックやメトリクス収集を行いつつ
  • Windows で収集出来るメトリクス等について調べていきたいと思います


感想

  • インストールと設定はとても簡単でした!

元記事は、こちら