07dbfc8d63
* Semi-automated using `ssf-formula` (v0.5.0) * Fix errors shown below: ```bash prometheus-formula$ $(grep "\- yamllint" .travis.yml | sed -e "s:^\s\+-\s\(.*\):\1:") ./prometheus/osfamilymap.yaml 1:89 error line too long (116 > 88 characters) (line-length) 1:24 error trailing spaces (trailing-spaces) 13:2 error syntax error: found character '%' that cannot start any token 24:89 error line too long (90 > 88 characters) (line-length) 25:89 error line too long (167 > 88 characters) (line-length) ./prometheus/defaults.yaml 6:13 error too many spaces inside braces (braces) 6:35 error too many spaces inside braces (braces) 7:11 error too many spaces inside braces (braces) 7:25 error too many spaces inside braces (braces) 8:22 warning truthy value should be one of [false, true] (truthy) 9:25 warning truthy value should be one of [false, true] (truthy) 49:85 error trailing spaces (trailing-spaces) 103:20 warning truthy value should be one of [false, true] (truthy) 104:25 warning truthy value should be one of [false, true] (truthy) 108:16 warning truthy value should be one of [false, true] (truthy) 113:24 warning missing starting space in comment (comments) pillar.example 31:6 warning missing starting space in comment (comments) 32:8 warning missing starting space in comment (comments) 32:7 warning comment not indented like content (comments-indentation) 51:5 warning comment not indented like content (comments-indentation) 65:89 error line too long (110 > 88 characters) (line-length) 68:29 error too many spaces after colon (colons) 68:34 warning too few spaces before comment (comments) 68:89 error line too long (106 > 88 characters) (line-length) 69:34 warning too few spaces before comment (comments) 69:89 error line too long (98 > 88 characters) (line-length) 75:9 error wrong indentation: expected 10 but found 8 (indentation) 76:11 error wrong indentation: expected 12 but found 10 (indentation) 77:13 warning comment not indented like content (comments-indentation) 79:89 error line too long (101 > 88 characters) (line-length) 81:9 warning comment not indented like content (comments-indentation) 86:89 error line too long (103 > 88 characters) (line-length) 91:11 error wrong indentation: expected 12 but found 10 (indentation) 106:15 error wrong indentation: expected 16 but found 14 (indentation) 108:41 warning too few spaces before comment (comments) 118:89 error line too long (96 > 88 characters) (line-length) 139:13 error wrong indentation: expected 14 but found 12 (indentation) 143:7 error wrong indentation: expected 8 but found 6 (indentation) 145:9 error wrong indentation: expected 10 but found 8 (indentation) 157:6 warning missing starting space in comment (comments) 158:20 error too many spaces inside braces (braces) 158:47 error too many spaces inside braces (braces) ```
165 lines
5.3 KiB
YAML
165 lines
5.3 KiB
YAML
# -*- coding: utf-8 -*-
|
|
# vim: ft=yaml
|
|
---
|
|
prometheus:
|
|
wanted:
|
|
- prometheus
|
|
{%- if grains.os_family not in ('Debian',) %}
|
|
- alertmanager
|
|
{%- endif %}
|
|
- node_explorer
|
|
# no memcached_exporter in upstream repo - only archive
|
|
# memcached_exporter
|
|
|
|
use_upstream_archive: False
|
|
{%- if grains.os_family in ('CentOS',) %}
|
|
use_upstream_repo: False
|
|
{%- endif %}
|
|
|
|
pkg:
|
|
prometheus:
|
|
archive_version: '2.10.0'
|
|
archive_hash: f4233783826f18606b79e5cef0686e4a9c2030146a3c7ce134f0add09f5adcb7
|
|
alertmanager:
|
|
archive_version: '0.17.0'
|
|
archive_hash: ec171b13976baceace193461f8a1e61021ab9657df5ba45157cd0095aee7d569
|
|
|
|
service:
|
|
prometheus:
|
|
args:
|
|
web.listen-address: 0.0.0.0:9090
|
|
# pushgateway:
|
|
# args:
|
|
# web.listen-address: ":9091"
|
|
# web.telemetry-path: "/metrics"
|
|
node_exporter:
|
|
args:
|
|
web.listen-address: ":9110"
|
|
|
|
tofs:
|
|
# The files_switch key serves as a selector for alternative
|
|
# directories under the formula files directory. See TOFS pattern
|
|
# doc for more info.
|
|
# Note: Any value not evaluated by `config.get` will be used literally.
|
|
# This can be used to set custom paths, as many levels deep as required.
|
|
files_switch:
|
|
- any/path/can/be/used/here
|
|
- id
|
|
- osfinger
|
|
- os
|
|
- os_family
|
|
# All aspects of path/file resolution are customisable using the options below.
|
|
# This is unnecessary in most cases; there are sensible defaults.
|
|
# path_prefix: prometheus_alt
|
|
# dirs:
|
|
# files: files_alt
|
|
# default: default_alt
|
|
source_files:
|
|
prometheus-config-file-file-managed:
|
|
- 'alt_config.yml.jinja'
|
|
|
|
# Pillar-based config
|
|
config:
|
|
prometheus:
|
|
# yamllint disable-line rule:line-length
|
|
# ref https://raw.githubusercontent.com/prometheus/prometheus/release-2.10/config/testdata/conf.good.yml
|
|
# my global config
|
|
global:
|
|
# Set the scrape interval to every 15 seconds. Default is every 1 minute.
|
|
scrape_interval: 15s
|
|
# Evaluate rules every 15 seconds. The default is every 1 minute.
|
|
evaluation_interval: 15s
|
|
# scrape_timeout is set to the global default (10s).
|
|
|
|
# Alertmanager configuration
|
|
alerting:
|
|
alertmanagers:
|
|
- static_configs:
|
|
- targets:
|
|
# - alertmanager:9093
|
|
|
|
# Load rules once and periodically evaluate them according to the global
|
|
# 'evaluation_interval'.
|
|
rule_files:
|
|
- "first_rules.yml"
|
|
# - "second_rules.yml"
|
|
|
|
# A scrape configuration containing exactly one endpoint to scrape:
|
|
scrape_configs:
|
|
# The job name is added as a label `job=<job_name>` to any timeseries
|
|
# scraped from this config.
|
|
- job_name: 'prometheus'
|
|
# metrics_path defaults to '/metrics'
|
|
# scheme defaults to 'http'.
|
|
static_configs:
|
|
- targets: ['localhost:9090']
|
|
|
|
- job_name: pushgateway
|
|
scrape_interval: 5s
|
|
honor_labels: true
|
|
static_configs:
|
|
- targets: ['pushgateway:9091']
|
|
|
|
- job_name: 'blackbox'
|
|
# ref https://github.com/prometheus/blackbox_exporter#prometheus-configuration
|
|
metrics_path: /probe
|
|
params:
|
|
module: [http_2xx] # Look for a HTTP 200 response.
|
|
static_configs:
|
|
- targets:
|
|
- http://prometheus.io # Target to probe with http.
|
|
- https://prometheus.io # Target to probe with https.
|
|
- http://example.com:8080 # Target to probe with http on port 8080.
|
|
relabel_configs:
|
|
- source_labels: [__address__]
|
|
target_label: __param_target
|
|
- source_labels: [__param_target]
|
|
target_label: instance
|
|
- target_label: __address__
|
|
replacement: 127.0.0.1:9115 # The blackbox exporter's real hostname:port.
|
|
|
|
alertmanager:
|
|
# yamllint disable-line rule:line-length
|
|
# ref https://github.com/prometheus/alertmanager/blob/master/config/testdata/conf.good.yml
|
|
global:
|
|
smtp_smarthost: 'localhost:25'
|
|
smtp_from: 'alertmanager@example.org'
|
|
smtp_auth_username: 'alertmanager'
|
|
smtp_auth_password: "multiline\nmysecret"
|
|
smtp_hello: "host.example.org"
|
|
slack_api_url: "http://mysecret.example.com/"
|
|
http_config:
|
|
proxy_url: 'http://127.0.0.1:1025'
|
|
route:
|
|
group_by: ['alertname', 'cluster', 'service']
|
|
group_wait: 30s
|
|
group_interval: 5m
|
|
repeat_interval: 3h
|
|
receiver: team-X-mails
|
|
routes:
|
|
- match_re:
|
|
service: ^(foo1|foo2|baz)$
|
|
receiver: team-X-mails
|
|
routes:
|
|
- match:
|
|
severity: critical
|
|
receiver: team-X-mails
|
|
receivers:
|
|
- name: 'team-X-mails'
|
|
email_configs:
|
|
- to: 'team-X+alerts@example.org'
|
|
|
|
inhibit_rules:
|
|
- name: opsGenie-receiver
|
|
opsgenie_configs:
|
|
- api_key: mysecret
|
|
- name: slack-receiver
|
|
slack_configs:
|
|
- channel: '#my-channel'
|
|
image_url: 'http://some.img.com/img.png'
|
|
|
|
linux:
|
|
# 'Alternatives system' priority: zero disables (default)
|
|
# yamllint disable-line rule:braces
|
|
altpriority: {{ range(1, 9100000) | random }}
|