SensuのCommunity Pluginの一覧(日本語版)

 2014/03/30
このエントリーをはてなブックマークに追加

全国1億2000万人の監視マニアのみなさん、こんにちは。 Sensuは、非常にシンプルなアーキテクチャーで、さまざまなカスタムスクリプトを使っていろいろな監視を行ったり、メトリクスデータを取得することができます。メトリクスデータはさらにGraphiteなんかに送信してあげれば、どんどんグラフ化できます。このあたりの話が前提になっていますので、Sensuってなにそれ?な方は先に「Sensuを使って自由度の高い監視システムの構築を行う方法」をご覧ください。

チェックスクリプトを書くのは非常に簡単ですが、SensuではCommunity Pluginという形で非常に沢山のプラグインが既に公開されていますので、今日はそれを紹介します。

Community Pluginの入手

なにも考えず、

git clone https://github.com/sensu/sensu-community-plugins

すればOKです。これで大量のスクリプトが手に入りますので、(・∀・)ニヤニヤしながら眺めるとよいでしょう。 でもあまりに沢山あるので、何がなんだか分からない、という方のために、今日の本題で、各プラグインはどんなものなのか、一気に紹介したいと思います。 一応スクリプトの中身は全部見ましたが、間違ってればご指摘ください。

現在公開されているCommunity Pluginの一覧

あたりまえですが、玉石混交ちっくではありますので、利用の前に自分でよく中身を確認するようにしてください。 なお、ライセンスは基本的にSensuと同様にMITライセンスとなります。

apache

  • Apacheのmod_statusの出力結果をGraphiteで表示するためのデータを作成する

aws

  • Auto Scalingで起動されているインスタンス数をカウントする
  • ELBにインストールしているサーバ証明書の有効期限を監視する
  • ELBのヘルスチェックをする
  • ELB配下に一定台数以上のインスタンスがいるかどうか監視する
  • SQSのメッセージ数を監視する
  • VPCでのVPN接続の死活を監視する
  • EC2の起動台数をカウントする
  • ElastiCacheのメトリクスを取得する
  • CloudWatchからELBのメトリクスをがっつり取得する
  • ELBのレイテンシを取得する

beanstalk

beanstalkd

  • 同上。実装が違うだけ

cassandra

  • Cassandraのメトリクスデータを取得する。例えばuptime、ヒープ使用量、例外の発生件数など

ceph

  • Linux のペタバイト規模の分散ファイルシステムの監視とメトリクス取得

check-tripwire.rb

  • 改ざん検知のTripwireを実行して、改ざんされていないかを監視する

chef

  • Chef Serverに登録されているノードを監視する

couchbase

  • Couchbaseのメモリ使用量を監視する

dhcp

  • DHCPサーバの死活を監視する。デフォルトでは単にDHCPディスカバーへの応答を監視する

dns

  • DNSサーバが応答を返すか監視する

elasticsearch

  • 検索用エンジンであるElasticSearchを監視する。クラスタのステータス監視、ファイルディスクリプタの監視、ヒープの監視、クラスタメトリクスの取得、ノードのメトリクスの取得などが可能

erlang

  • リモートのErlangノードへの接続が可能かどうかを監視する

files

  • 指定したファイルのチェックサムを監視する
  • ファイルの存在を監視する
  • ファイルの更新日時を監視する
  • ファイルに指定した文字列がふくまれているか監視する
  • 指定したディレクトリ内にあるファイル数をチェックする

ftp

  • 指定したFTPサーバに接続できるかを監視する

github

  • GitHubの指定したレポジトリのメトリクス(プルリクエスト数、ブランチ数、タグの数、コントリビューターの数、言語)を取得する

graphite

  • Graphite内に蓄積されているデータをチェックする
  • 複数サーバでGraphiteレプリケーションを組んでいる場合に状態が正常か監視する
  • Graphiteから時系列のデータを取得する

haproxy

  • HAProxyのサービスが正常に起動しているか監視する
  • HAProxyのメトリクスデータを取得する

hbase

  • 分散DBであるApache HBaseのリージョン数を監視する
  • HBaseのメトリクスを取得する

http

  • httpdがステータスコード200を返すかどうかを監視する
  • httpdがValidなJSONを返すかどうか監視する
  • httpdでリクエストを処理する際の各処理段階(DNS名前解決、接続、リダイレクトなど)にかかる時間のメトリクスを取得する

imap

  • IMAPサーバを死活監視する

java

  • ヒープメモリの使用状況のメトリクスを取得する
  • ヒープメモリの使用割合を監視する
  • PermGen領域を監視する
  • jststを使ってメトリクスを取得する

jenkins

  • 指定したJenkinsのジョブが正常終了しているかそうでないかを監視する

logging

  • 正規表現を使ってログを監視する
  • システムのジャーナルを正規表現をつかって監視する

lxc

  • 軽量LinuxコンテナであるLXCの仮想マシンの起動有無を監視する
  • 指定した仮想マシンのメモリ使用率を監視する

