Monitoring service status
-
Hello,
I would like to monitor services status with our Nagios/NRPE but I wonder which command launch to check, let's say, the captive portal.
Does somebody knows how?
-
If you can run a command line check, use:
pfSsh.php playback svc status captiveportal
For example:
: pfSsh.php playback svc status captiveportal thiszone Starting the pfSense developer shell.... Service captiveportal is running.
-
Thanks for the reply!
I don't know why but if launch the command I don't have the status.
Example 1.
pfSsh.php playback svc status captiveportal cpzone Starting the pfSense shell system............... Attempting to issue status to captiveportal service...
Example 2.
pfSsh.php playback svc status squid Starting the pfSense shell system............... Attempting to issue status to squid service...
My pfSenses are 2.1.5 and the services are up.
I tried to shutdown a service but the answer is the same.
The script always exit with error code 0 (echo $?).Any idea?
-
I've found that there is no "status" action in /etc/phpshellsessions/svc
Github shows that it has been introduced in 2.2 beta.Looks like I will have to wait for us to upgrade to 2.2 or do a ugly patch to svc (it should work I think)…
Thank you for showing me the right file.
-
Yes, the status action only works on 2.2.
You could take /etc/phpshellsessions/svc from a 2.2 box and use it on 2.1.5 though, the only changes were in that one file and I believe all the necessary supporting functions were there as well. Worth a shot.
-
Yes but i'm afraid it could break something for the next upgrade to 2.2.
-
overwriting that one file won't hurt anything.
-
OK thank you
-
I have setup those checks with Nagios and NRPE.
If it can help someone :
- Install NRPE via System>Packages
- Download the zipfile (http://www.filedropper.com/checkpfsvc). It contains 2 files : "check_pfsvc" which is the nagios plugin used by nrpe to do the services check and "svc" which is a pfSense 2.2 version of the file /etc/phpshellsessions/svc
- Transfer "check_pfsvc" in /usr/pbi/nrpe-amd64/libexec/nagios (it should be another location for 32b installations) and do a chmod 555 on it ; chown it to root and set the group to wheel
- If your pfSense version is <2.2 backup your /etc/phpshellsessions/svc and replace with the file provided in the archive
After that configure NRPE as you need. See nrpev2.png to see how i've configured it.
-
Hello,
I'm back because I've upgraded to latest pfsense release and my script does not work through NRPE but it works from root account through SSH.
I've tried to port it to sh script but it does not work. The error I catch from the nrpe launch of my script is /usr/pbi/nrpe-amd64/local/libexec/nagios/check_pfsvc: /usr/local/sbin/pfSsh.php: not foundDoes someone has an idea why it does not work anymore?
-
No idea? I think it's a modification on rights or in the nrpe plugin but I can't find it.
-
@rct:
I have setup those checks with Nagios and NRPE.
If it can help someone :
- Install NRPE via System>Packages
- Download the zipfile (http://www.filedropper.com/checkpfsvc). It contains 2 files : "check_pfsvc" which is the nagios plugin used by nrpe to do the services check and "svc" which is a pfSense 2.2 version of the file /etc/phpshellsessions/svc
- Transfer "check_pfsvc" in /usr/pbi/nrpe-amd64/libexec/nagios (it should be another location for 32b installations) and do a chmod 555 on it ; chown it to root and set the group to wheel
- If your pfSense version is <2.2 backup your /etc/phpshellsessions/svc and replace with the file provided in the archive
After that configure NRPE as you need. See nrpev2.png to see how i've configured it.
I can't download the zipfile =(
that link redirects me to filedropper.com
-
It doesn't work anymore on pfSense 2.2.x and I can't find why. Sorry.
-
No problem, i need it for a pfSense 2.1-RELEASE
BTW: Anyone knows this package? https://exchange.nagios.org/directory/Plugins/Software/check_squid/details
check_squid
teorically it must be installed on Nagios Server (in my case, is a Ubuntu 14.04)
idk if this works properly because i can't run it. It says
Can't locate Nagios/Plugin.pm in @INC (you may need to install the Nagios::Plugin module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .)Can't locate Nagios/Plugin.pm in @INC (you may need to install the Nagios::Plugin module) (@INC contains: /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .)
I know this isn't a Nagios forum, but just for share the experience
-
You can find the file attached to this message.
-
-
For your Nagios issue I think you miss the perl lib that has been written as a "template" for creating nagios plugins (https://exchange.nagios.org/directory/Plugins/*-Plugin-Development-Tools/Nagios-3A-3APlugin/details).
-
@rct:
For your Nagios issue I think you miss the perl lib that has been written as a "template" for creating nagios plugins (https://exchange.nagios.org/directory/Plugins/*-Plugin-Development-Tools/Nagios-3A-3APlugin/details).
i guess i need some more dependencies because when i run perl Makefile.PL this is what it shows:
Warning: prerequisite Config::Tiny 0 not found. Warning: prerequisite Math::Calc::Units 0 not found. Warning: prerequisite Params::Validate 0 not found. Writing Makefile for Nagios::Plugin Writing MYMETA.yml and MYMETA.json
i'll take a look to your file and follow your instructions to check squid & squidguard status for my pfsense
Thank you for your attention
-
No problem! I hope it'll do the trick for you :)
-
i've done all the configurations on pfsense side
now i'm on my Nagios Server and i don't know how to add this checks on my status monitor
here's my 'pfsense22.cg" file
# A simple configuration file for monitoring the local host # This can serve as an example for configuring other servers; # Custom services specific to this host are added here, but services # defined in nagios2-common_services.cfg may also apply. # define host{ use generic-host ; Name of host template to use host_name pfsense22 alias virtualprana address 10.0.0.22 } # Define a service to check the disk space of the root partition # on the local machine. Warning if < 20% free, critical if # < 10% free space on partition. define service{ use generic-service ; Name of service template to use host_name pfsense22 service_description Disk Space check_command check_all_disks!20%!10% } # Define a service to check the number of currently logged in # users on the local machine. Warning if > 20 users, critical # if > 50 users. define service{ use generic-service ; Name of service template to use host_name pfsense22 service_description Current Users check_command check_users!20!50 } # Define a service to check the number of currently running procs # on the local machine. Warning if > 250 processes, critical if # > 400 processes. define service{ use generic-service ; Name of service template to use host_name pfsense22 service_description Total Processes check_command check_procs!250!400 } # Define a service to check the load on the local machine. define service{ use generic-service ; Name of service template to use host_name pfsense22 service_description Current Load check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0 } define service{ use generic-service host_name pfsense22 service_description Current Load check_command check_nrpe } # Define a service to check squid status