素のサーバーに Sensu + Graphite + Grafana を導入して Dashboard を作るまでのメモ
素のサーバーに Sensu + Graphite + Grafana を導入して Dashboard を作るまでのメモ
Webの情報を断片的に見ても一発で導入できるページがなかったのでまとめてみる。
(Debianで入れてみたらGraphite周りでどうしてもうまくいかなかった)
まずバージョンとしては
root@sensu:~# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"
root@sensu:~# dpkg -l | grep '\(sensu\|uchiwa\|graphite\|elasticsearch\)'
ii elasticsearch 1.0.3
ii graphite-carbon 0.9.12-3
ii graphite-web 0.9.12+debian-3
ii python-whisper 0.9.12-1
ii sensu 0.14.0-1
ii uchiwa 0.2.4-1
Grafanaはそれほど依存関係厳しくなさそうなので最新版(1.8.1)を利用。
インストールで参考にしたのは下記のページ。
- How To Configure Sensu Monitoring, RabbitMQ, and Redis on Ubuntu 14.04
- How To Install and Use Graphite on an Ubuntu 14.04 Server
- Installation (Grafana)
ポートは
サービス | ポート |
---|---|
SensuAPI | 4567 |
Uchiwa | 3000 |
RabbitMQ | 5672 |
Redis | 6378 |
Graphite | 8081 |
Grafana | 80 |
ElasticSearch | 9200 |
な感じでGrafanaをメインっぽくしてある。
作業の流れ的には、
- UbuntuサーバーをデスクトップもなしのMinimumな状態で作成
-
参考1に沿ってSensu, RabbitMQ, Redisをインストールして設定
- SSL付きで作成したが、ClientにWindowsマシンもあるのでSSLでの接続を無効化(一旦SSLでサーバーを作成してから必要箇所を変更した)
- SSLの設定を削除(
/etc/rabbitmq/rabbitmq.config
を適当にリネーム) - Sensuの設定ファイル
rabbitmq.json
でRabbitMQへの接続ポートを5672へ変更してsslの部分を削除
- SSLの設定を削除(
- そのままだとDataCenter名がSENSUになるので任意の文字に変更
- 具体的には
sudo rabbitmqctl add_vhost /sensu
のsensu
の部分を変更
- 具体的には
- SSL付きで作成したが、ClientにWindowsマシンもあるのでSSLでの接続を無効化(一旦SSLでサーバーを作成してから必要箇所を変更した)
-
参考2に沿って Graphiteをインストールして設定
- DatabaseはPostgreSQLではなくSQLiteを利用
- 途中のPostgreSQL関係のインストールと設定は飛ばす
- 標準のDBセッティングを使うので
/etc/graphite/local_settings.py
もDBの設定は無し
- Graphiteは8081で起動させる
-
/etc/apache2/sites-enabled/apache2-graphite.conf
のポートを8081に変更 -
/etc/apache2/ports.conf
にListen 8081
を追加
-
- DatabaseはPostgreSQLではなくSQLiteを利用
- Graphiteで左のTreeに「/Graphite/carbon」が追加されてることを確認出来たらSensuからGraphiteに送り込む設定
- SensuからGraphiteへ送信する設定のサンプルはWebにたくさんあるのでそれを参照
- ただ、環境依存なのか
mutators/graphite.rb
をそのまま使うとcarbon-cacheが受け付けてくれないので Gist: graphite.rb のように変更(一旦改行でSplitして一行単位で吐き出し) - これは他の人の環境では動いてるのかな?パッチ送ったほうがいい?
- ただ、環境依存なのか
- SensuからGraphiteへ送信する設定のサンプルはWebにたくさんあるのでそれを参照
- Sensuから送り込んだデータがGraphiteで確認出来たら参考3に沿ってダウンロードして設定
- ダウンロードしたあとはDebianっぽく
/usr/share/grafana
に配置 - 「Graphite & Elasticsearch setup example」の項目を参考に
config.js
を設定- graphiteとelasticsearcのurlはgrafanaサーバーから見たアドレスではなく、grafanaを表示しているクライアントから見たurlになる(localhostとかでは動かない)
- 「Graphite server config」の項目を参考にgraphite用のapache設定ファイルに
Header set Access-Control-Allow-*
を追記 -
/etc/apache2/sites-enabled/grafana.conf
を作成してalias /grafana /usr/share/grafana
を書き込み、Apacheを再起動
- ダウンロードしたあとはDebianっぽく
- ここまで出来て「 http://grafanaサーバー/grafana/ 」にアクセスしてグラフが表示されていれば作業完了
自作のサーバー管理用ダッシュボードを作ってたけど、それを捨てれるほど自由度が高いし綺麗でかっこいい!
あとは、Windowsクライアントでの設定TipsとかGrafanaでのグラフ作成方法とか書こっかな。
Author And Source
この問題について(素のサーバーに Sensu + Graphite + Grafana を導入して Dashboard を作るまでのメモ), 我々は、より多くの情報をここで見つけました https://qiita.com/nobuhito/items/9c6e0ed67a5fbb7d27e9著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .