Prometheus+Grafana监控PG

这篇具有很好参考价值的文章主要介绍了Prometheus+Grafana监控PG。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Prometheus是由SoundCloud开发的开源监控报警系统和时间序列数据库(TSDB),它是一个监控采集与数据存储框架(监控服务器端),具体采集什么数据依赖于Exporter(监控客户端)

Grafana是一个高“颜值”的监控绘图程序,也是一个可视化面板(Dashboard)。Grafana的厉害之处除了高“颜值”,还支持多种数据源(支持Graphite、Zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源)和灵活丰富的Dashboard配置选项

安装环境:

Prometheus

Grafana

postgres_exporter

pgscv

node_exporter

IP:端口

10.10.237.20:9090

10.10.237.20:3000

10.10.237.20:9187

10.10.237.20:9890

10.10.237.20:9100

访问地址

http://10.10.237.20:9090

http://10.10.237.20:3000

http://10.10.237.20:9187/metrics

http://10.10.237.20:9890/metrics

http://10.10.237.20:9100/metrics

1、安装Prometheus

Prometheus下载:Download | Prometheus

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

groupadd prometheus

useradd -g prometheus prometheus

cd /usr/local

tar -xvf /soft/prometheus-2.45.0.linux-amd64.tar.gz

mv prometheus-2.45.0.linux-amd64 prometheus

chown -R prometheus.prometheus prometheus

cd prometheus/

将配置文件中的localhost:9090改为10.10.237.20:9090

vi prometheus.yml

- job_name: "prometheus"

static_configs:

- targets: ["10.10.237.20:9090"]

mkdir -p /prometheus/data

chown -R prometheus.prometheus /prometheus/data

cat /etc/systemd/system/prometheus.service

[Unit]

Description=prometheus

After=network.target

[Service]

Type=simple

User=prometheus

ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/prometheus/data

Restart=on-failure

[Install]

WantedBy=multi-user.target

systemctl enable prometheus.service

systemctl start prometheus.service

prometheus就已经安装并启动,默认会启动9090端口,通过浏览器打开该端口页面,不需用户名和密码

http://10.10.237.20:9090

2、rpm包安装Grafana

下载rpm包

Download Grafana | Grafana Labs

查看最新的版本,根据对应的平台,按照提供的地址下载rpm包

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

yum -y install urw-fonts

rpm -ivh grafana-enterprise-10.0.0-1.x86_64.rpm

rpm包安装默认创建/usr/lib/systemd/system/grafana-server.service,并将配置文件放置/usr/share/grafana

/usr/share/grafana/conf/defaults.ini,grafana默认

netstat -an|grep 3000

systemctl start grafana-server

systemctl status grafana-server

systemctl enable grafana-server

grafana安装完成,默认会启动3000端口,通过浏览器打开该端口页面,默认用户名密码admin/admin

http://10.10.237.20:3000

3、关联Prometheus和Grafana

通过在grafana中添加Data Source,把Prometheus和Grafana关联起来

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

选择【Prometheus】

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

URL设为【http://10.10.237.20:9090】

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

Import【Prometheus 2.0 Stats】

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

【Save & test】

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

打开【Prometheus 2.0 Stats】可以看到基本的监控项

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

4、Haodb主机安装postgres_exporter

postgres_exporter-0.*.*.linux-amd64.tar.gz

https://github.com/prometheus-community/postgres_exporter/releases

选择最新的版本

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

cd /soft

tar -xvf postgres_exporter-0.13.1.linux-amd64.tar.gz

cd /usr/local/

mkdir exporter

cp /soft/postgres_exporter-0.13.1.linux-amd64/postgres_exporter /usr/local/exporter

chown haodb.haodb postgres_exporter

创建postgres_exporter服务 (前提是存在haodb用户密码也是haodb,也存在haodb库,来确定DATA_SOURCE_NAME)

/usr/lib/systemd/system/postgres_exporter.service

[Unit]
Description=postgres Exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=haodb
Group=haodb
Environment=DATA_SOURCE_NAME=postgresql://haodb:haodb@10.10.237.20:5432/haodb?sslmode=disable
ExecStart=/usr/local/exporter/postgres_exporter
ExecReload=/bin/kill -HUP
KillMode=process
TimeoutStopSec=20s
Restart=always

[Install]
WantedBy=default.target

启动postgres_exporter 服务

systemctl start postgres_exporter

postgres_exporter占用9187端口

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

查看metrics

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

5、Haodb主机安装pgscv

pgscv是PostgreSQL 生态系统指标收集器,收集了很多关于PostgreSQL环境的统计信息并通过 HTTP/metrics 以 Prometheus 指标展示. 它试图超越postgres_exporter提供的功能,通过尽可能少的配置,轻松地从postgres收集“几乎所有的指标”

下载pgscv,因为V0.8.*版本还在测试阶段,可下载V0.7.*

https://github.com/lesovsky/pgscv/releases

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

tar -xvf pgscv_0.7.5_linux_amd64.tar.gz

cp pgscv /usr/local/exporter

chown haodb.haodb /usr/local/exporter/pgscv

