154 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			4.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
# vim: ft=yaml
 | 
						|
---
 | 
						|
prometheus:
 | 
						|
  wanted:
 | 
						|
    - prometheus
 | 
						|
    - pushgateway
 | 
						|
    - node_explorer
 | 
						|
 | 
						|
  use_upstream_repo: False
 | 
						|
  use_upstream_archive: True
 | 
						|
 | 
						|
  pkg:
 | 
						|
    prometheus:
 | 
						|
      archive_version: 2.10.0
 | 
						|
      archive_hash: f4233783826f18606b79e5cef0686e4a9c2030146a3c7ce134f0add09f5adcb7
 | 
						|
      repo: {}
 | 
						|
    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:
 | 
						|
    #     - 'example_alt.tmpl'
 | 
						|
    #     - 'example_alt.tmpl.jinja'
 | 
						|
 | 
						|
  # Pillar-based config
 | 
						|
  config:
 | 
						|
    prometheus:
 | 
						|
      # ref https://raw.githubusercontent.com/prometheus/prometheus/release-2.10/config/testdata/conf.good.yml
 | 
						|
      # my global config
 | 
						|
      global:
 | 
						|
        scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
 | 
						|
        evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
 | 
						|
        # 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:
 | 
						|
      # 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)
 | 
						|
    altpriority: 0
 |