From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: [PATCH] crontab: add periodic cleanup the collectd RRD (graphs) Date: Thu, 25 Aug 2022 17:32:56 +0100 Message-ID: <9E423235-E038-4515-9A48-EEE696744DF9@ipfire.org> In-Reply-To: <29B9BB98-2629-4A85-B8FA-BB65BA6D0642@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1948240841197451822==" List-Id: --===============1948240841197451822== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello, > On 25 Aug 2022, at 17:17, Jon Murphy wrote: >=20 > Michael, >=20 >=20 >> On Aug 25, 2022, at 10:44 AM, Michael Tremer = wrote: >>=20 >> Hello Jon, >>=20 >>> On 25 Aug 2022, at 15:40, Jon Murphy wrote: >>>=20 >>> Hey Michael, >>>=20 >>> Over the years I=E2=80=99ve used four different IPFire boxes. And during= a "late-summer cleaning" I found lots of old RRD files. I ran this command:= =20 >>> `find /var/log/rrd -mtime +365 -type f -name '*.rrd' -ls` >>=20 >> Was this just because you had a look around in the file system, or did you= suffer from low disk space? >=20 > Just looking=E2=80=A6 :) >=20 >>=20 >>> And among those were lots of old unused openvpn graphs. I think I had 8-= 10 old openvpn graphs that were more than 1 year old. >>>=20 >>> I had started to write a wiki page for users about finding and deleting o= ld `/var/log/rrd/collectd/localhost/openvpn-*` RRDs. And then the wiki grew = to ALL old graphs. =20 >>>=20 >>> Below is a snipped version of my original `find`. I think there were ~4= 0 total old obsolete RRD files. >>>=20 >>> ``` >>> [root(a)ipfire ~] # find /var/log/rrd -mtime +365 -type f -name '*.rrd' -= ls >>> 1838 304 -rw-r--r-- 1 root root 307712 Nov 17 2019 /v= ar/log/rrd/collectd/localhost/interface/if_octets-dummy0.rrd >>> 1794 152 -rw-r--r-- 1 root root 154888 Jul 18 2021 /v= ar/log/rrd/collectd/localhost/sensors-soc_dts0-virtual-0/temperature-temp1.rrd >>> 1821 152 -rw-r--r-- 1 root root 154888 Jul 18 2021 /v= ar/log/rrd/collectd/localhost/sensors-it8721-isa-0a30/temperature-temp2.rrd >>> . . . >>> 1831 152 -rw-r--r-- 1 root root 154888 Jul 18 2021 /v= ar/log/rrd/collectd/localhost/sensors-it8721-isa-0a30/fanspeed-fan3.rrd >>> 1888 152 -rw-r--r-- 1 root root 154888 Jul 18 2021 /v= ar/log/rrd/collectd/localhost/sensors-soc_dts1-virtual-0/temperature-temp1.rrd >>> 1785 152 -rw-r--r-- 1 root root 154888 Aug 12 2017 /v= ar/log/rrd/collectd/localhost/sensors-smsc47b397-isa-0480/temperature-temp2.r= rd >>> . . . >>> 1791 152 -rw-r--r-- 1 root root 154888 Aug 12 2017 /v= ar/log/rrd/collectd/localhost/sensors-smsc47b397-isa-0480/fanspeed-fan3.rrd >>> 1880 152 -rw-r--r-- 1 root root 154888 Jul 18 2021 /v= ar/log/rrd/collectd/localhost/thermal-thermal_zone1/temperature-temperature.r= rd >>> 1875 152 -rw-r--r-- 1 root root 154888 Jul 18 2021 /v= ar/log/rrd/collectd/localhost/sensors-coretemp-isa-0000/temperature-temp4.rrd >>> 1874 152 -rw-r--r-- 1 root root 154888 Jul 18 2021 /v= ar/log/rrd/collectd/localhost/sensors-coretemp-isa-0000/temperature-temp5.rrd >>> 1781 152 -rw-r--r-- 1 root root 154888 Jan 13 2020 /v= ar/log/rrd/collectd/localhost/thermal-thermal_zone2/temperature-temperature.r= rd >>> 1937 56 -rw-r--r-- 1 nobody nobody 56800 Jul 18 2021 /v= ar/log/rrd/iptraffic/192.168.60.105.rrd >>> 1938 56 -rw-r--r-- 1 nobody nobody 56800 Jul 18 2021 /v= ar/log/rrd/iptraffic/192.168.60.147.rrd >>> 1935 56 -rw-r--r-- 1 nobody nobody 56800 Jul 18 2021 /v= ar/log/rrd/iptraffic/192.168.60.194.rrd >>> [root(a)ipfire ~] #=20 >>> ``` >>>=20 >>> As you can see some of the files were left over from 2017 and they did no= t get cleaned out during hardware changes. I obviously did not follow the mi= grations wiki! >>=20 >> Well, I suppose if it doesn=E2=80=99t happen automatically, we cannot rely= on this :) I never follow this either. >>=20 >>> The wiki page was to be instructions for users to `find` the files and th= en to delete the files via the command line. While is was writing the wiki I= remembered a Dev Mailing list message about sending users to the shell parti= ally defeats the purpose of IPFire (bad paraphrase!). So instead of writing = a wiki I wrote it a weekly fcronjob to the help everyone. >>=20 >>> More than you ever wanted to know! Hope this helps! >>=20 >> Yes it does, but in the end my concern remains: >>=20 >> Is it not possible that an OpenVPN connection is only being used once a ye= ar or something like that? Would we then not wipe any data? Wouldn=E2=80=99t = those databases come back again? >=20 > I will test by wiping the current data and then connecting via OpenVPN to s= ee if the databases and graphs recover. I am quite confident that should work just fine. >>=20 >> I suppose a database that has not been touched in over a year would not be= carrying any information because that would have been rotated out of it (bec= ause that is how RRD databases work). So maybe that can go. But I would argue= only then. So we would have to check what the longest time is those database= s retain any information. >>=20 >=20 > Who is the RRD guru for IPFire? =20 >=20 > I think there is an RRD dump command. I will research. rrdtool dump /var/log/rrd/collectd/localhost/entropy/entropy.rrd That will show you a looooong list with all the data points. >> Personally, I would redesign this whole thing a little. I would make them = store a lot more data and I would even look for more metrics to collect. So, = the extra space for a RRD database wouldn=E2=80=99t really bother me, even if= the whole directory is going to use up gigabytes. If that is a problem for o= ther users, I would like to know. >=20 > OK on my side! I am at 48% (Use%) for a 16 GB drive. Yes, 16GB is perfectly fine. > I=E2=80=99d like to see a periodic bandwidth test (speedtest). Once in awh= ile I drop to near 0 Mbps bandwidth. Then it is time to restart the cable ga= teway and maybe the local network. Yeah, that would be really nice to have :) I am just not sure how much traffi= c all IPFire devices like that would create. Best, -Michael >=20 >=20 > Jon >=20 >>=20 >> Best, >> -Michael >>=20 >>> Jon >>>=20 >>>=20 >>>> On Aug 25, 2022, at 5:48 AM, Michael Tremer wrote: >>>>=20 >>>> Hello Jon, >>>>=20 >>>> Thanks for the patch. >>>>=20 >>>> Sorry if this sounds like a stupid question, but what is the rationale f= or this? >>>>=20 >>>> -Michael >>>>=20 >>>>> On 25 Aug 2022, at 01:31, Jon Murphy wrote: >>>>>=20 >>>>> - Created (mostly) for old openvpn graphs >>>>> - RRD removed when no graph modification for +365 days >>>>> - chosen since graph max out is 365 days >>>>> - fcron job runs once per week >>>>> - chosen since this is just a cleanup and it doesnt need to run everyday >>>>> Note: logging can be added if needed. >>>>>=20 >>>>> Signed-off-by: Jon Murphy >>>>> --- >>>>> config/cron/crontab | 3 +++ >>>>> 1 file changed, 3 insertions(+) >>>>>=20 >>>>> diff --git a/config/cron/crontab b/config/cron/crontab >>>>> index b727531fc..7088e0b75 100644 >>>>> --- a/config/cron/crontab >>>>> +++ b/config/cron/crontab >>>>> @@ -80,5 +80,8 @@ HOME=3D/ >>>>> # Cleanup the mail spool directory >>>>> %weekly * * /usr/sbin/dma-cleanup-spool >>>>>=20 >>>>> +# Cleanup the collectd RRD (graphs) >>>>> +%weekly * * /bin/find /var/log/rrd -mtime +365 -type f -name '*.rrd' -= delete -o -type d -empty -delete >>>>> + >>>>> # Update DNS trust anchor >>>>> %daily,random * * @runas(nobody) /usr/sbin/unbound-anchor -a /var/lib/u= nbound/root.key -c /etc/unbound/icannbundle.pem >>>>> --=20 >>>>> 2.30.2 --===============1948240841197451822==--