anchor / nagios-plugin-elasticsearch Goto Github PK
View Code? Open in Web Editor NEWAn ElasticSearch availability and performance monitoring plugin for Nagios
License: MIT License
An ElasticSearch availability and performance monitoring plugin for Nagios
License: MIT License
There's no reason it needs to be separate.
This will require updating the JVM check for 1.0 compatibility.
Hi friends, just a question.
Why not using the elasticsearch module for python on this script?
Will be interesting to add pynagioscheck as a dependency in README.md.
and also something like will :
try:
import json
except ImportError:
import simplejson as json
Regards,
# Build index maps:
#
# - name_index_map
#
indices = es_state['metadata']['indices']
for i in indices:
idx_stns = indices[i]['settings']
# Ignore close index
+ idx_state = indices[i]['state']
+ if idx_state == 'close':
+ continue
idx = ESIndex(i,
int(idx_stns['index.number_of_shards']),
int(idx_stns['index.number_of_replicas']))
Hi,
ElasticHQ (http://www.elastichq.org/) provides some interesting thresholds. The idea would be to use them for more alerts and metrics (for exemple, a threshold on "Used Heap" is an interesting value).
Sincerely,
I'm trying to build an RPM for Centos 6 using FPM (https://github.com/jordansissel/fpm/wiki/ConvertingPython)
Do you actually need such recent versions of pip and simplejson?
The following relaxations seem to work for me.
diff --git a/requirements.txt b/requirements.txt
index fd810ec..3a183d3 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
nagioscheck==0.1.6
-simplejson>=3.4.0
+simplejson>=2.0.9
setuptools>=3.4.0
-pip>=1.4
+pip>=1.3
Thanks,
Alex
There seems to be no support for authentication atm for this plugin. Is this on the roadmap?
It would be useful to have a timeout value such that an error can be triggered instead of an unknown state. If a node is down on one hosts (which currently monitors the status of the cluster) we would not receive a result, whereas the other would still resolve with the actual cluster status
I see some recent commits around this, but I wanted to ask if there are plans to support pip 6. At present, I receive an error trying to install:
$ pip install nagios-plugin-elasticsearch
Collecting nagios-plugin-elasticsearch
Downloading nagios-plugin-elasticsearch-1.0.2.tar.gz
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/tmp/pip-build-g4R6_1/nagios-plugin-elasticsearch/setup.py", line 19, in <module>
parse_requirements("requirements.txt")],
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_file.py", line 19, in parse_requirements
"parse_requirements() missing 1 required keyword argument: "
TypeError: parse_requirements() missing 1 required keyword argument: 'session'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 20, in <module>
File "/tmp/pip-build-g4R6_1/nagios-plugin-elasticsearch/setup.py", line 19, in <module>
parse_requirements("requirements.txt")],
File "/usr/local/lib/python2.7/dist-packages/pip/req/req_file.py", line 19, in parse_requirements
"parse_requirements() missing 1 required keyword argument: "
TypeError: parse_requirements() missing 1 required keyword argument: 'session'
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-g4R6_1/nagios-plugin-elasticsearch
Hey hey,
You updated the metadata for 1.0.3 but didn't tag a release - can you do that? I'm fighting this battle against pip over here too -- and this is a point of some breakage. :)
best,
--e
Hey,
when browsing for a nagios plugin for elasticsearch I found your project. Currently you did not license it in any way.
"This means that you retain all rights to your source code and that nobody else may reproduce, distribute, or create derivative works from your work."
So you could sue any individual or company that may use your code. I don’t think that this is your intention. As this is as a public repository I guess you want to license it under a free and open source license as the GPL or Apache License.
https://help.github.com/articles/open-source-licensing
Thank you!
Hi, i've noticed some of the metrics are duplicated (you can never have enough metrics).
The following metrics are duplicated in the "metrics" list:
index_ops
index_time
Thanks!
]-[
what is this?
-f FAILURE_DOMAIN, --failure-domain=FAILURE_DOMAIN
A comma-separated list of ElasticSearch attributes
that make up your cluster's failure domain. This
should be the same list of attributes that
ElasticSearch's location-aware shard allocator has
been configured with. If this option is supplied,
additional checks are carried out to ensure that
primary and replica shards are not stored in the same
failure domain.
Primarily what is the failure domain? and searching for it does not yield any results so just want ot know what I should be setting this to, if anything?
[root@somehost nagios-plugin-elasticsearch-1.1.0]# ./check_elasticsearch -p 9200
API failure
I run check_elasticsearch without arguments on proxy node (no master, no data) and received
Unhandled Python exception: ValueError("I don't know how to coerce u'0' to a bool",)
Hello,
checks the plugin this problem, too? Could it also consider that?: http://blog.trifork.com/2013/10/24/how-to-avoid-the-split-brain-problem-in-elasticsearch/
Thanks and best regards
When I try to install, get this error:
root@my-machine:download# pip install nagios-plugin-elasticsearch
Downloading/unpacking nagios-plugin-elasticsearch
Downloading nagios-plugin-elasticsearch-1.0.2.tar.gz
In the tar file /tmp/pip-vt0Ij3-unpack/nagios-plugin-elasticsearch-1.0.2.tar.gz the member nagios-plugin-elasticsearch-1.0.2/README is invalid: "linkname 'nagios-plugin-elasticsearch-1.0.2/README.md' not found"
Running setup.py egg_info for package nagios-plugin-elasticsearch
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/opt/logstash-binaries/build/nagios-plugin-elasticsearch/setup.py", line 19, in <module>
parse_requirements("requirements.txt")],
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1200, in parse_requirements
skip_regex = options.skip_requirements_regex
AttributeError: 'NoneType' object has no attribute 'skip_requirements_regex'
Complete output from command python setup.py egg_info:
Traceback (most recent call last):
File "<string>", line 14, in <module>
File "/opt/logstash-binaries/build/nagios-plugin-elasticsearch/setup.py", line 19, in <module>
parse_requirements("requirements.txt")],
File "/usr/lib/python2.7/dist-packages/pip/req.py", line 1200, in parse_requirements
skip_regex = options.skip_requirements_regex
AttributeError: 'NoneType' object has no attribute 'skip_requirements_regex'
----------------------------------------
Command python setup.py egg_info failed with error code 1
Storing complete log in /root/.pip/pip.log
Python version: 2.7.3
Any ideas?
Right now the only valid shard states are STARTED or RELOCATING. Does it make sense to have INITIALIZING in that list as well?
I ask because when we index in our setup we:
This leads that usually replicas shards are actually fine, just being initialized on other members of the cluster.
This project is getting to the size where tests are a necessity.
This may not be considered an issue but I was wondering why my icinga2 was precipitously using a lot more RAM. Found out, when icinga calls check_elasticsearch it (very) shortly takes around 400MB of RAM for each host you check, so if you check 10 ES instances and if all check are executed the same time, it will use around 4GB of RAM for some seconds. I am not sure if I am willing to pay such a prize for this otherwise nice plugin.
hello,
not really an issue but I'm getting this in nagios sensor, with yellow label
is this normal ? is this a bug ?
thank you
regards,
This plugin was first written in 2012 and tested against early 0.x releases of ElasticSearch. I moved on to other things. I suspect @olorin moved on to other things. I have not touched ES in years and am no longer in a position to adequately vet feedback. Recent PR and Issue activity would suggest that some folks still find some use in this plugin. (Have you met our lord and savior?)
It is unfair to serve this repository without also taking the time to review and incorporate patches from users. Forks are disruptive. Rather than take the repo offline, I would prefer to hand it over to someone who cares. A transfer should retain all open PRs and Issues on the repo.
Please post a message below if you would like to volunteer as a maintainer. You should meet the following general requirements (lest we again end up in this pickle):
It would probably be wise to transfer ownership to a GitHub Org rather than to any one individual.
Cheers!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.