In case anyone wanted to do this, I found a way.. Here are the instructions:
Requirements:
Any PC with linux compatible sound card
Linux (I used Ubuntu, but not required)
festival (an easy apt-get with debian/ubuntu)
zabbix agent (with remote commands enabled)
Steps:
1) Install and get zabbix agent running and talking to the zabbix server
2) Install and test festival on the agent box, and choose the voice type you like (rtfm for more info on this, I use default for this example)
3) Set up an "Action" in the zabbix server and use the following string to call festival
example of remote command inside the Action:
host:festival -b '(SayText "Danger")'
You can even use zabbix variables within the quotes to pass it information about your alert:
for instance, I have a temperature sensor:
(Note: below "temp_host" is the host with agent monitoring temp...)
host:festival -b '(SayText "Warning, server room temperature is now {temp_host:temperature_sensor.last(0)}")'
EDIT: As seen below, you can also do something like this: (so it only talks to you when the Trigger status = ON)
host:echo "if [ {TRIGGER.STATUS} == ON ]; then festival -b '(SayText \"Warning, server room temperature is now {temp_host:temperature_sensor.last(0)}\")'; fi" > /tmp/wrap.sh; /bin/bash -e /tmp/wrap.sh; rm /tmp/wrap.sh
...
Anyhow. Most people may find this a little too nerdy but hey. Someone out there might be a bigger nerd than I. heh.
...
Enjoy!
Requirements:
Any PC with linux compatible sound card
Linux (I used Ubuntu, but not required)
festival (an easy apt-get with debian/ubuntu)
zabbix agent (with remote commands enabled)
Steps:
1) Install and get zabbix agent running and talking to the zabbix server
2) Install and test festival on the agent box, and choose the voice type you like (rtfm for more info on this, I use default for this example)
3) Set up an "Action" in the zabbix server and use the following string to call festival
example of remote command inside the Action:
host:festival -b '(SayText "Danger")'
You can even use zabbix variables within the quotes to pass it information about your alert:
for instance, I have a temperature sensor:
(Note: below "temp_host" is the host with agent monitoring temp...)
host:festival -b '(SayText "Warning, server room temperature is now {temp_host:temperature_sensor.last(0)}")'
EDIT: As seen below, you can also do something like this: (so it only talks to you when the Trigger status = ON)
host:echo "if [ {TRIGGER.STATUS} == ON ]; then festival -b '(SayText \"Warning, server room temperature is now {temp_host:temperature_sensor.last(0)}\")'; fi" > /tmp/wrap.sh; /bin/bash -e /tmp/wrap.sh; rm /tmp/wrap.sh
...
Anyhow. Most people may find this a little too nerdy but hey. Someone out there might be a bigger nerd than I. heh.
...
Enjoy!
Comment