Visão geral do Postgresql do painel para postgres_exporter (Prometheus)

Criou um painel de visão geral do Postgresql para o postgres_exporter .


Qual é a diferença de outros painéis do postgres_exporter?


Combinei todos os outros painéis do postgres_exporter em um.


Este painel mostra informações gerais sobre o cluster.


Capturas de tela e instruções de instalação breves: postgresql, postgres_exporter, prometheus, grafana sob o gato.


Por que não usar o pgwatch2 com o influxdb ?


Sobre o InfluxDB

1.7 ( , CORE team ):


  • . . , . DB , .
  • . , .
  • SHOW TAG KEYS FROM ALL SHOW EXACT SERIES CARDINALITY .
  • . 256 RAM, 320GB OOM — ( 6- , , (InMem)).
  • ( OSS 0.9 (December 8, 2014) 1.0 (September 26, 2014), Enterprise ).
  • breaking changes. 3 5+ ( 0.9 (December 8, 2014)). Breaking Changes — Influx 2.0, \ Buckets, Flux.
  • , ifql (Flux) Continuous Queries ( task, Flux-) Chronograf( C TICK), .
  • .
  • — - cli, . restore backup . merge .
  • TICK( T), , 1.3.2 ( [a-z]). , , Retention Policy (input,output).kafka, .. metrics -> telegraf -> kafka -> telegraf -> influx .
  • ( K TICK), , InfluxDB. RAM , , "", . .

PostgreSQL


yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
yum install -y postgresql96 postgresql96-server postgresql96-contrib

Inicialize o PostgreSQL.


/usr/pgsql-9.6/bin/postgresql96-setup initdb

No PostgreSQL, adicione a extensão pg_stat_statements ao postgresql.conf


shared_preload_libraries = 'pg_stat_statements'

Iniciando o PostgreSQL


systemctl start postgresql-9.6

Depois disso, no banco de dados, execute o seguinte comando:


CREATE EXTENSION pg_stat_statements

Postgres_exporter e Prometheus


Esclarecimento. Quem instalará o postgres_exporter a partir dos binários

Instalamos os sistemas Postgres_exporter e Prometheus for Redhat a partir deste repositório: https://github.com/lest/prometheus-rpm


Crie um arquivo /etc/yum.repos.d/prometheus.repocom o seguinte conteúdo:


[prometheus]
name=prometheus
baseurl=https://packagecloud.io/prometheus-rpm/release/el/$releasever/$basearch
repo_gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/prometheus-rpm/release/gpgkey
       https://raw.githubusercontent.com/lest/prometheus-rpm/master/RPM-GPG-KEY-prometheus-rpm
gpgcheck=1
metadata_expire=300

Instale o prometheus2 e o postgres_exporter


yum install -y prometheus2 postgres_exporter

No arquivo prometheus.yml para trabalhar com postgres_exporter em scrape_configs, adicione a seguinte seção:


scrape_configs:
  - job_name: postgresql
    static_configs:
      - targets: ['ip--prometheus:9187']
        labels:
          alias: postgres

Execute prometheus2 e postgres_exporter


systemctl start prometheus
systemctl start postgres_exporter

Grafana


Crie um arquivo /etc/yum.repos.d/grafana.repocom o seguinte conteúdo:


[grafana]
name=grafana
baseurl=https://packages.grafana.com/oss/rpm
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packages.grafana.com/gpg.key
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Instalar grafana


yum -y install grafana initscripts urw-fonts wget

Launch grafana


systemctl start grafana-server

Pegue o painel aqui


https://grafana.com/grafana/dashboards/12273


Código fonte aqui:


https://github.com/patsevanton/postgresql_overview_postgres_exporter












PS Neste painel, eu não tenho conhecimento em promql e postgresql. Portanto, espero que você me ajude com conselhos sobre como melhorar o painel ou fazer uma solicitação de recebimento.


PS: Quando as mãos chegarem, planejo fazer um painel para obter informações sobre um banco de dados específico dentro do PostgreSQL.


All Articles