[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Disk or I/O latency?
From: |
Martin Pala |
Subject: |
Re: Disk or I/O latency? |
Date: |
Thu, 26 May 2016 15:40:50 +0200 |
You can use the "check program" to integrate that script to Monit. The script
should return error in the case that the I/O limit is exceeded:
https://mmonit.com/monit/documentation/monit.html#PROGRAM-STATUS-TESTING
The next M/Monit release will support custom charts, so it'll be possible to
render charts for I/O. We also plan to add native I/O monitoring to Monit and
related charts to M/Monit, so it'll be easier to use.
Best regards,
Martin
> On 26 May 2016, at 14:31, Pierre-Philipp Braun <address@hidden> wrote:
>
> Many thanks Viktor for your input. I also need IO performance monitoring
> (not esp. lacenty like Bryna, graphs reporting usage would yet be nice) so I
> wrote a little script based on your/Munin's method,
>
> #!/bin/bash
>
> [[ ! -d /sys/block/ ]] && echo /sys/block/ does not exist, exiting && exit 1
> #[[ ! -d /var/cache/monit/ ]] && echo /var/cache/monit/ does not exist,
> exiting && exit 1
> mkdir -p /var/cache/monit/
>
> for disk in `ls -1 /sys/block/ | egrep -v '^fd|^dm-|^sr'`; do
> readio=`cat /sys/block/$disk/stat | awk '{print $1}'`
> writeio=`cat /sys/block/$disk/stat | awk '{print $5}'`
> echo "$readio,$writeio" >> /var/cache/monit/$disk.stat
> unset readio writeio
> done
>
> it produces,
>
> # pwd
> /var/cache/monit
> # ll
> total 16K
> drwxr-xr-x 2 root root 51 May 26 14:21 .
> drwxr-xr-x. 15 root root 4.0K May 26 14:20 ..
> -rw-r--r-- 1 root root 26 May 26 14:21 sda.stat
> -rw-r--r-- 1 root root 18 May 26 14:21 sdb.stat
> -rw-r--r-- 1 root root 12 May 26 14:21 sdc.stat
> # cat *
> 17579,219210
> 2292,480
> 939,3
>
> How to integrate this into Monit? Is CSV a good choice as a format?
>
>
>
> On 18/05/2016 23:05, SZÉPE Viktor wrote:
>> Munin does it by comparing `cat /sys/block/*/stat` e.g `cat
>> /sys/block/sda/stat` with the previous reading. This file contains 11
>> values:
>> https://github.com/munin-monitoring/munin/blob/devel/plugins/node.d.linux/diskstats#L440-L444
>>
>>
>> So previous rd_ios minus current rd_ios gives you and average IO/period.
>> You may "remember" these by storing them in a file, for example in
>> /var/cache/monit/sda.stat
>>
>>
>>
>> Idézem/Quoting Graham Smith <address@hidden>:
>>
>>> I don't think there is anything built in for that. You may not need a
>>> script per se, an application may have an exit status you could use to
>>> denote a fail or success of performance quality. Possibly iostat or
>>> iometer
>>> perhaps.
>>> If it's not a simple numeric output, a wrapper script might not need
>>> to be
>>> long and that could output a simple exit status to denote a success
>>> quality
>>> which monit can handle easier.
>>>
>>> I always think it's best to keep complexity out of monit and if you
>>> need to
>>> do something fancy a script for anything odd is ultimately more
>>> modular as
>>> you may find other uses for it.
>>>
>>> Graham
>>> On 18 May 2016 19:04, "Bryan Harris" <address@hidden> wrote:
>>>
>>>> Hello all,
>>>>
>>>> Does Monit have a way to measure i/o latency and alert if say a 4k write
>>>> takes longer than some number of ms? I searched the mailing list and
>>>> manual and do not see anything. Otherwise I can always monitor a custom
>>>> script for this purpose.
>>>>
>>>> Thanks in advance.
>>>>
>>>> V/r,
>>>> Bryan
>>>>
>>>> --
>>>> To unsubscribe:
>>>> https://lists.nongnu.org/mailman/listinfo/monit-general
>>>>
>>
>>
>>
>> SZÉPE Viktor
>
> --
> To unsubscribe:
> https://lists.nongnu.org/mailman/listinfo/monit-general