Widening the net a bit but since you added network-connected monitoring, check out sensu. It's backward-compatible with nagios plugins and handles cloud systems very well (no need to restart the server every time a host is being added/removed). It's also capable of extracting system metrics and forward them to graphite/... . Really great tool. And just for metrics, collectd is great too.
Follow-up on "Linux server monitoring tools"
11–20 of 23 posts
Re: Follow-up on "Linux server monitoring tools"
#12Can Linux-Dash provide with a history of CPU load , memory etc or does it only provide the current stats ?
Re: Follow-up on "Linux server monitoring tools"
#13Widening the net a bit but since you added network-connected monitoring, check out sensu. It's backward-compatible with nagios plugins and handles cloud systems very well (no need to restart the server every time a host is being added/removed). It's also capable of extracting system metrics and forward them to graphite/... . Really great tool. And just for metrics, collectd is great too.
Worst website design EVER for any monitoring system in existence.
Re: Follow-up on "Linux server monitoring tools"
#14Earlier quoted context omitted.
I also believe that exec() is not dangerous if you use it right, and if your www-data/apache-user do not got any sudo rights to risk someone to take advantage of your machine. This have been proved from various sources, if i know right. I understand it can be a security hole if you let the user write anything, but this is eg. not the case with Linux-dash.
local shell is as good as root as far as I'm concerned. especially if that machine is single purpose, which most of mine are.
Re: Follow-up on "Linux server monitoring tools"
#15Re: Follow-up on "Linux server monitoring tools"
#16I use https://github.com/bpowers/psm every day at this point. Simple, fast and filterable memory reporting. disclaimer: I also wrote it.
Re: Follow-up on "Linux server monitoring tools"
#17From the description of linux-dash: > It is easily extensible from its architecture which just calls the php exec() function and sends it to an ajax request. I presume the network police have already revoked somebody's license to run a server, yeah?
I also believe that exec() is not dangerous if you use it right, and if your www-data/apache-user do not got any sudo rights to risk someone to take advantage of your machine. This have been proved from various sources, if i know right. I understand it can be a security hole if you let the user write anything, but this is eg. not the case with Linux-dash.
Just about anything can be "safe" if "used right" - that's a caveat big enough to land a 747 in, one only need define all unsafe uses as incorrect for it to become a truism that tells us nothing. And that's a pretty defensible definition for anything web facing!
Statistics will eventually catch up to us, and we will eventually find new and novel ways to use things wrong despite all attempts not to. Ergo: exec is dangerous. With care, you may safely navigate the danger.
For my own curiosity, I looked at some of the source. I'd fear parsing all those $ and {}s in strings to verify they're all awk variables and not PHP variables would quickly desensitize me to actual errors when reviewing or auditing such code. I'm not a PHP dev: Hopefully you have lint tools or somesuch less ignorable than syntax highlighting to catch the stray typo which eludes human review? As others have mentioned, lack of sudo is far from sufficient protection.
Re: Follow-up on "Linux server monitoring tools"
#18There is always AWS, but for my side projects, I prefer cheaper VPS.
Re: Follow-up on "Linux server monitoring tools"
#19I wonder, isn't there some sort of API to access in Unix-based systems data like CPU usage, memory usage, etc in a more natural way?
Re: Follow-up on "Linux server monitoring tools"
#20I'm writing a ruby script to gather statistics from a Raspberry Pi. All the projects I've seen so far rely on Perl/Python/PHP scripts which are executing shell commands to extract informations every X minutes. I wonder, isn't there some sort of API to access in Unix-based systems data like CPU usage, memory usage, etc in a more natural way?
Go run strace on ps or top and see what they call.
I'll save you some time: it turns out to be stat() and open() on things in /proc.