Help us understand the problem. What is going on with this article?

Sensuでネットワーク監視やってみた

More than 3 years have passed since last update.

7/15〜17に開催されたJANOG36のライトニングトークに応募して,落選したネタです.
プレゼンテーションもSlideShareにアップロードしています.

Sensuの特徴

Sensuは2011年に開発が開始された,オープンソースの監視フレームワークです.
広く使われているNagiosの置き換えを目的に,下記の特徴があります.
これらは,サーバ構成が頻繁に変わるクラウドに適したものとなっています.

  • sensu-client起動時に,監視サーバに自動登録.
  • 設定ファイルはJSON形式で,構成管理ツールでの生成を推奨.
  • 監視サーバと依存ミドルウェアのスケールアウトが可能.
  • sensu-apiを用いることで,フロントエンドとの連携が容易.

Sensuについては,技評やヤフーの記事が参考になります.

Sensuプラグイン

Sensuプラグインには,下記の2種類があります.

  • Check (クライアントサイド)
    • sensu-client上で動作し,sensu-serverからの指示で実行.
    • 監視の実行やメトリクスの測定を行い,結果をsensu-serverに送信.
  • Handler (サーバサイド)
    • sensu-server上で動作し,sensu-clientからのデータを処理.
    • アラートメールの送信や,メトリクスのNoSQLへの保存を行う.

公式ではCommunity Pluginsが公開されており,大抵のものが揃っています.
ただ,多くがRuby製でオーバーヘッドが大きいため,個人でGo言語によるプラグイン開発を進めています.

Sensuの構成

私が所属する最所研究室では,下記の構成で運用しています.

image1.png

Server,Client,APIが基本的なコンポーネントで,RabbitMQRedisが依存するミドルウェアです.
可視化にはElasticsearchKibanaを利用しています.

他にも,私の趣味で開発したツールが幾つか動いています.

スイッチの監視

スイッチ監視用のsensu-clientを用意し,各スイッチの通信量を取得してみました
metrics-snmpGo言語で実装し,SNMPで下記MIBを測定しています.

  • 1.3.6.1.2.1.2.2.1.10.x: 各ポートの受信バイト数
  • 1.3.6.1.2.1.2.2.1.16.x: 各ポートの送信バイト数

メトリクスの測定結果をhandler-elasticsearchを使って保存し,Kibanaで可視化してみました.
青線が全ポート受信バイトの合計,黄線が全ポート送信バイトの合計です.

image3.png

もっと出来そうなこと

他にもSensuを使ったネットワーク監視として,どんなことが出来るか考えてみました.

  • スイッチにPINGを飛ばして死活監視
  • スイッチの全体/特定ポートの通信量が閾値を超えたら通知
  • 各ポートの通信量を個別に可視化

JANOG37に向けて

JANOG37では「ネットワーク監視どうしてますか?」というタイトルで,ルータやスイッチの監視,トラフィックやパケットの可視化についてのBoFを応募しようと思っています.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away