NagiosCheckBeat is the Beat used for running Nagios checks.
Check out this blog post on how it works.
You can integrate with Watcher (How-To) or Nagios Core (How-To) for Alerting.
- For Elasticsearch 1.x compatibility, see the 0.5.x branch.
- NagiosCheckBeat 0.6.0 is compatible with Elasticsaerch 2.x through 5.x.
- NagiosCheckbeat 6.2.3 is compatible with Elastic Stack 6.x
- NagiosCheckBeat 7.6.0 is compatible with Elastic Stack 7.x
- As of NagiosCheckBeat 7.x, process forking must be explicitly allowed by disabling seccomp. Do note the security hazard here! Keep your config secure!
seccomp.enabled: false
Packages for your OS can be found in Releases
For example, in an i686 architecture:
$ sudo rpm -i https://github.com/PhaedrusTheGreek/nagioscheckbeat/releases/download/6.2.3/nagioscheckbeat-6.2.3-i686.rpm
############################# Input ############################################
input:
checks:
-
name: "heartbeat"
cmd: "/usr/lib64/nagios/plugins/check_dummy"
args: "0 Checking In!"
period: "10s"
-
name: "disks"
cmd: "/usr/lib64/nagios/plugins/check_disk"
args: "-w 80 -c 90 -x /dev"
period: "1h"
-
name: "load"
cmd: "/usr/lib64/nagios/plugins/check_load"
args: "-w 5 -c 10"
period: "1m"
-
name: "io"
cmd: "/usr/lib64/nagios/plugins/check_sar_perf.py"
args: "io_transfer"
period: "30s"
enabled: false
Firstly, the performance data metrics, individually as documents type: nagiosmetric
:
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 112,
"max_score": 1.6964493,
"hits": [
{
"_index": "nagioscheckbeat-6.2.2-2018.02.20",
"_type": "doc",
"_id": "-39LtGEBVAhdWhA-GWkB",
"_score": 1.6964493,
"_source": {
"@timestamp": "2018-02-20T17:37:54.953Z",
"value": 638,
"beat": {
"name": "Jasons-MacBook-Pro-912.local",
"hostname": "Jasons-MacBook-Pro-912.local",
"version": "6.2.2"
},
"uom": "",
"max": 0,
"critical": 0,
"min": 0,
"name": "proc",
"label": "procs",
"warning": 0,
"type": "nagiosmetric"
},
"fields": {
"name": [
"proc"
]
}
},
{
"_index": "nagioscheckbeat-6.2.2-2018.02.20",
"_type": "doc",
"_id": "O39KtGEBVAhdWhA-o2nY",
"_score": 1.6964493,
"_source": {
"@timestamp": "2018-02-20T17:37:24.949Z",
"name": "load",
"uom": "",
"warning": 5,
"label": "load5",
"critical": 10,
"max": 0,
"type": "nagiosmetric",
"beat": {
"name": "Jasons-MacBook-Pro-912.local",
"hostname": "Jasons-MacBook-Pro-912.local",
"version": "6.2.2"
},
"value": 0,
"min": 0
},
"fields": {
"name": [
"load"
]
}
}
]
}
}
Secondly, the results of the actual Nagios Checks, where type: nagioscheck
{
"took": 2,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 341,
"max_score": 0.38229805,
"hits": [
{
"_index": "nagioscheckbeat-6.2.2-2018.02.20",
"_type": "doc",
"_id": "s39KtGEBVAhdWhA-6mkg",
"_score": 0.38229805,
"_source": {
"@timestamp": "2018-02-20T17:37:42.953Z",
"took_ms": 11,
"type": "nagioscheck",
"name": "heartbeat",
"message": "OK: Hello\n",
"beat": {
"name": "Jasons-MacBook-Pro-912.local",
"hostname": "Jasons-MacBook-Pro-912.local",
"version": "6.2.2"
},
"status": "OK",
"status_code": 0,
"cmd": "/usr/local/sbin/check_dummy",
"args": "0 Hello"
},
"fields": {
"name": [
"heartbeat"
]
}
},
{
"_index": "nagioscheckbeat-6.2.2-2018.02.20",
"_type": "doc",
"_id": "u39KtGEBVAhdWhA-8Wnv",
"_score": 0.38229805,
"_source": {
"@timestamp": "2018-02-20T17:37:44.952Z",
"cmd": "/usr/local/sbin/check_procs",
"args": "",
"message": "PROCS OK: 638 processes ",
"status_code": 0,
"took_ms": 86,
"beat": {
"name": "Jasons-MacBook-Pro-912.local",
"hostname": "Jasons-MacBook-Pro-912.local",
"version": "6.2.2"
},
"status": "OK",
"type": "nagioscheck",
"name": "proc"
},
"fields": {
"name": [
"proc"
]
}
},
{
"_index": "nagioscheckbeat-6.2.2-2018.02.20",
"_type": "doc",
"_id": "9X9LtGEBVAhdWhA-GWkB",
"_score": 0.38229805,
"_source": {
"@timestamp": "2018-02-20T17:37:54.949Z",
"cmd": "/usr/local/sbin/check_load",
"status_code": 0,
"took_ms": 14,
"type": "nagioscheck",
"name": "load",
"args": "-w 5 -c 10",
"message": "OK - load average: 2.19, 0.00, 0.00",
"status": "OK",
"beat": {
"hostname": "Jasons-MacBook-Pro-912.local",
"version": "6.2.2",
"name": "Jasons-MacBook-Pro-912.local"
}
},
"fields": {
"name": [
"load"
]
}
},
{
"_index": "nagioscheckbeat-6.2.2-2018.02.20",
"_type": "doc",
"_id": "6X9OtGEBVAhdWhA-Jm5P",
"_score": 0.30196804,
"_source": {
"@timestamp": "2018-02-20T17:41:14.956Z",
"name": "disks",
"cmd": "/usr/local/sbin/check_disk",
"message": "DISK CRITICAL - /Users/jason/OBFUSCATED is not accessible: No such file or directory\n",
"beat": {
"name": "Jasons-MacBook-Pro-912.local",
"hostname": "Jasons-MacBook-Pro-912.local",
"version": "6.2.2"
},
"status": "CRITICAL",
"status_code": 2,
"took_ms": 27,
"type": "nagioscheck",
"args": "-w 80 -c 90"
},
"fields": {
"name": [
"disks"
]
}
}
]
}
}