2017-02-20 11:49:04 -05:00
|
|
|
=======================
|
|
|
|
Salt Prometheus formula
|
|
|
|
=======================
|
|
|
|
|
|
|
|
Power your metrics and alerting with a leading open-source monitoring
|
|
|
|
solution.
|
|
|
|
|
2017-03-09 06:12:27 -05:00
|
|
|
Sample pillars
|
|
|
|
==============
|
|
|
|
|
|
|
|
Configure prometheus server
|
|
|
|
---------------------------
|
|
|
|
|
|
|
|
.. code-block:: yaml
|
|
|
|
|
|
|
|
prometheus:
|
|
|
|
server:
|
|
|
|
enabled: true
|
|
|
|
dir:
|
2017-03-29 06:39:52 -04:00
|
|
|
config: /srv/volumes/prometheus
|
2017-03-09 06:12:27 -05:00
|
|
|
config_in_container: /opt/prometheus/config
|
|
|
|
bind:
|
|
|
|
port: 9090
|
|
|
|
address: 0.0.0.0
|
|
|
|
external_port: 15010
|
|
|
|
target:
|
2017-03-29 13:19:34 -04:00
|
|
|
dns:
|
|
|
|
- name: 'pushgateway'
|
|
|
|
domain:
|
|
|
|
- 'tasks.prometheus_pushgateway'
|
|
|
|
type: A
|
|
|
|
port: 9091
|
|
|
|
- name: 'prometheus'
|
|
|
|
domain:
|
|
|
|
- 'tasks.prometheus_server'
|
|
|
|
type: A
|
|
|
|
port: 9090
|
2017-03-09 06:12:27 -05:00
|
|
|
kubernetes:
|
2017-03-29 13:19:34 -04:00
|
|
|
api_ip: ${_param:kubernetes_control_address}
|
2017-03-09 06:12:27 -05:00
|
|
|
ssl_dir: /opt/prometheus/config
|
2017-03-30 09:43:41 -04:00
|
|
|
cert_name: prometheus-server.crt
|
|
|
|
key_name: prometheus-server.key
|
2017-03-29 13:19:34 -04:00
|
|
|
etcd:
|
2017-03-30 09:43:41 -04:00
|
|
|
scheme: https
|
|
|
|
ssl_dir: /opt/prometheus/config
|
|
|
|
cert_name: prometheus-server.crt
|
|
|
|
key_name: prometheus-server.key
|
|
|
|
member:
|
|
|
|
- host: ${_param:cluster_node01_address}
|
|
|
|
port: ${_param:cluster_node01_port}
|
|
|
|
- host: ${_param:cluster_node02_address}
|
|
|
|
port: ${_param:cluster_node02_port}
|
|
|
|
- host: ${_param:cluster_node03_address}
|
|
|
|
port: ${_param:cluster_node03_port}
|
2017-03-29 06:39:52 -04:00
|
|
|
recording:
|
|
|
|
- name: 'instance:fd_utilization'
|
|
|
|
query: >-
|
|
|
|
process_open_fds / process_max_fds
|
2017-03-09 06:12:27 -05:00
|
|
|
alert:
|
|
|
|
PrometheusTargetDown:
|
|
|
|
if: 'up != 1'
|
|
|
|
labels:
|
|
|
|
severity: down
|
|
|
|
annotations:
|
|
|
|
summary: 'Prometheus target down'
|
|
|
|
storage:
|
|
|
|
local:
|
|
|
|
engine: "persisted"
|
|
|
|
retention: "360h"
|
|
|
|
memory_chunks: 1048576
|
|
|
|
max_chunks_to_persist: 524288
|
|
|
|
num_fingerprint_mutexes: 4096
|
|
|
|
alertmanager:
|
|
|
|
notification_queue_capacity: 10000
|
2017-05-12 08:30:44 -04:00
|
|
|
host: localhost
|
|
|
|
port: 9093
|
2017-03-09 06:12:27 -05:00
|
|
|
config:
|
|
|
|
global:
|
|
|
|
scrape_interval: "15s"
|
|
|
|
scrape_timeout: "15s"
|
|
|
|
evaluation_interval: "1m"
|
|
|
|
external_labels:
|
|
|
|
region: 'region1'
|
|
|
|
|
|
|
|
Configure alertmanager
|
|
|
|
----------------------
|
|
|
|
|
|
|
|
.. code-block:: yaml
|
|
|
|
|
|
|
|
prometheus:
|
|
|
|
alertmanager:
|
|
|
|
enabled: true
|
|
|
|
dir:
|
2017-03-29 06:39:52 -04:00
|
|
|
config: /srv/volumes/prometheus
|
2017-03-09 06:12:27 -05:00
|
|
|
bind:
|
|
|
|
address: 0.0.0.0
|
|
|
|
port: 9093
|
|
|
|
external_port: 15011
|
|
|
|
config:
|
|
|
|
global:
|
|
|
|
resolve_timeout: 5m
|
|
|
|
route:
|
|
|
|
group_by: ['alertname', 'region', 'service']
|
|
|
|
group_wait: 60s
|
|
|
|
group_interval: 5m
|
|
|
|
repeat_interval: 3h
|
|
|
|
receiver: HTTP-notification
|
|
|
|
inhibit_rules:
|
|
|
|
- source_match:
|
|
|
|
severity: 'down'
|
|
|
|
target_match:
|
|
|
|
severity: 'critical'
|
|
|
|
equal: ['region', 'service']
|
|
|
|
- source_match:
|
|
|
|
severity: 'down'
|
|
|
|
target_match:
|
|
|
|
severity: 'warning'
|
|
|
|
equal: ['region', 'service']
|
|
|
|
- source_match:
|
|
|
|
severity: 'critical'
|
|
|
|
target_match:
|
|
|
|
severity: 'warning'
|
|
|
|
equal: ['alertname', 'region', 'service']
|
|
|
|
receivers:
|
|
|
|
- name: 'HTTP-notification'
|
|
|
|
webhook_configs:
|
|
|
|
- url: http://127.0.0.1
|
|
|
|
send_resolved: true
|
|
|
|
|
|
|
|
Configure pushgateway
|
|
|
|
---------------------
|
|
|
|
|
|
|
|
.. code-block:: yaml
|
|
|
|
|
|
|
|
prometheus:
|
|
|
|
pushgateway:
|
|
|
|
enabled: true
|
|
|
|
external_port: 15012
|
|
|
|
|
2017-05-12 08:30:44 -04:00
|
|
|
.. code-block:: yaml
|
|
|
|
|
|
|
|
prometheus:
|
|
|
|
pushgateway:
|
|
|
|
enabled: true
|
|
|
|
telemetry_path: /metrics
|
|
|
|
bind:
|
|
|
|
address: 0.0.0.0
|
|
|
|
port: 9091
|
|
|
|
|
2017-02-20 11:49:04 -05:00
|
|
|
Documentation and Bugs
|
|
|
|
======================
|
|
|
|
|
|
|
|
To learn how to install and update salt-formulas, consult the documentation
|
|
|
|
available online at:
|
|
|
|
|
|
|
|
http://salt-formulas.readthedocs.io/
|
|
|
|
|
|
|
|
In the unfortunate event that bugs are discovered, they should be reported to
|
|
|
|
the appropriate issue tracker. Use Github issue tracker for specific salt
|
|
|
|
formula:
|
|
|
|
|
|
|
|
https://github.com/salt-formulas/salt-formula-logrotate/issues
|
|
|
|
|
|
|
|
For feature requests, bug reports or blueprints affecting entire ecosystem,
|
|
|
|
use Launchpad salt-formulas project:
|
|
|
|
|
|
|
|
https://launchpad.net/salt-formulas
|
|
|
|
|
|
|
|
You can also join salt-formulas-users team and subscribe to mailing list:
|
|
|
|
|
|
|
|
https://launchpad.net/~salt-formulas-users
|
|
|
|
|
|
|
|
Developers wishing to work on the salt-formulas projects should always base
|
|
|
|
their work on master branch and submit pull request against specific formula.
|
|
|
|
|
|
|
|
https://github.com/salt-formulas/salt-formula-logrotate
|
|
|
|
|
|
|
|
Any questions or feedback is always welcome so feel free to join our IRC
|
|
|
|
channel:
|
|
|
|
|
|
|
|
#salt-formulas @ irc.freenode.net
|