67 lines
1.8 KiB
YAML
Executable File
67 lines
1.8 KiB
YAML
Executable File
---
|
|
- name: Master playbook to install and configure prometheus
|
|
hosts: prometheus_server
|
|
become: true
|
|
|
|
tasks:
|
|
- name: Install prerequisite software
|
|
ansible.builtin.dnf:
|
|
name:
|
|
- tar
|
|
- python3-dnf
|
|
state: present
|
|
|
|
- name: Permit prometheus metrics in default zone for dns service
|
|
ansible.posix.firewalld:
|
|
port: 9100/tcp
|
|
permanent: true
|
|
immediate: true
|
|
state: enabled
|
|
|
|
- name: Permit traffic in default zone for dns service
|
|
ansible.posix.firewalld:
|
|
port: 9090/tcp
|
|
permanent: true
|
|
immediate: true
|
|
state: enabled
|
|
|
|
- name: Install prometheus via role
|
|
ansible.builtin.import_role:
|
|
name: prometheus.prometheus.prometheus
|
|
vars:
|
|
prometheus_targets:
|
|
node:
|
|
- targets:
|
|
- localhost:9100
|
|
labels:
|
|
env: mk-labs
|
|
|
|
- name: Permit grafana in default zone for dns service
|
|
ansible.posix.firewalld:
|
|
port: 3000/tcp
|
|
permanent: true
|
|
immediate: true
|
|
state: enabled
|
|
|
|
- name: Install grafana via role
|
|
ansible.builtin.import_role:
|
|
name: grafana.grafana.grafana
|
|
|
|
# - name: Create/Update Data sources
|
|
# grafana.grafana.datasource:
|
|
# dataSource: |
|
|
# {
|
|
# "name": "Prometheus",
|
|
# "type": "prometheus",
|
|
# "access": "proxy",
|
|
# "url": "http://localhost:9090",
|
|
# "jsonData": {
|
|
# "httpMethod": "POST",
|
|
# "manageAlerts": true,
|
|
# "prometheusType": "Prometheus",
|
|
# "cacheLevel": "High"
|
|
# }
|
|
# }
|
|
# grafana_url: "{{ grafana_url }}"
|
|
# grafana_api_key: "{{ grafana_api_key }}"
|
|
# state: present |