From 29a15ad2b34d4aca8114c226875be8dadd47286a Mon Sep 17 00:00:00 2001
From: Florian Pritz <bluewind@xinu.at>
Date: Sun, 9 Apr 2017 00:06:15 +0200
Subject: [PATCH] zabbix-agent: Add mysql config for mysql checks

Template only for now. Deployed manually on luna, not yet integrated
with apollo.

Signed-off-by: Florian Pritz <bluewind@xinu.at>
---
 roles/zabbix-agent/tasks/main.yml               | 4 ++++
 roles/zabbix-agent/templates/my.cnf.j2          | 3 +++
 roles/zabbix-agent/templates/zabbix_agentd.conf | 6 +++---
 3 files changed, 10 insertions(+), 3 deletions(-)
 create mode 100644 roles/zabbix-agent/templates/my.cnf.j2

diff --git a/roles/zabbix-agent/tasks/main.yml b/roles/zabbix-agent/tasks/main.yml
index e086bce70..a2a3099c2 100644
--- a/roles/zabbix-agent/tasks/main.yml
+++ b/roles/zabbix-agent/tasks/main.yml
@@ -16,6 +16,10 @@
   notify:
     - restart zabbix agent
 
+- name: Create mysql config for agent checks
+  template: src=my.cnf.j2 dest=/etc/zabbix/zabbix_agentd.my.cnf owner=zabbix-agent group=zabbix-agent mode=600
+  when: zabbix_agent_mysql_user is defined
+
 - name: run zabbix agent service
   service: name=zabbix-agent enabled=yes state=started
 
diff --git a/roles/zabbix-agent/templates/my.cnf.j2 b/roles/zabbix-agent/templates/my.cnf.j2
new file mode 100644
index 000000000..4341d3007
--- /dev/null
+++ b/roles/zabbix-agent/templates/my.cnf.j2
@@ -0,0 +1,3 @@
+[client]
+user={{zabbix_agent_mysql_user}}
+password={{zabbix_agent_mysql_password}}
diff --git a/roles/zabbix-agent/templates/zabbix_agentd.conf b/roles/zabbix-agent/templates/zabbix_agentd.conf
index 5aee04bfc..0d35f29b2 100644
--- a/roles/zabbix-agent/templates/zabbix_agentd.conf
+++ b/roles/zabbix-agent/templates/zabbix_agentd.conf
@@ -9,9 +9,9 @@ TLSAccept=psk
 TLSPSKIdentity=PSK{{ansible_hostname|lower}}
 TLSPSKFile=/etc/zabbix/zabbix_agentd.psk
 
-UserParameter=mysql.ping,mysqladmin ping|grep alive|wc -l
-UserParameter=mysql.version,mysql -V
-UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | mysql -N | awk '{print $$2}'
+UserParameter=mysql.ping,mysqladmin --defaults-file="/etc/zabbix/zabbix_agentd.my.cnf" ping|grep alive|wc -l
+UserParameter=mysql.version,mysql --defaults-file="/etc/zabbix/zabbix_agentd.my.cnf" -V
+UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | mysql --defaults-file="/etc/zabbix/zabbix_agentd.my.cnf" -N | awk '{print $$2}'
 
 UserParameter=systemd.unit.is-active[*],systemctl is-active --quiet '$1' && echo 1 || echo 0
 UserParameter=systemd.unit.is-failed[*],systemctl is-failed --quiet '$1' && echo 1 || echo 0
-- 
GitLab