11

I have 100+ machines which needs to be monitored, mostly linux, but there are some Windows servers too. I want to be informed when the disks are getting full, when the load is high, or a service is not responding, etc...

As I understand SNMP is not good, since it requires two way communication, and I do not want to open ports (and some of these machines are behind NAT-s and VPN-s).

What I want is: Install an agent to every machine. This agent sends info periodically to a central server. I show these data on the server, and send out notifications when something needs attention.

Is there any - opensource - tool to do this?

  • 2
    So you don't want to allow TCP polling? But are you ok with TCP connections from the agents on the machines? Or would you allow "concentrator" (you can open a single port to a statsd or prometheus server and that server can collect all local machines). BTW most cloud based (internet hosted) monitoring solutions will allow agents to push updates (by TCP) – eckes Feb 22 at 1:12
12

We are currently using NetXMS https://www.netxms.org/ to monitor a mixed environment of around 200+ machines and 50+ servers.

It works exactly the way you've mentioned. You need a server instance and an agent installed on each machine that communicates to a server and pushes metrics on a regular customizable basis. There is a huge set of pre-configured metrics you can gather and it's highly customizable.

NetXMS agent can work on:

  • Windows XP and higher, Windows Server 2003 and higher
  • Linux
  • FreeBSD, NetBSD, OpenBSD
  • Solaris
  • HP-UX
  • AIX
|improve this answer|||||
3

You can use Zabbix, I found it really easy to setup as it tooks me less than 30 mins to get it up and running. Just download the appliance, spin it up as a VM, and install the agent to all the nodes you want to monitor. It works with Linux, Win Svr and Win 7/10 too. Never try on Win 8 though, guess it should work too.

Here's the link you can get the appliance: https://www.zabbix.com/download_appliance

One critical step you should do after the Zabbix and its agent is installed, during Add Host you must configure a Template. Otherwise it will not pick up any signal from the target node. This has troubled me a lot when I first set it up, so do take care of this step carefully.

Here's instruction to Add Host: https://www.zabbix.com/documentation/4.0/manual/config/hosts/host

|improve this answer|||||
  • 2
    Although bear in mind Zabbix has a history of not being particularly security conscious (cvedetails.com/product/9588/Zabbix-Zabbix.html?vendor_id=5667) so perhaps don't use this on hosts with important data – Milney Feb 22 at 0:07
  • 1
    Nagios has 31 total cases while Zabbix has 34. But Nagios is widely in used. What is the most important metric to take care when reading the chart? – teclinux Feb 22 at 1:39
1

You can use

icinga2

with the new module icinga2 director.

https://icinga.com/docs/director/latest/

In our company we have 50+ machines, windows and linux and the configuration is not very difficult. It can be tedious at the beggining but very usefull and easy to configure with the director.

Icinga2 can be installed on a VM and with the new Director you add hosts using templates and you can install the icinga2 agent on every single VM to be monitored.

I suggeset you try it! You can create your own checks and there are many plugins alredy created by the nagios community.

|improve this answer|||||
  • 2
    I use icinga, I am not satisfied. Its configuration is an undocumented terrible creap, and while in theory it is built on a centralized, client-server structure, it is a pain to execute its local plugins remotely (I had to develop a "check_by_ssh" script for it). In my opinion, icinga is not really more than executing test scripts from cron, and then write warning mails on non-zero exit code. – peterh - Reinstate Monica Feb 22 at 13:04

Not the answer you're looking for? Browse other questions tagged or ask your own question.