[CentOS] Collecting data

Fri Dec 24 19:26:56 UTC 2010
John R Pierce <pierce at hogranch.com>

On 12/24/10 7:01 AM, derleader __ wrote:
>  Hi,
>      I'm developing C plugin for Centos which will be installed as 
> kernel module. The problem is how to collect the data about:
>
>    *
>
>       CPU Check – Utilization, Model, Number of Cores
>
>    *
>
>       RAM Check – Total Memory, Free Memory, Memory Load
>
>    *
>
>       HDD Check – Number of physical HDDs, Number of logical
>       partitions, Total space, Free space
>
>    *
>
>       Running processes – Total number of processes
>
>    *
>
>       Logs – system logs such as error logs
>
>    *
>
>       System uptime
>
>    *
>
>       Users logged in and last login – total list of users
>
>    *
>
>       Total network connections
>
>    *
>
>       Check hardware parts model and number
>
>

none of that stuff should be in a kernel module. a  simple daemon is far 
more appropriate.

you can get the CPU info out of /proc/cpuinfo
you can get the ram info out of /proc/meminfo
you can get the HDD info from /bin/df
you can get the process info from /bin/ps
the logs are all in regular files as /var/log/***
the user login info can be found by parsing /var/log/wtmp
the network connections via /bin/netstat -an
the hardware info from lspci or lshw

thats a lot of redundant and voluminuous information to be fetching 
every 5 minutes,