zabbixで postgresql を監視!...streaming replicationを使用していない postgresql...
TRANSCRIPT
Zabbixで PostgreSQL を監視!
pg_monz のご紹介 Zabbix Conference Japan 2015
2015年11月20日
SRA OSS, Inc. 日本支社 マーケティング部
http://www.sraoss.co.jp/
会社概要 � 社名: SRA OSS, Inc. 日本支社 � 設立: 2005年7月 � 支社長: 石井 達夫 � 資本金:100万米国ドル � 事業内容
§ Linux, PostgreSQLを中心としたオープンソースソフトウェアのサポート § オープンソースソフトウェアを用いたシステム開発のコンサルティング § PowerGres の開発・販売 § その他オープンソースソフトウェア関連プロダクト販売
� 加盟団体 § オープンソースビジネス推進協議会 § 日本データベース学会 § 日本PostgreSQLユーザ会 § PostgreSQL エンタープライズコンソーシアム § OpenAM コンソーシアム
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 2
SRA OSSのOSS関連サポートサービス
� PostgreSQL/PowerGres サポート&保守サービス § ヘルプデスク、障害対応
� OSSプロフェッショナルサポートサービス § 33種類以上の幅広いOSSをまとめてワンストップでサポート § インシデント制
� Zabbix関連サービス
§ Zabbixサポートサービス (ヘルプデスク、障害対応) § 導入支援コンサルティング / 構築支援サポート
� Hinemos関連サービス § Hinemosサポートサービス (ヘルプデスク、障害対応) § 導入支援コンサルティング / 構築支援サポート
� Fluentd エンタープライズサポートサービス (2015/10/14~) § TRESURE DATA社様との協業
� OSSサポートサービス § サーバ、ソフトウェア単位の個別サポート
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 3
� pg_monz(ぴーじもんず) PostgreSQL monitoring template for Zabbix ZabbixでPostgreSQL の監視を行うためのテンプレート http://pg-monz.github.io/pg_monz/ � 2013/11/05 バージョン 1.0リリース � 2015/03/31 バージョン 2.0リリース � 開発 TIS株式会社様 SRA OSS,Inc.日本支社 共同 � ライセンス Apache License Version 2.0
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 4
pg_monz v1.0 機能
� 監視機能 § PostgreSQLサーバーの死活監視
§ PostgreSQLのログ監視
§ データベースサイズの監視
§ トランザクション処理状況の監視
§ 滞留クエリ処理の監視 など
� Zabbix のディスカバリ機能を利用し、データベースやテーブルを自動検出し、自動で監視を開始する
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 5
pg_monz v1.0 反省点
� PostgreSQL単体の監視 § クラスタリング構成に未対応だった
� 監視項目1個に対して1個のクエリ発行 § PostgreSQLサーバでSQL発行が多発してしまった § 同時刻の関連がある値が見れなかった
� 取得した値を列挙しただけ § 関連があるデータをグルーピングして表示していなかった
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 6
pg_monz v 2.0では
� PostgreSQLクラスタリング構成対応
� 1回のクエリで複数個の監視データを取得
� 表示の改善
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 7
PostgreSQLクラスタリング構成
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 8
pgpool-II
PostgreSQL Streaming Replication
機能 • 負荷分散 • フェイルオーバ • クエリキャッシュ
機能 • 同期/非同期 レプリケーション
Streaming Replication 監視機能
ü Primary-Standby状態監視
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 9
1号機に障害が発生2号機をPrimaryに昇格させた場合のイベント
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 10
ü 同期状況監視 § LLDでスタンバイ固有情報を自動取得
ü Write query block監視 Ø 同期レプリケーションでStandbyが1台もいない場合に、
Primaryサーバで書き込みクエリが止まってしまう Ø 書き込みクエリではなく参照クエリで監視
ü split-brain監視 Ø Primaryサーバが複数立ち上がっていないことを監視
ü コンフリクト監視 ü Streaming Replication固有のプロセス監視
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 11
pgpool-II 監視機能
ü pgpool-II 死活監視 ü クライアント利用状況
Ø 利用可能接続数、使用中接続数
ü コネクションプール利用状況
ü クエリキャッシュ状況監視
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 12
ü バックエンド監視 Ø pgpool-IIが接続しているPostgreSQLの状態
Ø ロール、負荷分散ウエイト、ステータス
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 13
pgpool-IIがPostgreSQLを 切り離したときのイベント
ü pgpool-II watchdog機能の監視
ü pgpool-IIの切り替え ü delegate_ip(仮想IP)の監視 ü split-brain監視
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 14
pgpool-II watchdog
仮想IP 仮想IP
その他 細かい改善
ü 不要領域の状況監視 Ø 不要領域の推測値をデータベースサイズと一緒にグラフ化
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 15
ü 取得不可 Ø 原因が分かるように
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 16
性能改善 ディスカッション
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 17
Zabbixのモジュールを作成してはどうか?
PostgreSQLのバックグランドプロセスを作成してはどうか?
簡単に使えるようにしたい
性能改善
ü 1度のクエリで、複数の監視データを取得 Ø zabbix_senderを利用
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 18
Zabbixサーバ PostgreSQLサーバ
get命令 SQL発行
zabbix_sender
まとめて返却
表示の改善
ü アプリケーション名を監視種類ごとに整理 Ø PostgreSQLユーザが分かり易い用語で表記
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 19
pg_monz 提供テンプレート
� Template App PostgreSQL � Template App PostgreSQL SR � Template App PostgreSQL SR Cluster � Template App pgpool-II � Template App pgpool-II watchdog
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 20
使い分け
� Template App PostgreSQL § Streaming Replication を使用していない PostgreSQL向けのテンプレート
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 21
PostgreSQL 1台運用 Streaming Replicationを使用していない PostgreSQL 複数台運用
� Template App PostgreSQL SR § Streaming Replicationを利用している PostgreSQL向けテンプレート § Template App PostgreSQLも自動的にリンクされる
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 22
Primary
Standby
Standby
Primaryサーバから レプリケーションしている場合
カスケード接続
Primary Standby Standby
� Template App PostgreSQL SR Cluster § 物理サーバに当てるテンプレートではなく、論理的なクラスタを1台の
サーバをして捉えてリンクさせるテンプレート § Zabbixでは適当なノードを作成する(しかない) § 同じグループにPostgreSQLサーバを配置 § グループ内で整合性が保たれているかどうか評価
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 23
Primary
Standby
Standby
ホスト名:PostgreSQL Cluster
PostgreSQL グループ
グループ内にPrimaryサーバが複数存在すれば通知
� Template App pgpool-II § 全てのモード向けテンプレート
� SR,native,コネクションプール、ロードバランス � モードに依存しない作りとなっている � オンメモリクエリキャッシュの監視はデフォルト無効
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 24
pgpool-II
� Template App pgpool-II watchdog § 適当なホストに当てるテンプレート § 同じグループにpgpool-IIサーバを配置 § グループ内で整合性を確認
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 25
pgpoolグループ
watchdog
仮想IP
ホスト名:PostgreSQL Cluster
グループ内に仮想IPが複数存在すれば通知
pg_monzの想定環境
� 対象バージョン § Zabbix 2.0以降 § PostgreSQL 9.2以降 § pgpool-II 3.4以降
� URL § https://github.com/pg-monz/pg_monz
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 26
ご清聴ありがとうございました
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 27