2025-12-23 19:56:26 +08:00

74 lines
2.0 KiB
YAML

---
- name: Create MySQL Exporter Directory
file:
path: /opt/mysqld_exporter
state: directory
mode: 0755
- name: Set Architecture
set_fact:
arch: "{{'amd64' if (ansible_architecture == 'x86_64') else 'arm64'}}"
- name: Download MySQL Exporter Archive
unarchive:
src: "http://git.jingrow.com/prometheus/mysqld_exporter/releases/download/v0.15.1/mysqld_exporter-0.15.1.linux-{{ arch }}.tar.gz"
dest: /tmp
remote_src: yes
- name: Copy MySQL Exporter Binary
copy:
src: "/tmp/mysqld_exporter-0.15.1.linux-{{ arch }}/mysqld_exporter"
dest: /opt/mysqld_exporter/mysqld_exporter
remote_src: yes
mode: 0755
owner: root
group: root
- name: Create MySQL Client Config
template:
src: monitor.cnf
dest: /home/jingrow/proxysql/monitor.cnf
owner: root
group: root
mode: 0644
- name: Remove ProxySQL Monitor User
mysql_query:
login_user: jingrow
login_password: "{{ proxysql_admin_password }}"
login_host: 127.0.0.1
login_port: 6032
query:
- DELETE FROM mysql_users WHERE username = "monitor"
- LOAD MYSQL USERS TO RUNTIME
- SAVE MYSQL USERS FROM RUNTIME
- SAVE MYSQL USERS TO DISK
- name: Create ProxySQL Monitoring User
mysql_query:
login_user: jingrow
login_password: "{{ proxysql_admin_password }}"
login_host: 127.0.0.1
login_port: 6032
query:
- "INSERT INTO mysql_users (username, password, default_hostgroup, default_schema, use_ssl, max_connections) VALUES ('monitor', 'monitor', {{ default_hostgroup }}, NULL, 1, 16)"
- LOAD MYSQL USERS TO RUNTIME
- SAVE MYSQL USERS FROM RUNTIME
- SAVE MYSQL USERS TO DISK
- name: Create MySQL Exporter Systemd Service File
template:
src: mysqld_exporter.service
dest: /etc/systemd/system/mysqld_exporter.service
owner: root
group: root
mode: 0644
- name: Restart MySQL Exporter Service
systemd:
daemon_reload: true
name: mysqld_exporter
enabled: yes
state: restarted