Zabbixで PostgreSQL を監視! pg_monz のご紹介

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クラスタリング構成
pgpool-II
機能
•  負荷分散
•  フェイルオーバ
•  クエリキャッシュ
PostgreSQL
Streaming Replication
機能
•  同期/非同期
レプリケーション
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
8
Streaming Replication 監視機能
ü Primary-Standby状態監視
1号機に障害が発生2号機を
Primaryに昇格させた場合の
イベント
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
9
ü 同期状況監視
§  LLDでスタンバイ固有情報を自動取得
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
10
ü 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の状態
Ø ロール、負荷分散ウエイト、ステータス
pgpool-IIがPostgreSQLを
切り離したときのイベント
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
13
ü pgpool-II watchdog機能の監視
ü pgpool-IIの切り替え
ü delegate_ip(仮想IP)の監視
ü split-brain監視
仮想IP
仮想IP
watchdog
pgpool-II
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
14
その他 細かい改善
ü 不要領域の状況監視
Ø  不要領域の推測値をデータベースサイズと一緒にグラフ化
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
15
ü 取得不可
Ø 原因が分かるように
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
16
性能改善 ディスカッション
Zabbixのモジュールを作成してはどうか?
PostgreSQLのバックグランドプロセスを作成してはどうか?
簡単に使えるようにしたい
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
17
性能改善
ü 1度のクエリで、複数の監視データを取得
Ø zabbix_senderを利用
Zabbixサーバ
PostgreSQLサーバ
get命令
SQL発行
zabbix_sender
まとめて返却
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
18
表示の改善
ü アプリケーション名を監視種類ごとに整理
Ø PostgreSQLユーザが分かり易い用語で表記
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
19
pg_monz 提供テンプレート
Ÿ 
Ÿ 
Ÿ 
Ÿ 
Ÿ 
Template
Template
Template
Template
Template
App
App
App
App
App
PostgreSQL
PostgreSQL SR
PostgreSQL SR Cluster
pgpool-II
pgpool-II watchdog
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
20
使い分け
Ÿ  Template App PostgreSQL
§  Streaming Replication を使用していない
PostgreSQL向けのテンプレート
PostgreSQL 1台運用
Streaming Replicationを使用していない
PostgreSQL 複数台運用
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
21
Ÿ  Template App PostgreSQL SR
§  Streaming Replicationを利用している
PostgreSQL向けテンプレート
§  Template App PostgreSQLも自動的にリンクされる
Primaryサーバから
レプリケーションしている場合
カスケード接続
Standby
Primary
Primary
Standby
Standby
Standby
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
22
Ÿ  Template App PostgreSQL SR Cluster
§  物理サーバに当てるテンプレートではなく、論理的なクラスタを1台の
サーバをして捉えてリンクさせるテンプレート
§  Zabbixでは適当なノードを作成する(しかない)
§  同じグループにPostgreSQLサーバを配置
§  グループ内で整合性が保たれているかどうか評価
ホスト名:PostgreSQL Cluster
Standby
Primary
グループ内にPrimary
サーバが複数存在すれ
ば通知
PostgreSQL
グループ
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
Standby
23
Ÿ  Template App pgpool-II
§  全てのモード向けテンプレート
Ÿ  SR,native,コネクションプール、ロードバランス
Ÿ  モードに依存しない作りとなっている
Ÿ  オンメモリクエリキャッシュの監視はデフォルト無効
pgpool-II
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
24
Ÿ  Template App pgpool-II watchdog
§  適当なホストに当てるテンプレート
§  同じグループにpgpool-IIサーバを配置
§  グループ内で整合性を確認
ホスト名:PostgreSQL Cluster
仮想IP
pgpoolグループ
watchdog
グループ内に仮想IPが
複数存在すれば通知
COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved.
25
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