Rabbit Slide Show

Hatoholのログ監視機能 2014/10版

2014-10-07

Description

2014年10月時点でのHatoholのログ監視機能について説明します。

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

Other slides

Mroonga!
2015-10-30