日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

prometheus监控之postgresql

發布時間:2024/1/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 prometheus监控之postgresql 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

prometheus監控之postgresql

文章目錄

    • prometheus監控之postgresql
        • 下載postgres_exporter
        • 安裝
        • 配置unit服務
        • 配置授權
          • PostgreSQL server versions >= 10(pgsql版本大于10)
          • PostgreSQL versions older than 10 (pgsql版本小于10)
        • 啟動postgres_exporter

下載postgres_exporter

項目地址:https://github.com/prometheus-community/postgres_exporter

wget https://github.com/prometheus-community/postgres_exporter/releases/download/v0.11.1/postgres_exporter-0.11.1.linux-amd64.tar.gz

安裝

tar xf postgres_exporter-0.11.1.linux-amd64.tar.gz mv postgres_exporter-0.11.1.linux-amd64/postgres_exporter /usr/bin/

配置unit服務

# cat /usr/lib/systemd/system/postgres_exporter.service [Unit] Description=postgres Exporter Wants=network-online.target After=network-online.target[Service] Type=simple User=root Group=root Environment=DATA_SOURCE_NAME=postgresql://postgres_exporter:postgres_exporter@x.x.x.x:5432/postgres?sslmode=disable ExecStart=/usr/bin/postgres_exporter ExecReload=/bin/kill -HUP KillMode=process TimeoutStopSec=20s Restart=always[Install] WantedBy=default.target

配置授權

PostgreSQL server versions >= 10(pgsql版本大于10)

創建postgres_exporter用戶和密碼(postgres_exporter)

CREATE OR REPLACE FUNCTION __tmp_create_user() returns void as $$ BEGINIF NOT EXISTS (SELECT -- SELECT list can stay empty for thisFROM pg_catalog.pg_userWHERE usename = 'postgres_exporter') THENCREATE USER postgres_exporter;END IF; END; $$ language plpgsql;SELECT __tmp_create_user(); DROP FUNCTION __tmp_create_user();ALTER USER postgres_exporter WITH PASSWORD 'password'; ALTER USER postgres_exporter SET SEARCH_PATH TO postgres_exporter,pg_catalog;-- If deploying as non-superuser (for example in AWS RDS), uncomment the GRANT -- line below and replace <MASTER_USER> with your root user. -- GRANT postgres_exporter TO <MASTER_USER>;GRANT CONNECT ON DATABASE postgres TO postgres_exporter; GRANT pg_monitor to postgres_exporter;
PostgreSQL versions older than 10 (pgsql版本小于10)
CREATE SCHEMA IF NOT EXISTS postgres_exporter; GRANT USAGE ON SCHEMA postgres_exporter TO postgres_exporter;CREATE OR REPLACE FUNCTION get_pg_stat_activity() RETURNS SETOF pg_stat_activity AS $$ SELECT * FROM pg_catalog.pg_stat_activity; $$ LANGUAGE sql VOLATILE SECURITY DEFINER;CREATE OR REPLACE VIEW postgres_exporter.pg_stat_activity ASSELECT * from get_pg_stat_activity();GRANT SELECT ON postgres_exporter.pg_stat_activity TO postgres_exporter;CREATE OR REPLACE FUNCTION get_pg_stat_replication() RETURNS SETOF pg_stat_replication AS $$ SELECT * FROM pg_catalog.pg_stat_replication; $$ LANGUAGE sql VOLATILE SECURITY DEFINER;CREATE OR REPLACE VIEW postgres_exporter.pg_stat_replication ASSELECT * FROM get_pg_stat_replication();GRANT SELECT ON postgres_exporter.pg_stat_replication TO postgres_exporter;CREATE EXTENSION IF NOT EXISTS pg_stat_statements; CREATE OR REPLACE FUNCTION get_pg_stat_statements() RETURNS SETOF pg_stat_statements AS $$ SELECT * FROM public.pg_stat_statements; $$ LANGUAGE sql VOLATILE SECURITY DEFINER;CREATE OR REPLACE VIEW postgres_exporter.pg_stat_statements ASSELECT * FROM get_pg_stat_statements();GRANT SELECT ON postgres_exporter.pg_stat_statements TO postgres_exporter;

啟動postgres_exporter

systemctl daemon-reload systemctl restart postgres_exporter.service systemctl enable postgres_exporter.service curl -s x.x.x.x:9187/metrics|grep pg_up # HELP pg_up Whether the last scrape of metrics from PostgreSQL was able to connect to the server (1 for yes, 0 for no). # TYPE pg_up gauge pg_up 1

pg_up 1 說明啟動成功

總結

以上是生活随笔為你收集整理的prometheus监控之postgresql的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。