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

Squid bug needs fixed - watchdog PHP script to monitor size of squid is broken

Scheduled Pinned Locked Moved pfSense Packages
11 Posts 3 Posters 4.2k 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.
  • P
    pkjansma
    last edited by Dec 9, 2012, 7:27 PM

    Using the following on our system:

    .1-BETA0 (i386)
    built on Fri Oct 26 18:02:00 EDT 2012
    FreeBSD 8.3-RELEASE-p4
    Multi-Wan Load Balancing Setup
    Squid Proxy service is running.

    The watchdog PHP script which is supposed to monitor disk usage / disk percentage and the size of the squid cache tmp file is NOT working right.  We believe the problem might be because the check_swapstate.php seems to miscalculating the size of the swapstate file but we are not certain.

    –-----------------------------------------

    The result is the hard drives fills up and squid crashes bringing down the internet with it.  (Bypssing the proxy server does allow a user to temporarily get access to the internet, but my solution so far has been to delete the large swapstate file that was created and not deleted.)

    further description follows...if anyone has advice please post a reply.


    I have squid set to be 60GB  in size.  (I have a small hard drive)

    The directory is using the following amount of space in /var/squid/cache:

    1955288 ./00
    1913004 ./01
    3608162 ./02
    2059640 ./03
    1643160 ./04
    2530112 ./05
    2316560 ./06
    3096342 ./07
    1764184 ./08
    2170994 ./09
    1439058 ./0A
    2577592 ./0B
    1182504 ./0C
    516 ./0D
    516 ./0E
    516 ./0F
    95302534 .

    That includes a file that is 68G which is IN the directory and is named swap.state.

    -rw-rw-rw-    1 proxy  proxy  68619911152 Nov 27 01:06 swap.state

    As noted, the /etc/crontab is supposed to running a swap state check every 15 minutes.  This CAN'T be working right, as it should delete the swap.state file if it's using over 75% of the disk.

    I ran the sections from THIS line in crontab

    0 0 * * * root /bin/rm /var/squid/cache/swap.state; /usr/pbi/squid-i386/sbin/squid -k rotate

    and had it delete and rotate.

    But the line with

    */15 * * * * root /usr/local/pkg/swapstate_check.php

    doesn't appear to be doing its job.


    Can anyone please advice on how to fix this issue AND note to fix the package in a future release update.

    Thanks, Phil Jansma

    1 Reply Last reply Reply Quote 0
    • M
      marcelloc
      last edited by Dec 10, 2012, 2:01 PM

      @pkjansma:

      Can anyone please advice on how to fix this issue AND note to fix the package in a future release update.

      Change squid binary path on swapstate_check.php and test again.

      If you confirm that it works, I can push a fix for it.  :)

      Treinamentos de Elite: http://sys-squad.com

      Help a community developer! ;D

      1 Reply Last reply Reply Quote 0
      • C
        caldwell
        last edited by Dec 10, 2012, 5:09 PM

        @marcelloc:

        @pkjansma:

        Can anyone please advice on how to fix this issue AND note to fix the package in a future release update.

        Change squid binary path on swapstate_check.php and test again.

        If you confirm that it works, I can push a fix for it.  :)

        I'm helping on this issue and saw your response.  Do you mean this line?

        mwexec_bg("/bin/rm $swapstate; /usr/local/sbin/squid -k rotate");

        What should it be changed TO?  That seems to be a symlink to a file which does exist:

        lrwxr-xr-x  1 root  wheel      31 Oct 27 18:03 squid -> /usr/pbi/squid-i386/.sbin/squid

        -rwxr-xr-x  1 root  wheel  9329 Aug 12 09:50 /usr/pbi/squid-i386/.sbin/squid

        Also, does this output look correct?  This is what we get from running the php script by hand:

        /usr/local/pkg/swapstate_check.php

        cachedir is /var/squid/cache
        file is /var/squid/cache/swap.state
        s_s = 13415740
        disktot is 107934111744
        cachedir is running
        swap is 0
        disk is 27
        state size is 13415740

        It just never seems to catch the fact that the file goes beyond the boundaries set for it.

        1 Reply Last reply Reply Quote 0
        • M
          marcelloc
          last edited by Dec 10, 2012, 7:48 PM

          The script generates an altert to system logs when swap is clean.

          Do you have this alert on your system after manual script execution?

          Treinamentos de Elite: http://sys-squad.com

          Help a community developer! ;D

          1 Reply Last reply Reply Quote 0
          • C
            caldwell
            last edited by Dec 11, 2012, 2:19 AM

            @marcelloc:

            The script generates an altert to system logs when swap is clean.

            Do you have this alert on your system after manual script execution?

            After clearing the system log in the GUI and running the command by hand, this is all I have when I run strings and tail on the system.log:

            Dec 10 22:19:42 gw syslogd: kernel boot file is /boot/kernel/kernel
            Dec 10 22:19:58 gw syslogd: exiting on signal 15
            Dec 10 22:19:58 gw syslogd: kernel boot file is /boot/kernel/kernel
            Dec 10 22:20:15 gw syslogd: exiting on signal 15
            Dec 10 22:20:15 gw syslogd: kernel boot file is /boot/kernel/kernel
            Dec 10 22:20:41 gw check_reload_status: Syncing firewall
            Dec 10 22:20:41 gw syslogd: exiting on signal 15
            Dec 10 22:20:41 gw syslogd: kernel boot file is /boot/kernel/kernel
            Dec 10 22:20:41 gw kernel: pflog0: promiscuous mode disabled
            CLOG

            Keep in mind that I upgraded to the latest pfsense today as well.  But I'm not getting ANY output on the screen as before.

            1 Reply Last reply Reply Quote 0
            • C
              caldwell
              last edited by Dec 15, 2012, 7:04 AM

              @marcelloc:

              The script generates an altert to system logs when swap is clean.

              Do you have this alert on your system after manual script execution?

              No further help on this so far.

              I went to the swapstate_check.php file and manually edited it to say:

              if (($swapstate_pct > 25) || (($diskusedpct > 90) && ($swapstate_size > 102410241024))) {

              changing the 75 to 25.  The swap.state file in /var/squid/cache is 29G.  The total disk size is 100G.  It is ALREADY over 25% of the disk space total.  But when I ran it by hand, it did NOTHING.  No output, no removing of the cache file, NOTHING.

              Something is badly broken here.

              Anyone who knows how to fix this?

              1 Reply Last reply Reply Quote 0
              • M
                marcelloc
                last edited by Dec 17, 2012, 2:47 PM

                @caldwell:

                Something is badly broken here.

                Anyone who knows how to fix this?

                echo $swapstate_pct $diskusedpct and $diskusedpct before the test to see what values it has…

                Treinamentos de Elite: http://sys-squad.com

                Help a community developer! ;D

                1 Reply Last reply Reply Quote 0
                • P
                  pkjansma
                  last edited by Dec 26, 2012, 10:05 AM

                  Keeps crashing…am going to try a clean install and a larger HD and see if the bug goes away.  Will report results when the 2TB drive is full.  LOL

                  1 Reply Last reply Reply Quote 0
                  • M
                    marcelloc
                    last edited by Dec 26, 2012, 1:56 PM

                    @pkjansma:

                    Keeps crashing…am going to try a clean install and a larger HD and see if the bug goes away.  Will report results when the 2TB drive is full.  LOL

                    what sizes do you have on these scripts vars when swapstate file is large????

                    echo "state: $swapstate_pct disk usage: $diskusedpct\n";

                    Treinamentos de Elite: http://sys-squad.com

                    Help a community developer! ;D

                    1 Reply Last reply Reply Quote 0
                    • P
                      pkjansma
                      last edited by Jan 6, 2013, 6:50 AM

                      @pkjansma:

                      Keeps crashing…am going to try a clean install and a larger HD and see if the bug goes away.  Will report results when the 2TB drive is full.  LOL

                      UPDATE REPORT
                      Since a new install and a larger 2TB drive I have not had any more issues so if you get this symptom my guess it is most likely because your install was corrupted…so try a completely new install.

                      1 Reply Last reply Reply Quote 0
                      • marcellocM
                        marcelloc
                        last edited by Jan 7, 2013, 3:24 AM

                        Thanks for the feedback, this patch was applied to squid3 install.

                        Treinamentos de Elite: http://sys-squad.com

                        Help a community developer! ;D

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                          [[user:consent.lead]]
                          [[user:consent.not_received]]