Ad Widget

Collapse

Java process auto discovery on Linux - Zabbix 2.4

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • jonathan.vanderwatt
    Junior Member
    • Jul 2015
    • 3

    #1

    Java process auto discovery on Linux - Zabbix 2.4

    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.
Working...