prometheus-formula/pillar.example
Imran Iqbal 07dbfc8d63
feat(yamllint): include for this repo and apply rules throughout
* 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)
```
2019-08-16 17:42:04 +01:00

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 }}