创建pgscv服务 (前提是存在haodb用户密码也是haodb,也存在haodb库,来确定POSTGRES_DSN)

/usr/lib/systemd/system/pgscv.service

[Unit]
Description=pgscv
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=haodb
Group=haodb
Environment=POSTGRES_DSN=postgresql://haodb:haodb@10.10.237.20:5432/haodb?sslmode=disable PGSCV_LISTEN_ADDRESS=0.0.0.0:9890
ExecStart=/usr/local/exporter/pgscv
ExecReload=/bin/kill -HUP
KillMode=process
TimeoutStopSec=20s
Restart=always

[Install]
WantedBy=default.target

systemctl start pgscv

pgscv占用9890端口

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

查看metrics

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

6、Haodb主机添加node_exporter

下载node_exporter

https://github.com/prometheus/node_exporter/releases

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

tar -xvf node_exporter-1.6.0.linux-amd64.tar.gz

cd node_exporter-1.6.0.linux-amd64

cp node_exporter /usr/local/exporter/

创建node_exporter服务

/usr/lib/systemd/system/node_exporter.service

[Unit]
Description=node_exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/local/exporter/node_exporter
ExecReload=/bin/kill -HUP
KillMode=process
TimeoutStopSec=20s
Restart=always

[Install]
WantedBy=default.target

启动node_exporter

systemctl start node_exporter

node_exporter占用9100端口

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

查看metrics

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

7、在promethues配置文件中添加postgres_exporter、pgscv和node_exporter

vi /usr/local/prometheus/prometheus.yml

- job_name: "haodb"

static_configs:

- targets: ["10.10.237.20:9187"]

- targets: ['10.10.237.20:9890']

- job_name: "host"

static_configs:

- targets: ["10.10.237.20:9100"]

重启Prometheus

systemctl restart prometheus

在http://10.10.237.20:9090/targets查看新加的target

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

7、配置grafana监控

新建一个Folder-Haodb

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

(1)配置主机监控

下载主机监控dashboard json

Node Exporter Dashboard 220413 ConsulManager自动同步版 | Grafana Labs

grafana导入json

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

监控页面如图:

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

(2)配置pgscv监控

下载json dashboard模板

pgSCV: PostgreSQL | Grafana Labs

步骤同主机监控

haodb监控如图:

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

9、pgscv需要使用pg_stat_statements插件监控sql

pg_stat_statements插件配置见

登录 · 云知识空间

配置过上述插件后,监控如图:

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

10、配置自定义的监控项

如果想要监控自定义的sql,可以使用postgres_exporter的--extend.query-path选项来实现

如想要监控总连接数,可以使用以下方式:

(1)修改/usr/lib/systemd/system/postgres_exporter.service,添加PG_EXPORTER_EXTEND_QUERY_PATH

[Unit]
Description=postgres Exporter
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=haodb
Group=haodb
Environment=DATA_SOURCE_NAME=postgresql://haodb:haodb@10.10.237.20:5432/haodb?sslmode=disable PG_EXPORTER_EXTEND_QUERY_PATH=/usr/local/exporter/queries.yaml
ExecStart=/usr/local/exporter/postgres_exporter
ExecReload=/bin/kill -HUP
KillMode=process
TimeoutStopSec=20s
Restart=always

[Install]
WantedBy=default.target

(2)以如下格式创建/usr/local/exporter/queries.yaml

pg_connection:

query: "SELECT count(*) as total_connection from pg_stat_activity"

metrics:

- total_connection:

usage: "GAUGE"

description: "Total connections"

description对应下面metric中的HELP;usage对应TYPE

(3)重启postgres_exporter服务

systemctl daemon-reload

systemctl restart postgres_exporter

(4)查看postgres_exporter的metrics是否包含pg_connection

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

(5)配置grafana可视化图像

Add -> Visualization

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

Metric选择自定义的metric

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

即可得到可视化图像

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

11、配置钉钉告警

选择钉钉群中的【智能群助手】

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

【添加机器人】并设置

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

选择【自定义】

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

选择【IP地址段】并设置为grafana所在ip

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

复制自动生成的Webhook

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

选择Grafana的【Notification channels】

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

添加【New channel】

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

选择Test看是否能收到群消息

12、配置告警规则

添加告警规则(折线图可以添加告警规则)

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

定义告警规则

13、监控patroni

(1)安装patroni_exporter

下载patroni_exporter

https://github.com/Showmax/patroni-exporter

构建patroni_exporter镜像

unzip patroni-exporter-master.zip

cd /soft/patroni-exporter-master

docker build -t patroni_exporter .

docker run -d -ti patroni_exporter --port 9547 --patroni-url http://10.10.237.21:8008/patroni --timeout 5 --debug

(1)配置Prometheus

直接访问patroni节点的8008端口,即可获得Prometheus所需要的metrics

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

修改Prometheus配置文件,添加下面配置,如:

- job_name: "patroni"

static_configs:

- targets: ["10.10.237.23:8008"]

重启Prometheus服务:

systemctl restart prometheus

(2)添加patroni的grafana dashboard

