Initial commit
This commit is contained in:
commit
e42f1f6b9a
7 changed files with 252 additions and 0 deletions
73
tasks/main.yml
Normal file
73
tasks/main.yml
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
- name: install node-exporter
|
||||
apt:
|
||||
pkg: prometheus-node-exporter
|
||||
|
||||
- name: manage tls
|
||||
when: prometheus_agent.tls.manage
|
||||
block:
|
||||
- set_fact:
|
||||
inventory_certs: "{{ certificates.certs|d({}) }}"
|
||||
prometheus_certs: |
|
||||
{
|
||||
'prometheus_agent': {
|
||||
'san': ['{{ inventory_hostname }}'],
|
||||
'backend': 'selfsigned'
|
||||
}
|
||||
}
|
||||
- include_role:
|
||||
name: certificates
|
||||
vars:
|
||||
certificates:
|
||||
certs: "{{ {}|combine(prometheus_certs, inventory_certs, recursive=True) }}"
|
||||
|
||||
- name: copy node-exporter config
|
||||
template:
|
||||
src: node-exporter.j2
|
||||
dest: /etc/default/prometheus-node-exporter
|
||||
notify: restart node-exporter
|
||||
|
||||
- name: slurp up all scraper certs
|
||||
loop: "{{ prometheus_agent.scrapers.keys()|list }}"
|
||||
delegate_to: "{{ item }}"
|
||||
slurp:
|
||||
src: /etc/ssl/prometheus_scraper.crt
|
||||
register: scrapercertfiles
|
||||
|
||||
- name: slurp up agent cert
|
||||
slurp:
|
||||
src: /etc/ssl/prometheus_agent.crt
|
||||
register: agentcertfiles
|
||||
|
||||
- name: setup stunnel client
|
||||
when: prometheus_agent.tls.mode == "stunnel"
|
||||
block:
|
||||
- name: install stunnel
|
||||
apt:
|
||||
pkg: stunnel
|
||||
- name: copy scraper ssl certs
|
||||
loop: "{{ scrapercertfiles.results }}"
|
||||
copy:
|
||||
content: "{{ item.content | b64decode }}"
|
||||
dest: "/etc/ssl/scraper_{{ item.item }}.crt"
|
||||
- name: copy stunnel config
|
||||
template:
|
||||
src: stunnel-client.conf.j2
|
||||
dest: /etc/stunnel/prometheus-agent.conf
|
||||
notify: restart stunnel
|
||||
- name: copy agent certs to scrapers
|
||||
loop: "{{ prometheus_agent.scrapers.keys()|list }}"
|
||||
delegate_to: "{{ item }}"
|
||||
copy:
|
||||
content: "{{ agentcertfiles.content | b64decode }}"
|
||||
dest: "/etc/prometheus/targetcerts/{{ inventory_hostname }}.crt"
|
||||
|
||||
- set_fact:
|
||||
labels_ansible_groups: '{ {% for g in group_names %}"ansible_group_{{g}}": True{% if not loop.last %}, {% endif %}{% endfor %} }'
|
||||
- set_fact:
|
||||
merged_prometheus_labels: "{{ {}|combine((labels_ansible_groups if prometheus_agent.ansible_groups_as_labels else {}), prometheus_agent.labels) }}"
|
||||
- name: setup scraper
|
||||
loop: "{{ prometheus_agent.scrapers.keys()|list }}"
|
||||
delegate_to: "{{ item }}"
|
||||
template:
|
||||
src: node-scraper.j2
|
||||
dest: /etc/prometheus/conf.d/scrape_configs/{{ inventory_hostname }}.conf
|
||||
Loading…
Add table
Add a link
Reference in a new issue