Migrating von Xymon to Icinga2: Procs

Hello all,

we are migrating from Xymon to Icinga2 due to the lack of IPv6 support. I am having problems with the following feature from Xymon: There is a file called “bb-proctab”, the content of which I have noted here:

# bb-proctab: configuration file for process checking
# Format:
#    host:proc list for yellow : proc list for red
#    localhost:proc list for yellow : proc list for red
#    host can be FQDN (fully qualified domain name) or
#       just a plain hostname but it is preferred that you
#       use a FQDN.
#    localhost: using this specifies that the processes
#       specified on the line are to be tested on all clients
#    To make matching more precise, try adding a part of the
#       path if possible (/usr/sbin/httpd)
#    The ! can precede a process to specify that is must not
#       be running: i.e. !httpd
#       httpd;0 is equivalent to !httpd
#    You can also specify a process with it's arguments using the
#       "" construct: i.e. "httpd -DSSL"
#    The same host can be specified on multiple lines to aid readability
#    You can add directives to specify how many processes
#       must be running. The directive is specified by delimiting
#       it with the process name with a ';'. Valid directives are:
#               httpd;999   - Exactly 999 instances of httpd must be running
#               httpd;=999  - same as httpd;999
#               httpd;<=999 - Less or equal to 999 instances of httpd must be running
#               httpd;>=999 - More or equal to 999 instances of httpd must be running
#               httpd;<999  - Less than 999 instances of httpd must be running
#               httpd;>999  - More than 999 instances of httpd must be running
#               Note: If you use this construct with a multi word entry:
#                     i.e. "httpd -DSSL;=999"
#                     Make sure the ;=999 construct is within the ""
#    If you put a process with no directives then it is
#       test condition is that at least 1 process must be running
#       It keeps backward compatibility

: sshd :
localhost: sendmail;<=2 bbrun !xntpdd : httpd;>=16
localhost : :snmpd "sleep 30;<6"
www.bobo.com : inetd : bbd
www: inetdd : bbdd

We are now trying to implement this with Icinga. My idea was to do this via check_procs, but I’m still missing the way how I can define the number of running processes per service.
Someone has already implemented this?

I don’t see how your old solution matches services and processes.

I use monitoring-plugins/check-plugins/procs at main · Linuxfabrik/monitoring-plugins · GitHub and maybe you could use the --username argument it your services run as a dedicated user.