下载模板并导入到grafana

PostgreSQL Patroni | Grafana Labs

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv

即可看到patroni监控:

Prometheus+Grafana监控PG,postgresql,prometheus,grafana,postgresql,pgscv文章来源地址https://www.toymoban.com/news/detail-732908.html

到了这里,关于Prometheus+Grafana监控PG的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Prometheus + Grafana 搭建监控仪表盘

    目标要求 1、需要展现的仪表盘: SpringBoot或JVM仪表盘 Centos物理机服务器(实际为物理分割的虚拟服务器)仪表盘 2、展现要求: 探索Prometheus + Grafana搭建起来的展示效果,尽可能展示能展示的部分。 监控系统核心:prometheus-2.45.0.linux-amd64.tar 下载地址:https://github.com/prometheus

    2024年04月23日
    浏览(38)
  • 性能监控平台 | Prometheus+InfluxDB + Grafana!

    在本文中,我将把几个常用的监控部分给梳理一下。前面我们提到过,在性能监控图谱中,有操作系统、应用服务器、中间件、队列、缓存、数据库、网络、前端、负载均衡、Web 服务器、存储、代码等很多需要监控的点。显然这些监控点不能在一个专栏中全部覆盖并一一细化

    2024年02月13日
    浏览(57)
  • Prometheus配置Grafana监控大屏(Docker)

    从容器拷贝配置文件至对应目录 查看内容 删除临时docker容器 相关参数说明 http://ip:3000/,注意端口开放 修改中文界面(不需要可以跳过) 点击右上角头像,选择Profile 打开菜单,在连接中选择数据源 选择Prometheus 填写服务地址 确保服务可以访问后,点击保存 最方便就是通过

    2024年01月24日
    浏览(34)
  • Prometheus+Grafana 监控平台实践-搭建&常用服务监控&告警

    Prometheus 是一个开放性的监控解决方案,通过各种 Exporter 采集当前主机/服务的数据,和 Grafana 相结合可以实现强大的监控和可视化功能 本篇将分享使用 docker compose 构建 Prometheus+Grafana,并监控之前文章所搭建的主机服务,分享日常使用的一些使用经验 文章较长,已安装可略

    2024年02月05日
    浏览(42)
  • prometheus+grafana进行服务器资源监控

    在性能测试中,服务器资源是值得关注一项内容,目前,市面上已经有很多的服务器资 源监控方法和各种不同的监控工具,方便在各个项目中使用。 但是,在性能测试中,究竟哪些指标值得被关注呢? 监控有着的分级体系,下面引用: 在以前的工作中,想要实现服务器资源

    2024年02月10日
    浏览(37)
  • prometheus + grafana进行服务器资源监控

    在性能测试中,服务器资源是值得关注一项内容,目前,市面上已经有很多的服务器资 源监控方法和各种不同的监控工具,方便在各个项目中使用。 但是,在性能测试中,究竟哪些指标值得被关注呢? 监控有着的分级体系,下面引用:   在以前的工作中,想要实现服务器资

    2024年02月11日
    浏览(31)
  • 【笔记】企业监控Prometheus和Grafana生产实战

    作者:林哥linux 来源:b 站  P1 1-1 prometheus 概述 P2 1-2 二进制安装prometheus P3 1-3 docker安装prometheus P4 1-4 prometheus相关概念 P5 2-1 什么是Exporter P6 2-2 监控linux服务器 P7 2-3 监控nginx P8 2-4 监控redis P9 2-5 监控rabbitmq P10 2-6 监控mongodb P11 27 监控docker P12 2-8 监控mysql8.0 P13 2-9 监控springboot2.

    2024年02月07日
    浏览(25)
  • Docker容器监控(Cadvisor +Prometheus+Grafana)

    环境部署,接着上一篇文章Docker容器部署(Cadvisor +InfluxDB+Grafana)开始 目录 1、先清理一下容器 2、部署Cadvisor 3、访问Cadvisor页面 4、部署Prometheus 5、准备配置 6、运行prometheus容器 7、访问prometheus页面 8、部署Grafana  9、配置Grafana  10、测试 1、先清理一下容器 2、部署Cadvisor 3、

    2024年02月14日
    浏览(30)
  • Grafana Prometheus 通过JMX监控kafka

    目前网上关于使用Prometheus 监控kafka的大部分资料都是使用一个第三方的 kafka exporter,他的原理大概就是启动一个kafka客户端,获取kafka服务器的信息,然后提供一些metric接口供Prometheus使用,随意它能展示的监控信息比较有限,只有每个主题的分区数,每秒/分钟消息数,消费组

    2024年02月13日
    浏览(30)
  • prometheus+grafana监控nginx的简单实现

    1.编译安装NGINX 加入编译安装nginx-module-vts模块,目的是为了获取更多的监控数据(虚拟主机,upstream等) nginx下载 http://nginx.org/download/nginx-1.20.2.tar.gz nginx-module-vts下载 https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2.1.tar.gz 解压缩,并将v0.2.1.tar.gz解压后的文件夹nginx-module-vts-0.2.1拷

    2024年03月21日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包