amuck-landowner

Simple server monitoring - Feedback appreciated (Public beta)

NQ-Joe

New Member
Howdy, I am a long time lurker since the beginning of LEB/LET (respectively VPSBoard) and finally signed up to take part in the community. My first post however has some ulterior motives and I am thankful MannDude and MartinD allowed me to post this right off the start.

 

Over the last few months I was monitoring my servers with a rather simple bash script and decided in the beginning of December to create a little project out of it. Now I know many of you are not really fond of hosted software (SaaS in fancy terms), nevertheless would I really appreciate it if you could give it a try or at least share your opinion. I myself consider the monitored data as much less sensitive and unidentifiable compared to other services out there. If you however have suggestions on how to generate more trust and security, please do tell.

 

The service hopes to aim at people who operate small groups of servers (i.e. freelancing designers/developers like me) for whom something like Nagios is just overkill. If you are interested just give it a try - I would really appreciate it.

 

Site: https://nodequery.com

Github: https://github.com/nodequery/nq-agent

Twitter: https://twitter.com/nodequery

 

Thanks for reading, looking forward to your feedback :)
 

telephone

New Member
A few things on your installer/agent:

  • Why am I giving you root access for simple metrics?
  • Why are you using 'root' instead of creating a 'nodequery' user? (with locked down privileges)
  • Add active network connections (through netstat)
    1. ​​Segregate connections per Port
    2. Include active SSH connections
A couple things on your website:

  • Your website itself isn't mobile friendly
  • If the Agent is outdated do you alert the user via the CP?
    1. ​​Having users manually update the agent may be tedious for 20+ servers
    2. User should be able to update the Agent via the CP... E.g. Users can enable "auto-update"

Overall I like the idea, but the extent of the information provided is a bit too basic for my tastes... I agree that there's a gap between needing simple statistics and Nagios/Observium, but if a problem were to arise, the information is too basic to help debug the issue.

E.g. I see in the CP that my CPU load spiked for 2 hours, but that's all... Is it the node or my VPS? I'd need more detailed statistics for pinpointing the problem. (IO Wait, Steal %, Disk IO, Network connections, etc).

 
What I'd suggest is moving to Sar (Systat). You can still display basic stats by default, but at least there'll be the option to look at detailed stats if required. Some of Sar's features:

  • It's lightweight (I run it on most of my VPSs)
  • Information is logged (in case of a network outage)
  • You choose the interval/average (minutes) for statistics processing
  • Data is exportable in multiple formats (CSV, XML)
  • 'systat' package is available on all platforms
  • Here's an example of what can be done: 10 Useful Sar (Sysstat) Examples

^ I've created a basic page/panel from Sar's data, it's pretty easy to work with.
 
Last edited by a moderator:

spry

Member
Welcome, Joe!

Nice project you have there. The dashboard design is a neat one. Looking forward to see more features implemented along the way.

Keep us updated.
 

KuJoe

Well-Known Member
Verified Provider
My verification e-mail went to spam also. Might I suggest using a service like SendGrid for delivering e-mail? We use it for sending e-mails to our clients and it works wonderfully.
 

NQ-Joe

New Member
A few things on your installer/agent:

  • Why am I giving you root access for simple metrics?
  • Why are you using 'root' instead of creating a 'nodequery' user? (with locked down privileges)
  • Add active network connections (through netstat)
    1. ​​Segregate connections per Port
    2. Include active SSH connections
Thank you very much for your detailed feedback. Using root in this context indeed might not be required, when I started the script I was retrieving a few stats differently and required it. I will consider changing that for newer versions. I wanted to include active connections from the beginning but ran into a few problems parsing the result correctly and then simply forgot about it - noted. For now the session count is a good indicator for SSH connections.

A couple things on your website:

  • Your website itself isn't mobile friendly
  • If the Agent is outdated do you alert the user via the CP?
    1. ​​Having users manually update the agent may be tedious for 20+ servers
    2. User should be able to update the Agent via the CP... E.g. Users can enable "auto-update"
Adapting the website for mobile devices is the next step. My priority was to get a few users testing the service while I continue working on it. If in a few weeks/months it turns out everything was a bad idea, I didn't waste too much time upfront.

