Hi everyone,
I am working on a project to create Zabbix monitoring for Openstack.
I am monitoring based on command output such as "nova service-list" or "neutron agent-list".
Output of "neutron agent-list" looks like this
+--------------------------------------+--------------------+-------+-------+----------------+
| id | agent_type | host | alive | admin_state_up |
+--------------------------------------+--------------------+-------+-------+----------------+
| 1b69828d-6a9b-4826-87cd-1757f0e27f31 | Linux bridge agent | HostA | :-) | True |
| a0c1c21c-d4f4-4577-9ec7-908f2d48622d | DHCP agent | HostA | :-) | True |
| ed96b856-ae0f-4d75-bb28-40a47ffd7695 | Linux bridge agent | HostB | :-) | True |
| f28aa126-6edb-4ea5-a81e-8850876bc0a8 | DHCP agent | HostB | :-) | True |
+--------------------------------------+--------------------+-------+-------+----------------+
If the agent is not ALIVE, the text changes from ":-)" to "xxx".
Basically what I need to do is some parsing and send the "agent_type" (name of agent) to Zabbix to be displayed as trigger e.g., "DHCP agent is down".
Whereas "DHCP agent" is the part we need to get from the table if its not Alive or admin_state is False. So what would be the best way to do this?
There is a level of complexity added here when multiple agents go down or become disabled then we need to pass multiple values to Zabbix server. I am not even sure how to process and send these and then on server end how to make it where a trigger is created for each one that is down.
Appreciate the help!
I am working on a project to create Zabbix monitoring for Openstack.
I am monitoring based on command output such as "nova service-list" or "neutron agent-list".
Output of "neutron agent-list" looks like this
+--------------------------------------+--------------------+-------+-------+----------------+
| id | agent_type | host | alive | admin_state_up |
+--------------------------------------+--------------------+-------+-------+----------------+
| 1b69828d-6a9b-4826-87cd-1757f0e27f31 | Linux bridge agent | HostA | :-) | True |
| a0c1c21c-d4f4-4577-9ec7-908f2d48622d | DHCP agent | HostA | :-) | True |
| ed96b856-ae0f-4d75-bb28-40a47ffd7695 | Linux bridge agent | HostB | :-) | True |
| f28aa126-6edb-4ea5-a81e-8850876bc0a8 | DHCP agent | HostB | :-) | True |
+--------------------------------------+--------------------+-------+-------+----------------+
If the agent is not ALIVE, the text changes from ":-)" to "xxx".
Basically what I need to do is some parsing and send the "agent_type" (name of agent) to Zabbix to be displayed as trigger e.g., "DHCP agent is down".
Whereas "DHCP agent" is the part we need to get from the table if its not Alive or admin_state is False. So what would be the best way to do this?
There is a level of complexity added here when multiple agents go down or become disabled then we need to pass multiple values to Zabbix server. I am not even sure how to process and send these and then on server end how to make it where a trigger is created for each one that is down.
Appreciate the help!
Comment