mirror of
https://github.com/KevinMidboe/playbooks-retailor.git
synced 2026-01-09 02:45:45 +00:00
adds mysql exporter. Installs on database host
This commit is contained in:
@@ -5,5 +5,5 @@ custom_firewall_ports:
|
|||||||
- 3306
|
- 3306
|
||||||
apt_packages:
|
apt_packages:
|
||||||
- nfs-kernel-server
|
- nfs-kernel-server
|
||||||
# install_mysql_exporter: true
|
install_mysqld_exporter: true
|
||||||
description: 'database & filestorage node for hosting app.retailor.io'
|
description: 'database & filestorage node for hosting app.retailor.io'
|
||||||
|
|||||||
@@ -6,12 +6,16 @@
|
|||||||
nginx_exporter_version: "1.4.1"
|
nginx_exporter_version: "1.4.1"
|
||||||
cadvisor_version: "0.46.0"
|
cadvisor_version: "0.46.0"
|
||||||
fail2ban_exporter_version: "0.10.2"
|
fail2ban_exporter_version: "0.10.2"
|
||||||
|
mysqld_exporter_version: "0.17.2"
|
||||||
roles:
|
roles:
|
||||||
- role: roles/node_exporter
|
- role: roles/exporter-node
|
||||||
- role: roles/fail2ban_exporter
|
- role: roles/exporter-fail2ban
|
||||||
- role: roles/redis_exporter
|
|
||||||
|
- role: roles/exporter-redis
|
||||||
when: install_redis_exporter
|
when: install_redis_exporter
|
||||||
- role: roles/cadvisor
|
|
||||||
|
- role: roles/exporter-cadvisor
|
||||||
when: install_cadvisor_exporter
|
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