Added mysql/maria-exporter + dashboard.

master
Peter Heise 4 years ago
parent 56814e4b2d
commit 7c0f9c597b

@ -26,7 +26,7 @@ hetzner_ssh_keys:
- peter.heise@netgo.de
- claus.paetow@netgo.de
- alexander.gordon@netgo.de
hetzner_server_labels: "stage={{ stage }}"
admin_user: "root"
@ -47,7 +47,7 @@ sudo_groups: [
]
sudo_group: "{{ sudo_groups
| selectattr('id', 'match', '' + ansible_distribution + '' )
| map(attribute='sudo_group')
| map(attribute='sudo_group')
| list
| first
| replace('.','-') }}"
@ -101,6 +101,7 @@ monitor_port_system: "9082"
monitor_port_docker: "9083"
monitor_port_elastic: "9084"
monitor_port_harbor: "9085"
monitor_port_maria: "9086"
monitor_port_awx: "80"
admin_port_traefik: "9080"

@ -23,6 +23,13 @@
with_items:
- mariadb-server
- python3-pymysql
- prometheus-mysqld-exporter
- name: Stop prometheus-mysqld-exporter
service:
name: prometheus-mysqld-exporter
state: stopped
enabled: no
- name: Fix binding..
ansible.builtin.lineinfile:
@ -75,6 +82,33 @@
host: "{{ item.host }}"
with_items: "{{ mysql_users }}"
- name: Ensure prometheus user for prometheus-mysqld-exporter exists
community.mysql.mysql_user:
name: "prometheus"
priv: "*.*:PROCESS,REPLICATION CLIENT,SELECT"
config_file: "/etc/mysql/mariadb.conf.d/50-client.cnf"
login_password: "{{ mysql_root_password }}"
- name: Ensure is prometheus-mysqld-exporter configured
lineinfile:
regex: "^DATA_SOURCE_NAME="
line: 'DATA_SOURCE_NAME="prometheus@unix(/run/mysqld/mysqld.sock)/"'
path: /etc/default/prometheus-mysqld-exporter
register: mysql_exporter_data_source
- name: Setup prometheus-mysqld-exporter interface bind
lineinfile:
path: /etc/default/prometheus-mysqld-exporter
regex: "^ARGS="
line: "ARGS=\"--web.listen-address='{{ stage_private_server_ip }}:{{ monitor_port_maria }}'\""
register: mysql_exporter_args
- name: Start prometheus-mysqld-exporter if needed
service:
name: prometheus-mysqld-exporter
state: started
enabled: yes
- name: "Send mattermost messsge"
uri:
url: "{{ mattermost_hook_smardigo }}"

@ -298,3 +298,28 @@ scrape_configs:
regex: (.*):.*
target_label: instance
replacement: $1
- job_name: 'maria-exporter'
scheme: http
metrics_path: '/metrics'
static_configs:
- targets: [
{% for host in server_group_names_maria | default([]) %}
'{{ (stage_server_infos | selectattr("name", "equalto", host) | first).private_ip }}:{{ monitor_port_maria }}!{{ host }}.{{ domain }}',
{% endfor %}
]
labels:
env: {{ stage }}
project: smardigo
relabel_configs:
- source_labels: [job]
target_label: job
replacement: 'maria-exporter'
- source_labels: [__address__]
regex: .*!(.*)
target_label: instance
replacement: $1
- source_labels: [__address__]
regex: (.*)!.*
target_label: __address__
replacement: $1

Loading…
Cancel
Save