Text
Page: 1
Hatoholのログ監視機能
2014/10版
須藤功平
株式会社クリアコード
2014/10/07
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 2
内容
✓ Hatoholのログ監視機能の概要
✓ ただし2014年10月時点での情報
✓ 詳細はWikiを参照
✓ https://github.com/project-hatohol/hatohol/wiki/
Log-monitoring
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 3
目的
✓ 現状を共有すること
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 4
解決したい問題
Zabbixのログ監視機能の問題点
✓ サーバーのCPU使用率が高い
✓ 大量のログだとDBの負荷が高い
✓ エージェント・サーバー間の
通信が安全ではない
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 5
Zabbix:高CPU使用率
監視対象
Zabbix
サーバー
内容チェック
転送のみ
Hatoholのログ監視機能 2014/10版
全監視対象の
ログをチェック
Zabbix
エージェント
ログ
高CPU使用率
Powered by Rabbit 2.1.3
Page: 6
Zabbix:高DB負荷
監視対象
Zabbix
サーバー
Zabbix
エージェント
ログ
全監視対象の
転送のみ ログを保存
Hatoholのログ監視機能 2014/10版
DB
サーバー
高DB負荷
Powered by Rabbit 2.1.3
Page: 7
Zabbix:安全でない通信
Zabbix
サーバー
監視対象
Zabbix
エージェント
ログ
平文で転送
Hatoholのログ監視機能 2014/10版
安全でない通信
Powered by Rabbit 2.1.3
Page: 8
解決方針
✓ Fluentdと連携
✓ Fluentd:データ配送システム
✓ ログ収集
✓ フィルター・転送
✓ 出力
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 9
解決方法:高CPU使用率
✓ サーバーのCPU使用率が高い
✓ 処理を複数ノードで分散
✓ 大量のログだとDBの負荷が高い
✓ エージェント・サーバー間の通信が安全ではない
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 10
処理を分散
監視対象
内容チェック
ノード
Hatohol
ログ
(省略)
収集・転送
Hatoholのログ監視機能 2014/10版
選択
複数ノードで
内容チェック
Powered by Rabbit 2.1.3
Page: 11
解決方法:高DB負荷
✓ サーバーのCPU使用率が高い
✓ 大量のログだとDBの負荷が高い
✓ 対象ログのみ保存
✓ エージェント・サーバー間の通信が安全ではない
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 12
対象ログのみ保存
監視対象
内容チェック
ノード
Hatohol
ログ
(省略)
収集・転送
Hatoholのログ監視機能 2014/10版
選択
DB
サーバー
対象ログだけ
保存
Powered by Rabbit 2.1.3
Page: 13
解決方法:安全でない通信
✓ サーバーのCPU使用率が高い
✓ 大量のログだとDBの負荷が高い
✓ エージェント・サーバー間の
通信が安全ではない
✓ 通信路を暗号化
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 14
通信路を暗号化
監視対象
内容チェック
ノード
Hatohol
ログ
(省略)
平文
DB
サーバー
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 15
通信路を暗号化(AMQP)
内容チェック
ノード AMQPプロデューサー
RabbitMQ
AMQPS
Hatoholのログ監視機能 2014/10版
Hatohol
ログ
AMQPS
Powered by Rabbit 2.1.3
Page: 16
解決
✓ サーバーのCPU使用率が高い
✓ 処理を複数ノードで分散
✓ 大量のログだとDBの負荷が高い
✓ 対象ログのみ保存
✓ エージェント・サーバー間の通信が安全ではない
✓ 通信路を暗号化
(Hatohol・DB間は安全ではない)
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 17
課題
✓ 導入が面倒
✓ 導入後の設定が面倒
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 18
課題:導入が面倒
✓ ノード数が増える
✓ TLSの設定が増える
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 19
ノード数:Zabbix
✓ サーバー:数台
✓ エージェント:ホスト数
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 20
ノード数:Hatohol
✓ 同じ
✓ サーバー:1台
✓ 収集用Fluentd:ホスト数
✓ 増加
✓ RabbitMQ:1台
✓ 監視用Fluentd:数台
✓ AMQPコンシューマーFluentd:数台
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 21
TLSの設定
✓ 認証局を作成
✓ 各ノード用の鍵を作成
✓ 認証局で公開鍵証明書を発行
✓ ↑を使う設定を追加
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 22
認証局を作成
[ca]# hatohol-ca-initialize
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 23
ノード用の鍵を作成
# クライアント用
[client1]% hatohol-client-certificate-create \
--host-name client1.example.com
# サーバー用
[server1]% hatohol-server-certificate-create \
--host-name server1.example.com
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 24
証明書を発行
# クライアント用
[client1]% scp req.pem ca:
[ca]# hatohol-ca-sign-client-certificate \
/../req.pem
# サーバー用
[server1]% scp req.pem ca:
[ca]# hatohol-ca-sign-server-certificate \
/../req.pem
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 25
設定:RabbitMQ
[
{rabbit, [
{ssl_listeners, [5671]},
{ssl_options, [
{cacertfile, "/etc/rabbitmq/ca-cert.pem"},
{certfile, "/etc/rabbitmq/server-cert.pem"},
{keyfile, "/etc/rabbitmq/key.pem"},
{verify, verify_peer},
{fail_if_no_peer_cert, false}
]}
]}
].
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 26
設定:Fluentd
<match hatohol.**>
type hatohol
url "amqps://user:password@rabbitmq.example.com/hatohol"
tls_cert "/../client-cert.pem"
tls_key "/../key.pem"
tls_ca_certificates ["/../ca-cert.pem"]
</match>
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 27
設定:Hatohol
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 28
課題:導入後の設定が面倒
✓ 設定は各ノードで行う
✓ Zabbixはサーバーで一括管理
✓ fluentd-server:設定を配布
✓ Fluentdの設定GUIがない
✓ fluentd-ui:いくつか設定可能
✓ ↑ローカルのFluentdを設定
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 29
設定はどこから実施する?
✓ 前提
✓ Hatohol利用者はZabbixに
直接アクセスできないかもしれない
✓ 監視環境内のノードにアクセス不可
✓ 全部Hatohol経由で設定?
✓ Zabbixも?Fluentdも?Redmineも?
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 30
今後の方向
✓ 課題
✓ ホスト管理機能と連携することで
解決可能?
✓ 改善
✓ 実際に使ってフィードバック
✓ 使ってもらってフィードバック
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3
Page: 31
フィードバック対応案
✓ 移行方法集の作成?
✓ Zabbixでのログ監視設定と
Hatohol(Fluentd)での設定の対応
✓ ワークフローの提案?
✓ ZabbixとHatoholで
監視システム管理のワークフローは
同じでいいの?もっと改善できる?
Hatoholのログ監視機能 2014/10版
Powered by Rabbit 2.1.3