search
LoginSignup
13

More than 5 years have passed since last update.

posted at

updated at

Uchiwa で複数の Sensu をまとめて管理しよう

Sensu Advent Calendar 16日目です。

とある事情で、複数のインフラを抱えることになりました。
当然監視もしなければいけないのですが、それぞれ独立なネットワークになっていて、監視どうしようかなーと考えていました。

  • 今まで Sensu 使ってたし、それを使って各インフラのACLを調整して監視できるようにするかな?
  • いやいやないない。それぞれのインフラに個別の Sensu を用意するか。
  • でも、管理画面2つに増えるのいやだな。

などと考えていましたが、どうにもしっくりこない。

そんなおり、Sensu の標準ダッシュボードとなった Uchiwa をよく見ると、Datacenter という項目があることがわかりました。

見てみると、どうやら

  • Uchiwa <-> sensu-server は 1対多 の関係を取ることができ、それぞれの sensu-server は Datacenter という分類になる。

ということのようです。
そこで、複数の sensu-server を配置して Uchiwa から全部管理してみることにしました。

実験

複数の sensu-server を扱う Uchiwa の設定

Uchiwa の json で、以下のように sensu を array にして、すべての sensu-api のエンドポイントを記載しておけばよいようです。

uchiwa.json
{
  "uchiwa": {
   (略)
  },
  "sensu": [
    {
      "name": "sensu-a",
      "host": "<sensu-a-api host>",
      "port": <sensu-a-api port>,
      (略)
    },
    {
      "name": "sensu-b",
      "host": "<sensu-b-api host>",
      "port": <sensu-b-api port>,
      (略)
    },
    {
      "name": "sensu-c",
      "host": "<sensu-c-api host>",
      "port": <sensu-c-api port>,
      (略)
    }
  ]
} 

ちなみに、uchiwa-chef を使っている場合は、attribute を下記のように渡せば、上記のような json を生成してくれます。

"uchiwa": {
  "settings": {
    (略)
  },
  "api": [
    {
      "name": "sensu-a",
      "host": "<sensu-a host>",
      "port": <sensu-a port>,
      (略)
    },{
      "name": "sensu-b",
      "host": "<sensu-b host>",
      "port": <sensu-b port>,
      (略)
    },{
      "name": "<sensu-c>",
      "host": "<sensu-c host>",
      "port": <sensu-c port>,
      (略)
    }
  ]
}

Uchiwa からの見え方

設定が終わって、正しく各sensu-api と疎通がとれていれば、下記のように見えます。

右上の雲マークから Datacenter 一覧

スクリーンショット 2014-12-15 21.09.58.png

Events/Clients/Checks/Stashes に Datacenter 毎のタブ

スクリーンショット 2014-12-15 21.10.20.png

これで、色々な管理画面を転々としなくても、一つの管理画面で透過的に扱えるようになります。

それでは、よい Sensu Life を。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
13