disk and NIC io statistics via sysctl
Allan Jude
allanjude at freebsd.org
Fri Aug 8 17:04:51 UTC 2014
On 2014-08-08 12:29, Ian Lepore wrote:
> On Fri, 2014-08-08 at 18:40 +0300, Stefan Parvu wrote:
>> Hi,
>>
>> Fetching CPU and Memory statistics, using sysctl interface and perl seems nice and easy.
>> I made great progress with sysrec a generic recorder reporting: cpu mem disk and nic
>> stats on FreeBSD. Now Im getting into disk and nic sections:
>>
>> 1. Disk
>> Im able to get a list of all disks on a system using kern.disks sysctl variable.
>> I want to be able to report per disk something like:
>>
>> readreq rate read requests per second, rate
>> writereq rate write requests per second, rate
>> totreq rate total read + write requests per second, rate
>> readbyt rate read bytes per second, in KB, rate
>> writebyt rate write bytes per second, in KB, rate
>> totbyt rate total read + write bytes per second, in KB, rate
>>
>> iostat seems the simplest way to fetch these, but how about sysctl interface ?
>> I could not figure out any sysctl parameters for disk throughput. How one will
>> fetch throughput per disk via sysctl ?
>>
>>
>> 2. NIC
>> Same will go for network card interfaces. I want to fetch per NIC throughput and
>> errors via sysctl, something like these:
>>
>> 1 timestamp time seconds since Epoch
>> 2 interface number NIC name, string
>> 3 rxKB rate the number of KBytes received per sec
>> 4 rxpcks rate the no. of packets received per sec
>> 5 rxerrs rate the number of errors while received packets per sec
>> 6 rxdrop rate the number of packets that were dropped per sec
>> 7 rxfifo rate the number of FIFO overruns on received packets per sec
>> 8 rxframe rate the number of carrier errors on received packet per sec
>> 9 rxcompr rate the number of compressed packets received per sec
>> 10 rxmulti rate the number of multicast packets received per sec
>> 11 txKB rate the number of KBytes transmitted per sec
>> 12 txpcks rate the number of packets transmitted per sec
>> 13 txerrs rate the number of errors transmitting packets per sec
>> 14 txdrop rate the number of packets that were dropped per sec
>> 15 txfifo rate the number of FIFO overruns on transmitted packets per sec
>> 16 txcolls rate the number of collisions that were detecte per sec
>> 17 txcarr rate the number of carrier errors on transmitted packets per sec
>> 18 txcompr rate the number of compressed packets transmitted per sec
>> 19 ttpcks rate the total number of packets (received + transmitted) per sec
>> 20 ttKB rate the total number of KBytes (received + transmitted) per sec
>>
>>
>> Any ideas ?
>>
>> Many thanks,
>>
>
> All of this series of questions you've been asking really have the same
> answer: look at the source code for the very apps you cite as examples
> of outputting the info you want, and do what they do. There are no
> magic secret kernel backdoor interfaces, all these userland tools are
> using documented interfaces such as sysctl to get their info. (There
> may be a few miscreants that open /dev/kmem and rudely poke around in
> kernel memory, but I'm not sure we have any of them in base. The lsof
> tool in ports is one that comes to mind for that.)
>
> In addition to the tools you've already mentioned that have the info you
> want, have a look at gstat for IO stats, netstat for net throughput, and
> systat for lots of stuff.
>
> -- Ian
>
>
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>
I often use net/nload from ports to monitor interfaces, it may be
helpful as well.
--
Allan Jude
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 899 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20140808/411ae735/attachment.sig>
More information about the freebsd-hackers
mailing list