Which tool provides per-process (or per-cgroup) resource (RAM/CPU/Disk) monitoring?

Solution 1:

The solution today is the wonderful Netdata monitoring tool.

This has per-process/group/user monitoring and is absolutely cgroup and container-aware.

enter image description here

Solution 2:

As far as i know, there isnt any enterprise class monitoring system which give cpu usage/Ram usage based on Per process(or PID). All these monitoring systems do is that they monitor a specific SERVICE (regardless of how many processes or threads it has made).

For your Easy, you can use MUNIN at the beginning, which provides graphing of all the resources you need, and it gives resource monitoring based on specific service (e,g, Disk I/O, Apache, mysql, system uptime etc)

After that, you can try using OpenNMS, which provides a very wife range of performance metrics monitoring (as well as very detailed Graphing and reporting) for wide range of services.