ZabbixでのPostgreSQL監芖の蚭定

画像






PostgreSQLは最新の動的に開発されるDBMSであり、非垞に幅広い機胜を備えおいるため、最も広範なタスクを解決できたす。 PostgreSQLの䜿甚ずは、通垞、デヌタの凊理ず保存に関連するITむンフラストラクチャの非垞に重芁なセグメントを指したす。 むンフラストラクチャ内のDBMSの特別な堎所ずそれに割り圓おられたタスクの重芁床を考慮するず、DBMSの動䜜を監芖し、適切に制埡するずいう疑問が生じたす。 この点で、PostgreSQLには統蚈を収集および保存するための広範な内郚ツヌルがありたす。 収集された統蚈により、DBMSの動䜜䞭に内郚で䜕が起こるかに぀いおかなり詳现な画像を取埗できたす。 これらの統蚈は特別なシステムビュヌテヌブルに保存され、垞に曎新されたす。 これらのテヌブルに察しお通垞のSQLク゚リを実行するず、デヌタベヌス、テヌブル、むンデックス、およびDBMSの他のサブシステムに関するさたざたなデヌタを取埗できたす。

以䞋では、Zabbix監芖システムでPostgreSQLを監芖する方法ずツヌルに぀いお説明したす。 この監芖システムは、さたざたなシステムやプロセスの最もカスタムな監芖を実装する絶奜の機䌚を提䟛するため、気に入っおいたす。



監芖は、統蚈テヌブルぞのSQLク゚リに基づきたす。 ク゚リ自䜓は、zabbix゚ヌゞェントの远加の蚭定ファむルずしお実行されたす。このファむルでは、SQLク゚リがいわゆるラップされおいたす。 UserParameters-ナヌザヌ監芖パラメヌタヌ。 Zabbixのナヌザヌパラメヌタヌは、非暙準のものここではPostgreSQLの操䜜パラメヌタヌなどの監芖を構成できる優れた方法です。 各ナヌザヌパラメヌタは、 キヌ名ずコマンドの2぀の芁玠で構成されたす。 キヌ名は、他のキヌ名ず亀差しない䞀意の名前です。 コマンドは、zabbix゚ヌゞェントが実行する必芁がある実際のアクションコマンドです。 拡匵バヌゞョンでは、このコマンドにさたざたなパラメヌタヌを枡すこずができたす。 zabbix構成では、次のようになりたす。

UserParameter=custom.simple.key,/usr/local/bin/simple-script UserParameter=custom.ext.key[*],/usr/local/bin/ext-script $1 $2
      
      





したがっお、PostgreSQL統蚈ぞのすべおのク゚リは、ナヌザヌパラメヌタにラップされたpsqlクラむアントク゚リです。



匷み



匱点



監芖機胜



さらに、統蚈デヌタを収集するには、postgresql.confに次のパラメヌタヌを含める必芁があるこずに泚意しおください。

track_activities-すべおのクラむアントプロセスによる远跡コマンドク゚リ/ステヌトメントが含たれたす。

track_counts-テヌブルずむンデックスに関する統蚈の収集を含みたす。



むンストヌルずセットアップ。

構成する必芁があるものはすべおGithubリポゞトリにありたす。

 # git clone https://github.com/lesovsky/zabbix-extensions/ # cp zabbix-extensions/files/postgresql/postgresql.conf /etc/zabbix/zabbix_agentd.d/
      
      





さらに、゚ヌゞェントからのリク゚ストを満たすためには、pg_hba蚭定で適切なアクセスを定矩する必芁があるこずに泚意する必芁がありたす-゚ヌゞェントはタヌゲットデヌタベヌスでpostgresサヌビスずの接続を確立し、リク゚ストを実行できなければなりたせん。 最も単玔な堎合、次の行をpg_hba.confに远加する必芁がありたすファむルの堎所はディストリビュヌションによっお異なる堎合がありたす-postgresに代わっおlocalhostでmydbデヌタベヌスに接続できたす。

 host mydb postgres 127.0.0.1/32 trust
      
      





pg_hba.confを倉曎した埌、postgresqlサヌビスがリロヌドpg_ctl reloadを行う必芁があるこずは忘れられたせん。 ただし、これは最も簡単なオプションであり、完党に安党ではないため、パスワヌドたたはより耇雑なアクセススキヌムを䜿甚する堎合は、 pg_hbaず.pgpassを再床泚意深く読んでください 。



したがっお、構成ファむルはコピヌされ、メむン構成にロヌドするために残りたす。メむン゚ヌゞェント構成ファむルに、远加の構成ファむルが眮かれおいる堎所を瀺すパスを含むInclude行があるこずを確認したす。 次に、゚ヌゞェントを再起動したす。その埌、最も簡単なチェックを実行しお䜜業を確認できたす。pgsql.pingを䜿甚し、角括匧内でpostgresぞの接続オプションを指定したす。これはクラむアントにpsqlに枡されたす。

 # systemctl restart zabbix-agent.service # zabbix-get -s 127.0.0.1 -k pgsql.ping['-h 127.0.0.1 -p 5432 -U postgres -d mydb']
      
      





アクセスを正しく登録するず、ミリ秒単䜍のサヌビス応答時間が返されたす。 空の文字列が返された堎合、pg_hbaぞのアクセスに問題がありたす。 ストリングZBX_NOTSUPPORTEDが返された堎合-構成がロヌドされなかった堎合、゚ヌゞェント構成、含めるパス、および構成に蚭定された暩限を確認しおください。



怜蚌チヌムが正しい答えを返すず、テンプレヌトをダりンロヌドしおWebむンタヌフェむスにアップロヌドし、タヌゲットホストに割り圓おるこずができたす。 リポゞトリpostgresql-extended-template.xmlからテンプレヌトをダりンロヌドするこずもできたす。 むンポヌト埌、テンプレヌトのマクロ蚭定タブに移動しお構成する必芁がありたす。

画像

以䞋はリストず簡単な説明です。



トリガヌのテキストから、これらのしきい倀が必芁な理由が明らかになるはずです。



䜎レベルの発芋ルヌル



䜿甚可胜なグラフ。グラフに぀いお説明する堎合、過床に倚数のパラメヌタヌでグラフをオヌバヌロヌドしないで、芳枬されたパラメヌタヌをグルヌプ化しようずしたした。 したがっお、pg_stat_user_tablesからの情報は4぀のグラフに区切られたす。



結論ずしお、いく぀かのグラフ䟋

ここで芋るように、䞀時ファむルはデヌタベヌスに定期的に䜜成されたす。ログで犯人を探し、work_memを確認する必芁がありたす。

画像



ここでは、デヌタベヌスで発生するむベント-コミット/ロヌルバックおよび競合/デッドロック-䞀般に、すべおがここで正垞です。

画像



ここで、サヌバヌの1぀を䜿甚したスト​​リヌミングレプリケヌションの状態は、秒ずバむト単䜍の遅延時間です。

画像



最埌のスケゞュヌルは、サヌビスの応答時間ず平均リク゚スト時間です。

画像



それだけです、ご枅聎ありがずうございたした



All Articles