Hi,
I wish to use Sensu to monitor SNMP devices for which the client cannot be installed on. From what I’ve this can be done with Proxy Clients, however I’m clear from the documentation how to submit the results to Sensu without using some sort of external app.
If I manually submit results as follow the checks show up in Uchiwa as expected, just got a basic ping check at the moment:
echo ‘{“source”: “net-router”, “name”: “ping”, “output”: “test event”, “status”: 2}’ | nc localhost 3030
But it’s showing as from a different client:
{“timestamp”:“2016-11-24T21:13:54.750978+0000”,“level”:“info”,“message”:“publishing check result”,“payload”:{“client”:“my-first-sensu-client”,“check”:{“source”:“net-router”,“name”:“ping”,“output”:“test event”,“status”:1,“executed”:1480022034,“issued”:1480022034}}}
the check is configured as below:
{
“checks”: {
“ping”: {
“command”: “check_ping.sh :::address:::”,
“standalone”: true,
“subscribers”: [
“network”
],
“interval”: 60
}
}
}
And although I’ve manually submitted the check result, I did also try creating a client manually:
{
“client”: {
“name”: “net-router”,
“source”: “net-router”,
“address”: “1.2.3.4”,
“subscribers”: [ “network” ],
“keepalives”: false
}
}
The above config doesn’t match with the docs but I thought it at least it logically makes sense.
The docs says that the “source” attribute can be added to the check but I don’t understand how that is scaleable, would it not mean having to have a separate check for every IP needing to be monitored on the network? If so it would be backward step from the way the host/check setup works on Nagios.
I know this has been asked a few times before but the posts appear to be at least 2 years old so hoping things have moved on a bit. Is what I’m trying to do possible with Sensu at the moment?
Really hope it is as I love the architecture in comparison to Nagios (and more commercial vendors) as it’s more data driven than being some kind of monalithic platform.
If what I’m trying do won’t work, I guess a separate agent could be used to somehow get the “virtual clients” info from the clients api, running the check against those devices and then submitting the results back to Sensu but that would seem like doubling up effort.
Thanks in advance
Hd