memcached

  • memcachedの死活を監視する
  • memcachedのメトリクスを取得する
  • get,set,delなどのメトリクスを取得する
  • rubyのライブラリを使わず直接TCPソケットを使って、memcachedの各種メトリクス(読み書きバイト数、ヒット率、接続数などなどなど)を取得する

mongodb

  • MongoDBの死活監視を行う
  • MongoDBのメトリクスを取得する

monit

mysql

  • MySQLの死活を監視する
  • MySQLの接続数を監視する
  • MySQLのディスクを監視する
  • MySQLのレプリケーションの状況を監視する
  • MySQLのメトリクスを取得する
  • Amazon RDS上のMySQLの死活監視をCloudWatch経由で行う

network

  • TCPで接続してバナーが正規表現にマッチしているかどうか監視する
  • マルチキャストグループの動作を監視する
  • IPアドレスがブラックリストに含まれているかどうか監視する
  • ネットワークのメトリクスを取得する
  • TCPのメトリクスを取得する
  • ネットワーク・インターフェイスのスループットのメトリクスを取得する

newrelic

  • NewRelicのメトリクスを取得する

nginx

  • Nginxのメトリクスを取得する

openldap

  • OpenLDAPサーバでsyncreplが動作しているかどうかを監視する

openstack

  • OpenStack関連の監視とメトリクス取得(略)

opsgenie

percona-cluster

  • MySQL Percona Serverのメトリクス取得

php-fpm

  • php-fpmの死活監視とメトリクス取得

ping

  • 指定した宛先にpingを投げて死活監視する

pingdom

postfix

  • Postfixのメールキューの数を監視する

postgres

  • PostgreSQLの死活監視する
  • PostgreSQLへの接続情報のメトリクスを取得する
  • PostgreSQLのDBのサイズのメトリクスを取得する
  • PostgreSQLの負荷状況のメトリクスを取得する
  • PostgreSQLのリプリケーションの死活を監視する
  • statsioおよびstatsdbのメトリクスを取得する
  • など

processes

  • 指定したコマンドを実行し、正常に終了することを確認する
  • 指定したプロセスが存在していることを監視する

qmail

  • Qmailのキューの数を監視する

rabbitmq

  • RabbitMQの死活監視をおこなう
  • AMQPの死活監視を行う
  • RabbitMQの全体的なメトリクスを取得する
  • RabbitMQのキューに関するメトリクスを取得する
  • RabbitMQのメッセージ数を監視する

redis

  • Redisのメモリ状況を監視する
  • Redisのスレーブを死活監視する
  • Redisのリストの長さを監視する
  • Redisのメトリクスを取得する
  • など

resque

  • RubyアプリケーションでRescueに入っているもののメトリクスを取得する

riak

  • Riakのメトリクスを取得する

security

  • 指定したポートが空いているかどうか監視する

sensu

  • Aggregateのメトリクスを取得する
  • Aggregateできているかどうかを監視する
  • 有効期限をすぎたStashを削除する

sftp

  • sftp接続できるかどうかを監視する

sip

  • SIPサーバの死活監視をおこなう

smart

  • ハードディスクやSSDのSMARTステータスをチェックする

snmp

  • SNMPが正常に動作しているか監視する
  • SNMPのメトリクスを取得する
  • ネットワーク・インターフェイスのメトリクスを取得する

solr

  • Apache Solrのメトリクスを取得する

supervisor

  • supervisorプロセスの死活監視をおこなう

system

  • CPU使用率が一定以内かどうかを監視する
  • Diskの状態を監視する
  • Diskの使用率を監視する
  • ファイルシステムに書き込み可能かどうかを監視する
  • ロードアベレージが指定値いないかどうかを監視する
  • メモリ使用率を監視する
  • メモリ使用量を監視する
  • NTPの死活監視を行う
  • スワップ領域の使用率を監視する
  • スワップ領域の使用量を監視する
  • CPUのメトリクスを取得する
  • Diskのキャパシティのメトリクスを取得する
  • ネットワーク・インターフェイスのメトリクスを取得する
  • ロードアベレージのメトリクスを取得する
  • vmstatのメトリクスを取得する
  • などなど

telapi

trafficserver

  • Apache Traffic Serverのメトリクスを取得する

twemproxy

  • memcachedとredisのProxy機能を提供するTwemproxyのメトリクスを取得する

twilio

  • Twillioの1アカウントの中の通知記録数を監視する

varnish

  • Varnishのメトリクスを取得する

windows

  • Windowsのディスクを監視する
  • Windowsのプロセスを監視する
  • Windowsのサービスを監視する
  • Windowsのメモリ使用量を取得する
  • WindowsのCPU負荷を取得する

youtube

  • Youtubeのメトリクスデータを取得する

 2014/03/30
このエントリーをはてなブックマークに追加

サイト内検索


著作

寄稿

Latest post: