Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Monitoring service status

    Scheduled Pinned Locked Moved General pfSense Questions
    31 Posts 4 Posters 10.7k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • jimpJ
      jimp Rebel Alliance Developer Netgate
      last edited by

      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.
      
      

      Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

      Need help fast? Netgate Global Support!

      Do not Chat/PM for help!

      1 Reply Last reply Reply Quote 0
      • R
        rct
        last edited by

        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?

        1 Reply Last reply Reply Quote 0
        • R
          rct
          last edited by

          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.

          1 Reply Last reply Reply Quote 0
          • jimpJ
            jimp Rebel Alliance Developer Netgate
            last edited by

            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.

            Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

            Need help fast? Netgate Global Support!

            Do not Chat/PM for help!

            1 Reply Last reply Reply Quote 0
            • R
              rct
              last edited by

              Yes but i'm afraid it could break something for the next upgrade to 2.2.

              1 Reply Last reply Reply Quote 0
              • jimpJ
                jimp Rebel Alliance Developer Netgate
                last edited by

                overwriting that one file won't hurt anything.

                Remember: Upvote with the 👍 button for any user/post you find to be helpful, informative, or deserving of recognition!

                Need help fast? Netgate Global Support!

                Do not Chat/PM for help!

                1 Reply Last reply Reply Quote 0
                • R
                  rct
                  last edited by

                  OK thank you

                  1 Reply Last reply Reply Quote 0
                  • R
                    rct
                    last edited by

                    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.

                    nrpev2.png
                    nrpev2.png_thumb

                    1 Reply Last reply Reply Quote 0
                    • R
                      rct
                      last edited by

                      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 found

                      Does someone has an idea why it does not work anymore?

                      1 Reply Last reply Reply Quote 0
                      • R
                        rct
                        last edited by

                        No idea? I think it's a modification on rights or in the nrpe plugin but I can't find it.

                        1 Reply Last reply Reply Quote 0
                        • R
                          rocaembole
                          last edited by

                          @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

                          No Pain
                          No Gain

                          1 Reply Last reply Reply Quote 0
                          • R
                            rct
                            last edited by

                            It doesn't work anymore on pfSense 2.2.x and I can't find why. Sorry.

                            1 Reply Last reply Reply Quote 0
                            • R
                              rocaembole
                              last edited by

                              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

                              No Pain
                              No Gain

                              1 Reply Last reply Reply Quote 0
                              • R
                                rct
                                last edited by

                                You can find the file attached to this message.

                                check_pfsvc.zip

                                1 Reply Last reply Reply Quote 0
                                • R
                                  rocaembole
                                  last edited by

                                  @rct:

                                  You can find the file attached to this message.

                                  thanks, [hippie] i love you [/hippie]

                                  No Pain
                                  No Gain

                                  1 Reply Last reply Reply Quote 0
                                  • R
                                    rct
                                    last edited by

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

                                    1 Reply Last reply Reply Quote 0
                                    • R
                                      rocaembole
                                      last edited by

                                      @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 Pain
                                      No Gain

                                      1 Reply Last reply Reply Quote 0
                                      • R
                                        rct
                                        last edited by

                                        No problem! I hope it'll do the trick for you :)

                                        1 Reply Last reply Reply Quote 0
                                        • R
                                          rocaembole
                                          last edited by

                                          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
                                          
                                          

                                          No Pain
                                          No Gain

                                          1 Reply Last reply Reply Quote 0
                                          • R
                                            rct
                                            last edited by

                                            You can add the following to your file according you have setup a command named "check_squid_svc" in the NRPE package.

                                            define service {
                                                    use                            generic-service
                                                    host_name                      pfsense22
                                                    service_description            Squid service
                                                    check_command                  check_nrpe!check_squid_svc
                                            }

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.