Regarding agent updates, yes you will be notified on the server page when a new version of the agent is available. I considered implementing an auto-update but very soon didn't like the idea. Even if you would use multiple integrity checks it still poses a high security risk if someone manages to include malicious code.

I will also have a closer look at systat, the idea of doing it 'natively' is however still my priority.

My verification e-mail went to spam also. Might I suggest using a service like SendGrid for delivering e-mail? We use it for sending e-mails to our clients and it works wonderfully.
I was hoping a proper postfix config would be sufficient for the start. I however had plans to switch to a message transport service like Amazon SES/SNS anyway - assuming people actually want to use the service. I will have a look at a few providers and check my options, implementing should be rather quick due to MVC structure :)

Many thanks to everyone who signed up so far.
 
Last edited by a moderator:

telephone

New Member
I was hoping a proper postfix config would be sufficient for the start. I however had plans to switch to a message transport service like Amazon SES/SNS anyway - assuming people actually want to use the service. I will have a look at a few providers and check my options, implementing should be rather quick due to MVC structure :)
Just setup Postfix to use Mandrill SMTP for the time being. Can't go wrong with 12,000 free transactional emails a month ;)
 

Melon

New Member
Lovely idea, currently using Uptime Robot and am very fond of the additional statistics (RAM usage, etc.). Please don't add an auto-update feature, it's a potential security risk. Looking forward to how this project goes.

Any ideas of pricing for post-beta users?

Would also like to see the shell scripts released under a free license.
 
Last edited by a moderator:

NQ-Joe

New Member
Lovely idea, currently using Uptime Robot and am very fond of the additional statistics (RAM usage, etc.). Please don't add an auto-update feature, it's a potential security risk. Looking forward to how this project goes.

Any ideas of pricing for post-beta users?

Would also like to see the shell scripts released under a free license.
Thanks, glad you like it. I am not planning to add auto-update, as you already said the security risk is too high even when hosted on Github. I didn't think much about pricing yet and won't for a while. I am planning to run the beta for at least a few months if enough people are interested. I myself would love to see small plans starting from $5 - I'll just have to see if that will be possible.

The shell script might be released under a free license in the future - I will definitely consider it.
 

NQ-Joe

New Member
Agreed. For all the monitoring systems we use, we use open source for several reasons. Most the times we need to modify the code for specific reasons.
While I very much agree with you, my intention was to create a service for users who actually don't want or don't need to get into the code. Meaning I hope to reach users who just want to have an overall look on performance of their servers and get notified if something goes south.

I am aware that a lot of you need a more detailed and complex insight of your systems, I hope however that some of you will still try it or even refer it to people you know who might be interested :)
 

NQ-Joe

New Member
Any plans for an external API for integration with other sites?
An API is definitely something I would like to implement (and hopefully will) down the road. However, for now I want to concentrate on core services like data collection and retrieval. I don't want to develop a great API only to realize later that I failed the database design.
 

blergh

New Member
Verified Provider
While I very much agree with you, my intention was to create a service for users who actually don't want or don't need to get into the code. Meaning I hope to reach users who just want to have an overall look on performance of their servers and get notified if something goes south.

I am aware that a lot of you need a more detailed and complex insight of your systems, I hope however that some of you will still try it or even refer it to people you know who might be interested :)
Do both and be awesome.
 

NodeBytes

Dedi Addict
While I like that you want to design your database right (I worked as a DBA for a while) I am going to stay away from the agent for now as I don't like any thing running in root besides what I choose. :)

While on that note, eventually you might want to set up a repo so that the agent can update off the same apt/yum update as the system. 
 

MannDude

Just a dude
vpsBoard Founder
Moderator
Didn't realize a thread already existed for this. Been testing it out on a dev VPS, nothing on it. Running ServerBear benchmark script on the VPS right now and watching the stats change on the NodeQuery profile for the server.

I agree that I think it'd be better open-source and offered as a self-hosted solution, but so far I enjoy it. Unsure if I would use it yet in a production environment due to the concerns about the security and privacy of remotely hosted software like this, but time will tell.
 
Top
amuck-landowner