zabbixで postgresql を監視!...streaming replicationを使用していない postgresql...

27
ZabbixPostgreSQL を監視! pg_monz のご紹介 Zabbix Conference Japan 2015 20151120SRA OSS, Inc. 日本支社 マーケティング部 http://www.sraoss.co.jp/

Upload: others

Post on 05-Aug-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

Zabbixで PostgreSQL を監視! 

pg_monz のご紹介 Zabbix Conference Japan 2015

2015年11月20日

SRA OSS, Inc. 日本支社 マーケティング部

http://www.sraoss.co.jp/

Page 2: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

会社概要 �  社名: SRA OSS, Inc. 日本支社 �  設立: 2005年7月 �  支社長: 石井 達夫 �  資本金:100万米国ドル �  事業内容

§  Linux, PostgreSQLを中心としたオープンソースソフトウェアのサポート §  オープンソースソフトウェアを用いたシステム開発のコンサルティング §  PowerGres の開発・販売 §  その他オープンソースソフトウェア関連プロダクト販売

�  加盟団体 §  オープンソースビジネス推進協議会 §  日本データベース学会 §  日本PostgreSQLユーザ会 §  PostgreSQL エンタープライズコンソーシアム §  OpenAM コンソーシアム

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 2

Page 3: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

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

Page 4: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

�  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

Page 5: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

pg_monz v1.0 機能

�  監視機能 §  PostgreSQLサーバーの死活監視

§  PostgreSQLのログ監視

§  データベースサイズの監視

§  トランザクション処理状況の監視

§  滞留クエリ処理の監視   など

�  Zabbix のディスカバリ機能を利用し、データベースやテーブルを自動検出し、自動で監視を開始する

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 5

Page 6: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

pg_monz v1.0 反省点

�  PostgreSQL単体の監視 §  クラスタリング構成に未対応だった

�  監視項目1個に対して1個のクエリ発行 §  PostgreSQLサーバでSQL発行が多発してしまった §  同時刻の関連がある値が見れなかった

�  取得した値を列挙しただけ §  関連があるデータをグルーピングして表示していなかった

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 6

Page 7: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

pg_monz v 2.0では

�  PostgreSQLクラスタリング構成対応

�  1回のクエリで複数個の監視データを取得

�  表示の改善

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 7

Page 8: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

PostgreSQLクラスタリング構成

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 8

pgpool-II

PostgreSQL Streaming Replication

機能 •  負荷分散 •  フェイルオーバ •  クエリキャッシュ

機能 •  同期/非同期   レプリケーション

Page 9: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

Streaming Replication 監視機能

ü Primary-Standby状態監視

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 9

1号機に障害が発生2号機をPrimaryに昇格させた場合のイベント

Page 10: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 10

ü 同期状況監視 §  LLDでスタンバイ固有情報を自動取得

Page 11: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

ü Write query block監視 Ø 同期レプリケーションでStandbyが1台もいない場合に、

Primaryサーバで書き込みクエリが止まってしまう Ø 書き込みクエリではなく参照クエリで監視

ü split-brain監視 Ø Primaryサーバが複数立ち上がっていないことを監視

ü コンフリクト監視 ü Streaming Replication固有のプロセス監視

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 11

Page 12: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

pgpool-II 監視機能

ü pgpool-II 死活監視 ü クライアント利用状況

Ø 利用可能接続数、使用中接続数

ü コネクションプール利用状況

ü クエリキャッシュ状況監視

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 12

Page 13: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

ü バックエンド監視 Ø pgpool-IIが接続しているPostgreSQLの状態

Ø ロール、負荷分散ウエイト、ステータス

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 13

pgpool-IIがPostgreSQLを 切り離したときのイベント

Page 14: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

ü 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

Page 15: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

その他 細かい改善

ü 不要領域の状況監視 Ø 不要領域の推測値をデータベースサイズと一緒にグラフ化

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 15

Page 16: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

ü 取得不可 Ø 原因が分かるように

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 16

Page 17: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

性能改善 ディスカッション

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 17

Zabbixのモジュールを作成してはどうか?

PostgreSQLのバックグランドプロセスを作成してはどうか?

簡単に使えるようにしたい

Page 18: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

性能改善

ü 1度のクエリで、複数の監視データを取得 Ø zabbix_senderを利用

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 18

Zabbixサーバ PostgreSQLサーバ

get命令 SQL発行

zabbix_sender

まとめて返却

Page 19: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

表示の改善

ü アプリケーション名を監視種類ごとに整理 Ø PostgreSQLユーザが分かり易い用語で表記

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 19

Page 20: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

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

Page 21: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

使い分け

�  Template App PostgreSQL §  Streaming Replication を使用していない   PostgreSQL向けのテンプレート

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 21

PostgreSQL 1台運用 Streaming Replicationを使用していない PostgreSQL 複数台運用

Page 22: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

�  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

Page 23: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

�  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サーバが複数存在すれば通知

Page 24: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

�  Template App pgpool-II §  全てのモード向けテンプレート

�  SR,native,コネクションプール、ロードバランス �  モードに依存しない作りとなっている �  オンメモリクエリキャッシュの監視はデフォルト無効

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 24

pgpool-II

Page 25: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

�  Template App pgpool-II watchdog §  適当なホストに当てるテンプレート §  同じグループにpgpool-IIサーバを配置 §  グループ内で整合性を確認

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 25

pgpoolグループ

watchdog

仮想IP

ホスト名:PostgreSQL Cluster

グループ内に仮想IPが複数存在すれば通知

Page 26: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

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

Page 27: Zabbixで PostgreSQL を監視!...Streaming Replicationを使用していない PostgreSQL 複数台運用 ! Template App PostgreSQL SR " Streaming Replicationを利用している

ご清聴ありがとうございました

COPYRIGHT(c) SRA OSS, Inc. Japan All Rights Reserved. 27