Hi all,
I'm new to the forums so please forgive me if I break any rules...
Problem:
I have a group of Linux servers (16 in total) each running multiple instances of the same (albeit different versions) Java code- let's call it Bob. The 16 servers are split up into two sides- side A and side B. The two sides sides represent two different data centres. The servers themselves are further grouped by the versions of Bob running on them. So, on Side A I have something like the following:
side a server 01 bob versions: 1 and 2, no of instances: 4
side a server 02 bob versions: 1 and 2, no of instances: 4
side a server 03 bob versions: 2 and 3, no of instances: 4
side a server 04 bob versions: 2 and 3, no of instances: 4
side a server 05 bob versions: 3 and 4, no of instances: 4
side a server 06 bob versions: 3 and 4, no of instances: 4
side a server 07 bob versions: 4, 5, 6, 7 and 8, no of instances: 2 of each
side a server 08 bob versions: 4, 5, 6, 7 and 8, no of instances: 2 of each
The same thing is repeated on Side B.
Each running version of Bob binds to a local VIP on the server that has a DNS entry which takes the following format:
side a server 01 bob version 1 instance 1 = 192.168.0.1 boba11.example.com boba11
side a server 01 bob version 1 instance 2 = 192.168.0.2 boba12.example.com boba12
side a server 01 bob version 2 instance 1 = 192.168.0.3
boba21.example.com boba21
side a server 01 bob version 2 instance 2 = 192.168.0.4 boba22.example.com boba22
You get the idea...
What I want to do
The problem is that the above scenario could change at any time- we reshuffle instances and recycle server resources as versions become discontinued and no longer supported or if new versions and instance counts are introduced.
I would like discovery of these Java processes to be completely dynamic and automatic. Items, triggers and graphs need to be in a template. If the Zabbix server discovers that a particular version of Bob is running on a host I would like for it to:
A.) Apply the correct triggers, graphs, etc to that host and,
B.) If at all possible- remove any extra stuff that's no longer required for that host.
I know that this is meant to be done by using prototypes and low-level discovery but I am getting tripped up on the regular expression, key, macro, etc to use. The default file system and network interface discovery is working well. But how are custom discovery rules such as the above handled? Is it even possible? If anyone has done something similar I'd love to hear from you.
I'm new to the forums so please forgive me if I break any rules...
Problem:
I have a group of Linux servers (16 in total) each running multiple instances of the same (albeit different versions) Java code- let's call it Bob. The 16 servers are split up into two sides- side A and side B. The two sides sides represent two different data centres. The servers themselves are further grouped by the versions of Bob running on them. So, on Side A I have something like the following:
side a server 01 bob versions: 1 and 2, no of instances: 4
side a server 02 bob versions: 1 and 2, no of instances: 4
side a server 03 bob versions: 2 and 3, no of instances: 4
side a server 04 bob versions: 2 and 3, no of instances: 4
side a server 05 bob versions: 3 and 4, no of instances: 4
side a server 06 bob versions: 3 and 4, no of instances: 4
side a server 07 bob versions: 4, 5, 6, 7 and 8, no of instances: 2 of each
side a server 08 bob versions: 4, 5, 6, 7 and 8, no of instances: 2 of each
The same thing is repeated on Side B.
Each running version of Bob binds to a local VIP on the server that has a DNS entry which takes the following format:
side a server 01 bob version 1 instance 1 = 192.168.0.1 boba11.example.com boba11
side a server 01 bob version 1 instance 2 = 192.168.0.2 boba12.example.com boba12
side a server 01 bob version 2 instance 1 = 192.168.0.3
boba21.example.com boba21
side a server 01 bob version 2 instance 2 = 192.168.0.4 boba22.example.com boba22
You get the idea...
What I want to do
The problem is that the above scenario could change at any time- we reshuffle instances and recycle server resources as versions become discontinued and no longer supported or if new versions and instance counts are introduced.
I would like discovery of these Java processes to be completely dynamic and automatic. Items, triggers and graphs need to be in a template. If the Zabbix server discovers that a particular version of Bob is running on a host I would like for it to:
A.) Apply the correct triggers, graphs, etc to that host and,
B.) If at all possible- remove any extra stuff that's no longer required for that host.
I know that this is meant to be done by using prototypes and low-level discovery but I am getting tripped up on the regular expression, key, macro, etc to use. The default file system and network interface discovery is working well. But how are custom discovery rules such as the above handled? Is it even possible? If anyone has done something similar I'd love to hear from you.