Giter Site home page Giter Site logo

nagios-plugin-elasticsearch's People

Contributors

calpaterson avatar insyte avatar olorin avatar saj avatar sammcj avatar teameh avatar tpherndon avatar wbtmagnum avatar zonzamas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nagios-plugin-elasticsearch's Issues

Please add a license

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!

Ignore close index

        # 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']))

Can requirements in requirements.txt be relaxed?

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

some further documentation?

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?

pynagioscheck

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,

Hand this repository over to a new maintainer

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):

  • Accept the terms under which this work is licenced. (MIT Expat IIRC.)
  • Know stuff about ElasticSearch. You must understand ES failure modes. You should be in a position to test patches to this plugin against new ES stable releases in throwaway clusters with varying configurations (e.g.: single-node, many-node). Bonus points if you are able to regression test against older ES stable releases to ensure backwards compatibility is retained.
  • Know stuff about Nagios.
  • Have at least a passing familiarity with Python.

It would probably be wise to transfer ownership to a GitHub Org rather than to any one individual.

Cheers!

please tag 1.0.3 as a release

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

Support for pip 6

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

Cannot install...

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?

initializing shard state

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:

  1. don't enable replication until indexing is finished
  2. re-index many indices at once.

This leads that usually replicas shards are actually fine, just being initialized on other members of the cluster.

High RAM usage when executed for different hosts

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.

Timeout

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

Duplicate metrics

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!
]-[

Add tests

This project is getting to the size where tests are a necessity.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.