1 # Copyright (C) The Arvados Authors. All rights reserved.
3 # SPDX-License-Identifier: Apache-2.0
5 {%- set prometheus_pg_exporter = pillar.get('prometheus_pg_exporter', {'enabled': False}) %}
7 {%- if prometheus_pg_exporter.enabled %}
9 monitoring_required_pkgs:
14 prometheus_pg_exporter_etc_default:
16 - name: /etc/default/prometheus-postgres-exporter
18 ### This file managed by Salt, do not edit by hand!!
20 # For details, check /usr/share/doc/prometheus-postgres-exporter/README.Debian
21 DATA_SOURCE_NAME='user=prometheus host=/run/postgresql dbname=postgres'
23 - pkg: prometheus-package-install-postgres_exporter-installed
25 mtail_postgresql_conf:
27 - name: /etc/mtail/postgresql.mtail
29 ########################################################################
30 # File managed by Salt.
31 # Your changes will be overwritten.
32 ########################################################################
34 # Parser for postgresql's log statement duration
36 gauge postgresql_statement_duration_seconds by statement
39 /(?P<timestamp>\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} (\w+)) / + # 2019-01-16 16:53:45 GMT
41 /(?P<duration>[0-9\.]+) ms/ + # 153.967 ms
42 /(.*?): (?P<statement>.+)/ + # statement: SELECT COUNT(*) FROM (SELECT rolname FROM pg_roles WHERE rolname='arvados') count
44 strptime($timestamp, "2006-01-02 15:04:05 MST") # for tests
46 postgresql_statement_duration_seconds[$statement] = $duration / 1000
49 - pkg: monitoring_required_pkgs
53 - name: /etc/default/mtail
55 ### This file managed by Salt, do not edit by hand!!
58 # List of files to monitor (mandatory).
59 LOGS=/var/log/postgresql/postgresql*log
61 - pkg: monitoring_required_pkgs
64 prometheus_pg_exporter_service:
66 - name: prometheus-postgres-exporter
69 - pkg: prometheus-package-install-postgres_exporter-installed
71 - file: /etc/default/prometheus-postgres-exporter
78 - pkg: monitoring_required_pkgs
80 - file: mtail_postgresql_conf
81 - file: mtail_etc_default