mirror of
https://github.com/KevinMidboe/playbooks-retailor.git
synced 2026-01-07 01:45:45 +00:00
adds mysql exporter. Installs on database host
This commit is contained in:
@@ -5,5 +5,5 @@ custom_firewall_ports:
|
||||
- 3306
|
||||
apt_packages:
|
||||
- nfs-kernel-server
|
||||
# install_mysql_exporter: true
|
||||
install_mysqld_exporter: true
|
||||
description: 'database & filestorage node for hosting app.retailor.io'
|
||||
|
||||
@@ -6,12 +6,16 @@
|
||||
nginx_exporter_version: "1.4.1"
|
||||
cadvisor_version: "0.46.0"
|
||||
fail2ban_exporter_version: "0.10.2"
|
||||
mysqld_exporter_version: "0.17.2"
|
||||
roles:
|
||||
- role: roles/node_exporter
|
||||
- role: roles/fail2ban_exporter
|
||||
- role: roles/redis_exporter
|
||||
- role: roles/exporter-node
|
||||
- role: roles/exporter-fail2ban
|
||||
|
||||
- role: roles/exporter-redis
|
||||
when: install_redis_exporter
|
||||
- role: roles/cadvisor
|
||||
|
||||
- role: roles/exporter-cadvisor
|
||||
when: install_cadvisor_exporter
|
||||
- role: roles/nginx_prometheus_exporter
|
||||
when: install_nginx_exporter
|
||||
|
||||
- role: roles/exporter-mysql
|
||||
when: install_mysqld_exporter
|
||||
|
||||
11
roles/exporter-mysql/README.md
Normal file
11
roles/exporter-mysql/README.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# mysqld exporter
|
||||
|
||||
(https://github.com/prometheus/mysqld_exporter)[https://github.com/prometheus/mysqld_exporter]
|
||||
|
||||
## Required Grants
|
||||
|
||||
```mysql
|
||||
CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'XXXXXXXX' WITH MAX_USER_CONNECTIONS 3;
|
||||
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
|
||||
```
|
||||
|
||||
23
roles/exporter-mysql/tasks/install.yml
Normal file
23
roles/exporter-mysql/tasks/install.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
- name: Download MySQL Prometheus Exporter
|
||||
get_url:
|
||||
url: "https://github.com/prometheus/mysqld_exporter/releases/download/v{{ mysqld_exporter_version }}/mysqld_exporter-{{ mysqld_exporter_version }}.linux-amd64.tar.gz"
|
||||
dest: "/tmp/mysqld-exporter.tar.gz"
|
||||
|
||||
- name: Extract MySQL Prometheus Exporter
|
||||
unarchive:
|
||||
src: "/tmp/mysqld-exporter.tar.gz"
|
||||
dest: "/tmp"
|
||||
remote_src: yes
|
||||
|
||||
- name: copy my.cnf config
|
||||
template:
|
||||
src: "my.cnf.j2"
|
||||
dest: "/root/my.cnf.j2"
|
||||
|
||||
- name: Move MySQL Prometheus Exporter binary
|
||||
copy:
|
||||
src: "/tmp/mysqld_exporter-{{ mysqld_exporter_version }}.linux-amd64/mysqld_exporter"
|
||||
dest: "/usr/local/bin/mysqld_exporter"
|
||||
remote_src: yes
|
||||
mode: '0755'
|
||||
6
roles/exporter-mysql/tasks/main.yml
Normal file
6
roles/exporter-mysql/tasks/main.yml
Normal file
@@ -0,0 +1,6 @@
|
||||
---
|
||||
# ensure we have variables from .env files
|
||||
- include_tasks: ../roles/env/tasks/main.yml
|
||||
|
||||
- include_tasks: install.yml
|
||||
- include_tasks: service.yml
|
||||
23
roles/exporter-mysql/tasks/service.yml
Normal file
23
roles/exporter-mysql/tasks/service.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
- name: Create mysqld_exporter service file
|
||||
template:
|
||||
src: "mysqld_exporter.service.j2"
|
||||
dest: "/etc/systemd/system/mysqld_exporter.service"
|
||||
mode: '0644'
|
||||
tags:
|
||||
- create_service
|
||||
|
||||
- name: Reload systemd to pick up the mysqld_exporter service
|
||||
systemd:
|
||||
daemon_reload: yes
|
||||
tags:
|
||||
- reload_systemd
|
||||
|
||||
- name: Enable and start the mysqld_exporter service
|
||||
systemd:
|
||||
name: mysqld_exporter
|
||||
state: started
|
||||
enabled: yes
|
||||
tags:
|
||||
- start_mysqld_exporter
|
||||
|
||||
3
roles/exporter-mysql/templates/my.cnf.j2
Normal file
3
roles/exporter-mysql/templates/my.cnf.j2
Normal file
@@ -0,0 +1,3 @@
|
||||
[client]
|
||||
user = {{ env_vars.DB_USERNAME }}
|
||||
password = {{ env_vars.DB_PASSWORD }}
|
||||
12
roles/exporter-mysql/templates/mysqld_exporter.service.j2
Normal file
12
roles/exporter-mysql/templates/mysqld_exporter.service.j2
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=mysqld exporter
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=nobody
|
||||
ExecStart=/usr/local/bin/mysqld_exporter --config.my-cnf=/home/forge/.my.cnf
|
||||
Restart=always
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
Reference in New Issue
Block a user