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

    Huge Suricata Stats Logs

    IDS/IPS
    3
    16
    3.1k
    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.
    • S
      Stewart
      last edited by Stewart

      I have a relatively recent deployment with an issue with the Suricata Stats Logs using all disk space.

      /var/log/suricata/suricata_igb128922: ls -lah
      total 45737964
      drw-rw----  2 root  wheel   2.0K Dec  7 17:40 .
      drwx------  4 root  wheel   512B May 22  2018 ..
      -rw-r-----  1 root  wheel   470K Dec  7 17:39 alerts.log
      -rw-r--r--  1 root  wheel   501K Dec  6 15:25 alerts.log.2018_1206_1525
      -rw-r-----  1 root  wheel   3.7K Sep 26 16:10 block.log
      -rw-r-----  1 root  wheel     0B May 22  2018 http.log
      -rw-r-----  1 root  wheel   2.9G Dec  7 17:40 stats.log
      -rw-r--r--  1 root  wheel   4.4M Dec  7 14:16 stats.log.2018_1207_1415
      -rw-r--r--  1 root  wheel   2.8G Dec  7 17:40 stats.log.2018_1207_1420
      -rw-r--r--  1 root  wheel   2.8G Dec  7 17:40 stats.log.2018_1207_1425
      -rw-r--r--  1 root  wheel   2.8G Dec  7 17:40 stats.log.2018_1207_1430
      -rw-r--r--  1 root  wheel   2.8G Dec  7 17:40 stats.log.2018_1207_1435
      -rw-r--r--  1 root  wheel   2.3G Dec  7 17:40 stats.log.2018_1207_1440
      -rw-r--r--  1 root  wheel   2.1G Dec  7 17:40 stats.log.2018_1207_1445
      -rw-r--r--  1 root  wheel   2.0G Dec  7 17:40 stats.log.2018_1207_1450
      -rw-r--r--  1 root  wheel   2.0G Dec  7 17:40 stats.log.2018_1207_1455
      -rw-r--r--  1 root  wheel   1.9G Dec  7 17:40 stats.log.2018_1207_1500
      -rw-r--r--  1 root  wheel   1.7G Dec  7 17:40 stats.log.2018_1207_1505
      -rw-r--r--  1 root  wheel   1.6G Dec  7 17:40 stats.log.2018_1207_1510
      -rw-r--r--  1 root  wheel   1.6G Dec  7 17:40 stats.log.2018_1207_1515
      -rw-r--r--  1 root  wheel   1.6G Dec  7 17:40 stats.log.2018_1207_1520
      -rw-r--r--  1 root  wheel   1.3G Dec  7 17:40 stats.log.2018_1207_1525
      -rw-r--r--  1 root  wheel   1.3G Dec  7 17:40 stats.log.2018_1207_1530
      -rw-r--r--  1 root  wheel   1.3G Dec  7 17:40 stats.log.2018_1207_1535
      -rw-r--r--  1 root  wheel   1.0G Dec  7 17:40 stats.log.2018_1207_1540
      -rw-r--r--  1 root  wheel   1.0G Dec  7 17:40 stats.log.2018_1207_1545
      -rw-r--r--  1 root  wheel   1.0G Dec  7 17:40 stats.log.2018_1207_1550
      -rw-r--r--  1 root  wheel   1.0G Dec  7 17:40 stats.log.2018_1207_1555
      -rw-r--r--  1 root  wheel   802M Dec  7 17:40 stats.log.2018_1207_1600
      -rw-r--r--  1 root  wheel   760M Dec  7 17:40 stats.log.2018_1207_1605
      -rw-r--r--  1 root  wheel   897M Dec  7 17:40 stats.log.2018_1207_1610
      -rw-r--r--  1 root  wheel   774M Dec  7 17:40 stats.log.2018_1207_1615
      -rw-r--r--  1 root  wheel   545M Dec  7 17:40 stats.log.2018_1207_1620
      -rw-r--r--  1 root  wheel   522M Dec  7 17:40 stats.log.2018_1207_1625
      -rw-r--r--  1 root  wheel   639M Dec  7 17:40 stats.log.2018_1207_1630
      -rw-r--r--  1 root  wheel   423M Dec  7 17:40 stats.log.2018_1207_1635
      -rw-r--r--  1 root  wheel   558M Dec  7 17:40 stats.log.2018_1207_1640
      -rw-r--r--  1 root  wheel   369M Dec  7 17:40 stats.log.2018_1207_1645
      -rw-r--r--  1 root  wheel   317M Dec  7 17:40 stats.log.2018_1207_1650
      -rw-r--r--  1 root  wheel   266M Dec  7 17:40 stats.log.2018_1207_1655
      -rw-r--r--  1 root  wheel   217M Dec  7 17:40 stats.log.2018_1207_1700
      -rw-r--r--  1 root  wheel   187M Dec  7 17:40 stats.log.2018_1207_1705
      -rw-r--r--  1 root  wheel   146M Dec  7 17:40 stats.log.2018_1207_1710
      -rw-r--r--  1 root  wheel   112M Dec  7 17:41 stats.log.2018_1207_1715
      -rw-r--r--  1 root  wheel    78M Dec  7 17:41 stats.log.2018_1207_1720
      -rw-r--r--  1 root  wheel    65M Dec  7 17:41 stats.log.2018_1207_1725
      -rw-r--r--  1 root  wheel    40M Dec  7 17:41 stats.log.2018_1207_1730
      -rw-r--r--  1 root  wheel    18M Dec  7 17:41 stats.log.2018_1207_1735
      -rw-r--r--  1 root  wheel   1.0M Dec  7 17:41 stats.log.2018_1207_1740
      -rw-r--r--  1 root  wheel   4.8M Dec  7 17:04 suricata.log
      

      Log files are configured with limits:
      0_1544222798588_940b89b0-32f1-4def-ac6e-7af7b132ec99-image.png

      What should I check? Why are they getting out of control? Thanks!

      1 Reply Last reply Reply Quote 0
      • bmeeksB
        bmeeks
        last edited by bmeeks

        What version of the package are you running? I think I fixed problems with log size maintenance in the 4.0.13_8 or 4.0.13_9 version. The current version is 4.0.13_11.

        That screen shot does not look like a current version of pfSense. If you are not on a current pfSense version (as in 2.4.x), then you won't be able to update the Suricata package due to PHP version dependencies.

        Are you running some custom skin on a current pfSense version that makes it appear like the older pre-Bootstrap GUI?

        S 1 Reply Last reply Reply Quote 0
        • S
          Stewart @bmeeks
          last edited by Stewart

          @bmeeks
          Custom skin.

          pfSense Version 2.4.4
          Package Version 4.0.13_8

          Looks like I should update. It's only been in less than 3 months. Didn't think it would need an update to fix something but I'll give it a go.

          0_1544454949972_699eaeb4-cc38-4630-af09-8fbdc6157272-image.png

          0_1544455140174_dc192c5a-7483-4cf0-85ac-c52a6ce4bfcf-image.png

          I completely wiped and reset them but they are growing again:
          0_1544455064055_1d711f3c-27a3-4345-9b76-3f1ad72d9ef1-image.png

          1 Reply Last reply Reply Quote 0
          • bmeeksB
            bmeeks
            last edited by

            The code fix in the latest posted package version (4.0.13_11) should result in the logs being maintained at the sizes set on the LOG MGMT tab.

            S 1 Reply Last reply Reply Quote 0
            • S
              Stewart @bmeeks
              last edited by

              @bmeeks

              I've updated it at about 10:37am and the log files have changed but I don't think it helped.

              0_1544457239712_a9fda6c0-372f-46e8-af78-162fa2586fe6-image.png

              0_1544457000293_1b1c2a6a-9d3e-4496-b19a-b126eadb8acc-image.png

              and a few minutes later

              0_1544457270040_75af8137-a253-4c53-a323-7ca0e8ea5ce6-image.png

              bmeeksB 1 Reply Last reply Reply Quote 0
              • S
                SteveITS Galactic Empire
                last edited by

                See older thread https://forum.netgate.com/topic/130980/suricata-not-limiting-log-sizes-by-default ...from my understanding back then, even though log rotation is showing as on by default, one has to save the log rotation page for it to take effect. So that should be a quick fix in lieu of upgrading the package.

                Pre-2.7.2/23.09: Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
                When upgrading, allow 10-15 minutes to restart, or more depending on packages and device speed.
                Upvote 👍 helpful posts!

                1 Reply Last reply Reply Quote 0
                • bmeeksB
                  bmeeks @Stewart
                  last edited by

                  @stewart said in Huge Suricata Stats Logs:

                  @bmeeks

                  I've updated it at about 10:37am and the log files have changed but I don't think it helped.

                  0_1544457239712_a9fda6c0-372f-46e8-af78-162fa2586fe6-image.png

                  0_1544457000293_1b1c2a6a-9d3e-4496-b19a-b126eadb8acc-image.png

                  and a few minutes later

                  0_1544457270040_75af8137-a253-4c53-a323-7ca0e8ea5ce6-image.png

                  The cron task executes on an interval of, I believe, 5 minutes. I would have to dig back through the code to be sure, but at any rate the file monitoring is a snapshot in time (in this case, every 5 minutes). So the file sizes can grow beyond the set limits by a little bit depending on how rapidly data is added to them. I would not expect them to grow as big as yours, though. The stats are collected and logged every 8 seconds according to the Suricata docs. I really do not understand why your files are so huge so quickly. What is in those files? It should just be some lines of texts showing packet stats (number passed, number dropped, etc.).

                  S 1 Reply Last reply Reply Quote 0
                  • bmeeksB
                    bmeeks
                    last edited by bmeeks

                    I just found some information via a Google search that indicates the Suricata processes will need to be sent a SIGHUP signal when the log files are rotated. That is not currently being done in the GUI package's logrotate code. I will submit a fix soon to take care of this.

                    What's happening in your case is the Suricata process is continuing to write to the rotated file via the previously opened file handle. Look at the file write timestamps in your posted images to see what I mean.

                    I've created a Redmine bug report (#9188) to track this issue.

                    1 Reply Last reply Reply Quote 0
                    • S
                      Stewart @bmeeks
                      last edited by Stewart

                      @bmeeks That's what I would expect, but instead I get:
                      0_1544475947898_1fb0ddeb-ba4b-45bc-a4a6-138b6986abfc-image.png

                      I can't tail or head it. It just sits there. So I copied off the log file and nano'ed it.

                      I just checked and it is better. Color me confused...
                      0_1544476186310_a0c2ae3f-1a65-4e16-88bd-35115bb6d534-image.png

                      bmeeksB 1 Reply Last reply Reply Quote 0
                      • bmeeksB
                        bmeeks @Stewart
                        last edited by bmeeks

                        @stewart said in Huge Suricata Stats Logs:

                        @bmeeks That's what I would expect, but instead I get:
                        0_1544475947898_1fb0ddeb-ba4b-45bc-a4a6-138b6986abfc-image.png

                        I can't tail or head it. It just sits there. So I copied off the log file and nano'ed it.

                        I just checked and it is better. Color me confused...
                        0_1544476186310_a0c2ae3f-1a65-4e16-88bd-35115bb6d534-image.png

                        I have a fixed file ready if you are willing to test it for me. If you are, send me a PM (chat message).

                        You might also consider increasing the stats collection interval for your setup. That's on the INTERFACE SETTINGS tab where you enable stats log generation. The default interval is 10 seconds. You could try increasing that to 60 seconds (or even a little more) to see if that helps control the rapid growth of the stats.log file.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Stewart @bmeeks
                          last edited by

                          @bmeeks I've been out the last couple of days. Here is what it shows today:

                          0_1544737887506_6c01b358-23e2-4ade-9608-b2076bc64ec7-image.png

                          Numbers are looking low, which is nice. I don't really need the stats, just good to have a little back history for what's going on. Stats at 99M is fine but isn't the 500k. Neither really bother me. No idea how to go back and look at them, though, if it's not human readable.

                          I'll shoot you a PM if you still want me to test anything. Let me know.

                          bmeeksB 1 Reply Last reply Reply Quote 0
                          • bmeeksB
                            bmeeks @Stewart
                            last edited by bmeeks

                            @stewart said in Huge Suricata Stats Logs:

                            @bmeeks I've been out the last couple of days. Here is what it shows today:

                            0_1544737887506_6c01b358-23e2-4ade-9608-b2076bc64ec7-image.png

                            Numbers are looking low, which is nice. I don't really need the stats, just good to have a little back history for what's going on. Stats at 99M is fine but isn't the 500k. Neither really bother me. No idea how to go back and look at them, though, if it's not human readable.

                            I'll shoot you a PM if you still want me to test anything. Let me know.

                            It might take issuing the SIGHUP to stop the stats.log from getting too far past the limit. 99 MB is way past 0.5 MB. The only thing I can imagine is the log is not actually getting rotated until the next rules update. Suricata is restarted each time the rules update, and that would release the old log and start a new one. The SIGHUP I am putting in the next update will do the same thing, but at log rotation time.

                            Edit: correct typo

                            1 Reply Last reply Reply Quote 0
                            • S
                              SteveITS Galactic Empire
                              last edited by

                              @Stewart are there entries in the system log every five minutes indicating Suricata is trying to rotate the logs? I ran into something this week where that was happening. I was trying to troubleshoot something else at the time, and knew I was going to upgrade to 2.4.4(_1), so didn't really look into it (sorry). I checked the box at the top of the Suricata log settings page to delete the logs when the package was deleted, and uninstalled. This was on a SG-3100. I'm wondering now if that is what you are seeing. My vague recollection is the filenames shown were like every week or whatever, implying something wasn't working with the rotation (i.e. it was not actually rotating them every 5 minutes), but like I said I didn't look into it.

                              Pre-2.7.2/23.09: Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
                              When upgrading, allow 10-15 minutes to restart, or more depending on packages and device speed.
                              Upvote 👍 helpful posts!

                              bmeeksB 1 Reply Last reply Reply Quote 0
                              • bmeeksB
                                bmeeks @SteveITS
                                last edited by

                                @teamits said in Huge Suricata Stats Logs:

                                @Stewart are there entries in the system log every five minutes indicating Suricata is trying to rotate the logs? I ran into something this week where that was happening. I was trying to troubleshoot something else at the time, and knew I was going to upgrade to 2.4.4(_1), so didn't really look into it (sorry). I checked the box at the top of the Suricata log settings page to delete the logs when the package was deleted, and uninstalled. This was on a SG-3100. I'm wondering now if that is what you are seeing. My vague recollection is the filenames shown were like every week or whatever, implying something wasn't working with the rotation (i.e. it was not actually rotating them every 5 minutes), but like I said I didn't look into it.

                                This is what I suspect. The PHP code in the package is rotating out the logs, but it can't really do anything with the open file handles. My suspicion is the Suricata binary is continuing to write to the old file handle and thus the log grows. The next time Suricata is stopped and restarted, things get fixed as Suricata opens a new file handle. Suricata is restarted at the end of each rules update cycle. You set that interval on the GLOBAL SETTINGS tab.

                                I have the new code for sending the SIGHUP signal to running Suricata processes after the log rotation. That should fix this problem. However, I just started working on updating Suricata to the new 4.1.0 binary. So I will hold off and put this log rotation fix into the 4.1.0 update. If that update runs into some major issue that will hold it up, then I will port the fix into the current Suricata version.

                                S S 2 Replies Last reply Reply Quote 0
                                • S
                                  SteveITS Galactic Empire @bmeeks
                                  last edited by

                                  @bmeeks said in Huge Suricata Stats Logs:

                                  Suricata is restarted at the end of each rules update cycle. You set that interval on the GLOBAL SETTINGS tab.

                                  Hmm, maybe that's the part that wasn't working right. I'm sure I would have set it to a daily update. Unfortunately I had to reload this router from USB stick...it seems the update half installed or something and it lost connectivity. I'm pretty sure that reformats, so no logs to view now.

                                  Pre-2.7.2/23.09: Only install packages for your version, or risk breaking it. Select your branch in System/Update/Update Settings.
                                  When upgrading, allow 10-15 minutes to restart, or more depending on packages and device speed.
                                  Upvote 👍 helpful posts!

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    Stewart @bmeeks
                                    last edited by

                                    @bmeeks Then I'll just wait. We just started rolling out the 2.4.4 updates to our managed routers when 2.4.4_1 came out. We're holding off on upgrading to it until we finish testing in our office (after the first of the year). Maybe by that time you'll have the 4.1.0 update out and we can just roll with that. Thanks!

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