| Newsgroups |
gmane.comp.monitoring.monit.general |
| Message-ID |
<[email protected]> |
Hi,
The functionality has been implemented and will be part of the next =
Monit release. A big thank you to Lutz for the initial patch.
Cheers,
Martin
> On 25. 6. 2025, at 21:08, Lutz Mader <[email protected]> wrote:
>=20
> Hello Jamie,
> I create a issue to request this feature, see
> =
https://bitbucket.org/tildeslash/monit/issues/1132/additional-swap-monitor=
ing
>=20
> Nice to know, the changes fit to your requirements,
> Lutz
>=20
>=20
> Am 24.06.25 um 11:31 schrieb Jamie Burchell via This is the general
> mailing list for monit:
>> Hello Lutz
>>=20
>> I just wanted to feedback that I have been sucessfully runnning your =
test
>> build with the enchanged swap file monitoring and it's working really =
well.
>>=20
>> It would be great to get this in a new release.
>>=20
>> Thanks
>> Jamie
>>=20
>>=20
>>=20
>> Hello Jamie,
>> no, something like this should match, if the si is above 100 for one =
cycle.
>>=20
>> if pagein > 100 pages then alert
>> if pagein > 100 pages for 4 cycles then alert
>>=20
>> Or continuously above 100 in each cycle for 4 cycles.
>>=20
>> Based on your data you will get a match based on this test rule.
>>=20
>> if pagein > 15 pages 4 times within 6 cycles then alert
>>=20
>> See
>> https://mmonit.com/monit/documentation/monit.html#FAULT-TOLERANCE
>>=20
>> To increase the time from 30s to 120s the check should be done every =
4
>> cycles only.
>>=20
>> check system $HOST
>> every 4 cycles
>> if pagein > 100 pages then alert
>>=20
>> Lutz
>>=20
>> p.s.
>> Nice to know.
>>=20
>>> Not sure why the EPEL version doesn't need it, but I have it
>>> working now.
>>=20
>> The LIBNSL is no available in Redhat/REL 9 environments too.
>> But in general Monit for Linux is build with LIBNSL, I think.
>>=20
>> The pagein/pageout test seems to be useful.
>> But the pagefault/pagehit/pagepurge test is not useful and not =
available
>> in all environments.
>>=20
>>=20
>> Am 07.05.25 um 15:38 schrieb Jamie Burchell via This is the general
>> mailing list for monit:
>>> Hi Lutz
>>>=20
>>> If I set monit to alert if pagein > 100 pages for 4 cycles, does =
this
>>> mean:
>>>=20
>>> 1. Alert if threshold of 100 is reached 4 times or more at each 30 =
second
>>> interval check
>>> 2. Alert if there have been > 100 over in a 120 second period?
>>>=20
>>> With the config above, this system status triggered it, so I'm =
assuming
>>> option 2.
>>>=20
>>> $ vmstat 30
>>>=20
>>> procs -----------memory---------- ---swap-- -----io---- -system-- =
------cpu-----
>>> r b swpd free buff cache si so bi bo in cs us =
sy id
>>> wa st
>>> 1 0 836140 2360564 0 2250752 0 0 20 6 1 3 =
3 2
>>> 94
>>> 0 0
>>> 0 0 836140 2339544 0 2254452 20 0 141 22 1325 1915 =
5 2
>>> 93
>>> 0 0
>>> 0 0 836140 2352480 0 2254520 12 0 12 26 763 936 =
2 2
>>> 96
>>> 0 0
>>> 0 0 835884 2348424 0 2254584 18 0 18 12 963 1234 =
2 2
>>> 96
>>> 0 0
>>> 0 0 835628 2344712 0 2254652 9 0 9 24 1419 1925 =
4 4
>>> 92
>>> 0 0
>>> 0 0 834092 2307980 0 2256760 68 0 135 18 1625 2140 =
5 4
>>> 91
>>> 0 0
>>> 0 0 833580 2273028 0 2258300 25 0 57 34 1219 1640 =
4 3
>>> 93
>>> 0 0
>>>=20
>>> Thanks
>>> Jamie
>>>=20
>>> -----Original Message-----
>>> From: [email protected]
>>> <[email protected]> On Behalf Of Lutz =
Mader
>>> Sent: 02 May 2025 16:45
>>> To: This is the general mailing list for monit =
<[email protected]>
>>> Subject: Re: More intelligent swap monitoring?
>>>=20
>>> Hello Jamie,
>>> this is a simple tgz Package, feel free to unpack the package and =
copy
>>> the bin/monit file to a proper place. But keep in mind, this is a =
test
>>> package only, based on Monit 5.35.0 for Linux x86_64.
>>>=20
>>>> That's brilliant - thank you very much.
>>>=20
>>> The official fix will became available with 5.36.0, maybe.
>>>=20
>>> The data should be similar to the data from "vmstat -s" and "vmstat =
30"
>>> (see your monitrc file, option "set daemon 30").
>>>=20
>>> Keep in mind,
>>> this is for testing/validation purpose only,
>>> Lutz
>>>=20
>>>=20
>>>=20
>>> Am 02.05.25 um 15:14 schrieb Jamie Burchell via This is the general
>>> mailing list for monit:
>>>> Hi Lutz
>>>>=20
>>>> That's brilliant - thank you very much.
>>>>=20
>>>> I'm currently using the version 5.33.0 from EPEL (Rocky Linux 9). =
How
>>>> should
>>>> I replace/install the test package?
>>>>=20
>>>> Thanks in advance
>>>> Jamie
>>>>=20
>>>> -----Original Message-----
>>>> From: [email protected]
>>>> <[email protected]> On Behalf Of Lutz =
Mader
>>>> Sent: 02 May 2025 02:11
>>>> To: This is the general mailing list for monit =
<[email protected]>
>>>> Subject: Re: More intelligent swap monitoring?
>>>>=20
>>>> Sorry Jamie, I'm late.
>>>>=20
>>>> Based on your suggestion I add a new test to "check system".
>>>>=20
>>>> check system $HOST
>>>> # if memory usage > 75% then alert
>>>> # if swap usage > 25% then alert
>>>> if pagein > 10 pages then alert
>>>> if pageout > 20 pages then alert
>>>> if pagefault > 50 pages then alert
>>>>=20
>>>> A test package is available from
>>>> =
https://bitbucket.org/lutzmad/monit/downloads/monit-vmstat-suse12-x64.tar.=
gz
>>>>=20
>>>> Let me know, if this will fix you problem,
>>>> Lutz
>>>>=20
>>>> Appendage:
>>>> ~/bin/monit status slesbuild
>>>> Monit 5.35.0 uptime: 20m
>>>>=20
>>>> System 'slesbuild'
>>>> status OK
>>>> monitoring status Monitored
>>>> monitoring mode active
>>>> on reboot start
>>>> load average [0.00] [0.00] [0.05]
>>>> cpu 0.4%usr 3.3%sys 0.0%nice 2.1%iowait
>>>> 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice
>>>> memory usage 492.2 MB [27.4%]
>>>> swap usage 8.0 MB [0.4%]
>>>> pagein count 0 [58]
>>>> pageout count 0 [2050]
>>>> uptime 5h 0m
>>>> boot time Thu, 01 May 2025 21:02:12
>>>> filedescriptors 3264 [1.8% of 180992 limit]
>>>> data collected Fri, 02 May 2025 02:03:04
>>>>=20
>>>>=20
>>>> Am 17.01.25 um 11:51 schrieb Jamie Burchell via This is the general
>>>> mailing list for monit:
>>>>> Hello
>>>>>=20
>>>>> I have reduced the amount of memory one of the services was =
consuming,
>>>>> which
>>>>> has abated the problem for now. However, there's still some swap =
being
>>>>> used
>>>>> so perhaps in a few days time the problem will come up again.
>>>>>=20
>>>>> Here's the output of /proc/meminfo as requested
>>>>>=20
>>>>> MemTotal: 7868472 kB
>>>>> MemFree: 671568 kB
>>>>> MemAvailable: 3261880 kB
>>>>> Buffers: 0 kB
>>>>> Cached: 893768 kB
>>>>> SwapCached: 47448 kB
>>>>> Active: 2661256 kB
>>>>> Inactive: 1320396 kB
>>>>> Active(anon): 2400964 kB
>>>>> Inactive(anon): 800724 kB
>>>>> Active(file): 260292 kB
>>>>> Inactive(file): 519672 kB
>>>>> Unevictable: 3072 kB
>>>>> Mlocked: 0 kB
>>>>> SwapTotal: 4194300 kB
>>>>> SwapFree: 3923228 kB
>>>>> Zswap: 0 kB
>>>>> Zswapped: 0 kB
>>>>> Dirty: 32 kB
>>>>> Writeback: 0 kB
>>>>> AnonPages: 3003564 kB
>>>>> Mapped: 169140 kB
>>>>> Shmem: 113804 kB
>>>>> KReclaimable: 2124156 kB
>>>>> Slab: 2540272 kB
>>>>> SReclaimable: 2124156 kB
>>>>> SUnreclaim: 416116 kB
>>>>> KernelStack: 13712 kB
>>>>> PageTables: 77444 kB
>>>>> SecPageTables: 0 kB
>>>>> NFS_Unstable: 0 kB
>>>>> Bounce: 0 kB
>>>>> WritebackTmp: 0 kB
>>>>> CommitLimit: 8128536 kB
>>>>> Committed_AS: 12257916 kB
>>>>> VmallocTotal: 34359738367 kB
>>>>> VmallocUsed: 31016 kB
>>>>> VmallocChunk: 0 kB
>>>>> Percpu: 1840 kB
>>>>> HardwareCorrupted: 0 kB
>>>>> AnonHugePages: 1378304 kB
>>>>> ShmemHugePages: 0 kB
>>>>> ShmemPmdMapped: 0 kB
>>>>> FileHugePages: 0 kB
>>>>> FilePmdMapped: 0 kB
>>>>> CmaTotal: 0 kB
>>>>> CmaFree: 0 kB
>>>>> Unaccepted: 0 kB
>>>>> HugePages_Total: 0
>>>>> HugePages_Free: 0
>>>>> HugePages_Rsvd: 0
>>>>> HugePages_Surp: 0
>>>>> Hugepagesize: 2048 kB
>>>>> Hugetlb: 0 kB
>>>>> DirectMap4k: 118624 kB
>>>>> DirectMap2M: 8269824 kB
>>>>>=20
>>>>> Regards
>>>>> Jamie
>>>>>=20
>>>>>=20
>>>>> --
>>>>>=20
>>>>>=20
>>>>> -----Original Message-----
>>>>> From: [email protected]
>>>>> <[email protected]> On Behalf Of =
Lutz
>>>>> Mader
>>>>> Sent: 15 January 2025 20:37
>>>>> To: This is the general mailing list for monit
>>>>> <[email protected]>
>>>>> Subject: Re: More intelligent swap monitoring?
>>>>>=20
>>>>> Hello,
>>>>> I have no useful examples, vmstat swap usage is si=3D0 and so=3D0 =
only.
>>>>> The values calculated based on /proc/meminfo fit, on a Linux =
system.
>>>>>=20
>>>>> And the system status information seems to be useful.
>>>>>=20
>>>>>> Is it possible to configure Monit to alert of actual swapping
>>>>>> out rather than swap file usage, or am I barking up the wrong =
tree?
>>>>>=20
>>>>> You are right, monit does not show the actual swap file IO (page =
in/out
>>>>> data), the data based on the usage.
>>>>>=20
>>>>> monit status LINUX
>>>>> Monit 5.34.0 uptime: 49d 0h 43m
>>>>>=20
>>>>> System 'LINUX'
>>>>> status OK
>>>>> monitoring status Monitored
>>>>> monitoring mode active
>>>>> on reboot start
>>>>> load average [7.30] [8.60] [12.77]
>>>>> cpu 0.8%usr 0.3%sys 14.7%nice 0.0%iowait
>>>>> 0.0%hardirq 0.0%softirq 0.0%steal 0.0%guest 0.0%guestnice
>>>>> memory usage 42.6 GB [11.3%]
>>>>> swap usage 10.4 MB [0.5%]
>>>>> uptime 61d 19h 43m
>>>>> boot time Thu, 14 Nov 2024 14:54:46
>>>>> filedescriptors 16800 [0.2% of 6815744 limit]
>>>>> data collected Wed, 15 Jan 2025 10:37:52
>>>>>=20
>>>>> The vmstat data.
>>>>>=20
>>>>> Swap
>>>>> si: Amount of memory swapped in from disk (/s).
>>>>> so: Amount of memory swapped to disk (/s).
>>>>>=20
>>>>> vmstat
>>>>> procs -----------memory---------- ---swap-- -----io---- -system--
>>>>> ------cpu-----
>>>>> r b swpd free buff cache si so bi bo in cs =
us sy
>>>>> id wa st
>>>>> 7 0 10624 273713168 811688 87684144 0 0 69 40 0 =
0 11
>>>>> 1 88 0 0
>>>>>=20
>>>>> vmstat -s
>>>>> 395130516 K total memory
>>>>> 120558732 K used memory
>>>>> 90364732 K active memory
>>>>> 11131200 K inactive memory
>>>>> 274571784 K free memory
>>>>> 811824 K buffer memory
>>>>> 88984004 K swap cache
>>>>> 2095100 K total swap
>>>>> 10624 K used swap
>>>>> 2084476 K free swap
>>>>> 1313872869 non-nice user cpu ticks
>>>>> 1427185498 nice user cpu ticks
>>>>> 247910673 system cpu ticks
>>>>> 22633904247 idle cpu ticks
>>>>> 6802373 IO-wait cpu ticks
>>>>> 0 IRQ cpu ticks
>>>>> 2608560 softirq cpu ticks
>>>>> 0 stolen cpu ticks
>>>>> 17687866581 pages paged in
>>>>> 10300491953 pages paged out
>>>>> 1345 pages swapped in
>>>>> 6655 pages swapped out
>>>>> 3444460676 interrupts
>>>>> 416044891 CPU context switches
>>>>> 1731592487 boot time
>>>>> 273618695 forks
>>>>>=20
>>>>> The values based on /proc/meminfo.
>>>>>=20
>>>>> cat /proc/meminfo
>>>>> MemTotal: 395130516 kB
>>>>> MemFree: 275604548 kB
>>>>> MemAvailable: 353323016 kB
>>>>> Buffers: 811800 kB
>>>>> Cached: 85849340 kB
>>>>> SwapCached: 892 kB
>>>>> Active: 89256636 kB
>>>>> Inactive: 11124384 kB
>>>>> Active(anon): 18733260 kB
>>>>> Inactive(anon): 3398376 kB
>>>>> Active(file): 70523376 kB
>>>>> Inactive(file): 7726008 kB
>>>>> Unevictable: 975348 kB
>>>>> Mlocked: 975348 kB
>>>>> SwapTotal: 2095100 kB
>>>>> SwapFree: 2084476 kB
>>>>> Dirty: 468 kB
>>>>> Writeback: 0 kB
>>>>> AnonPages: 14695184 kB
>>>>> Mapped: 2965708 kB
>>>>> Shmem: 8423756 kB
>>>>> Slab: 8029800 kB
>>>>> SReclaimable: 2699580 kB
>>>>> SUnreclaim: 5330220 kB
>>>>> KernelStack: 70320 kB
>>>>> PageTables: 421232 kB
>>>>> NFS_Unstable: 0 kB
>>>>> Bounce: 0 kB
>>>>> WritebackTmp: 0 kB
>>>>> CommitLimit: 199660356 kB
>>>>> Committed_AS: 26151808 kB
>>>>> VmallocTotal: 34359738367 kB
>>>>> VmallocUsed: 0 kB
>>>>> VmallocChunk: 0 kB
>>>>> HardwareCorrupted: 0 kB
>>>>> AnonHugePages: 0 kB
>>>>> ShmemHugePages: 0 kB
>>>>> ShmemPmdMapped: 0 kB
>>>>> HugePages_Total: 0
>>>>> HugePages_Free: 0
>>>>> HugePages_Rsvd: 0
>>>>> HugePages_Surp: 0
>>>>> Hugepagesize: 2048 kB
>>>>> DirectMap4k: 37410524 kB
>>>>> DirectMap2M: 286273536 kB
>>>>> DirectMap1G: 80740352 kB
>>>>>=20
>>>>> The values are used to calculate the monit swap data.
>>>>>=20
>>>>> in src/process/sysdep_LINUX.c
>>>>>=20
>>>>> used_system_memory_sysdep(SystemInfo_T *si)
>>>>>=20
>>>>> // Swap
>>>>> if (! (ptr =3D strstr(buf, "SwapTotal:")) || sscanf(ptr + =
10,
>>>>> "%llu", &swap_total) !=3D 1) {
>>>>> Log_error("system statistic error -- cannot get =
swap
>>>>> total amount\n");
>>>>> goto error;
>>>>> }
>>>>> if (! (ptr =3D strstr(buf, "SwapFree:")) || sscanf(ptr + 9,
>>>>> "%llu", &swap_free) !=3D 1) {
>>>>> Log_error("system statistic error -- cannot get =
swap
>>>>> free amount\n");
>>>>> goto error;
>>>>> }
>>>>> si->swap.size =3D swap_total * 1024;
>>>>> si->swap.usage.bytes =3D (swap_total - swap_free) * 1024;
>>>>>=20
>>>>> The question is,
>>>>> how does the /proc/meminfo output data look like on your system.
>>>>>=20
>>>>> Are some examples available, based on vmstat and the /proc/meminfo =
data.
>>>>>=20
>>>>> Lutz
>>>>>=20
>>>>>=20
>>>>> Am 14.01.25 um 12:10 schrieb Jamie Burchell via This is the =
general
>>>>> mailing list for monit:
>>>>>> Hi
>>>>>>=20
>>>>>>=20
>>>>>>=20
>>>>>> I currently use Monit to alert me if swap usage is over > 20%. =
This
>>>>>> works
>>>>>> most of the time, but I have a particularly stubborn VM currently =
which
>>>>>> appears to like to add data to swap and then not touch it. Using =
vmstat
>>>>>> shows there are either no, or maybe the odd non-zero swap in =
operation
>>>>>> and
>>>>>> no swap outs. Is it possible to configure Monit to alert of =
actual
>>>>>> swapping
>>>>>> out rather than swap file usage, or am I barking up the wrong =
tree?
>>>>>>=20
>>>>>>=20
>>>>>>=20
>>>>>> Thanks in advance!
>>>>>>=20
>>>>>> Jamie
>>>>>>=20
>>>>>=20
>>>>>=20
>>>>=20
>>>>=20
>>>=20
>>>=20
>>=20
>>=20
>=20
>=20