Code Monkey home page Code Monkey logo

zabbix-agent-extension-elasticsearch's Introduction

zabbix-agent-extension-elasticsearch

zabbix-agent-extension-elasticsearch - this extension for monitoring Elasticsearch cluster and node health/status.

Supported features

This extension obtains stats of two types:

Node stat

https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-nodes-stats.html

  • roles
  • attributes
  • indices (partly)
  • os
  • processes
  • jvm
  • thread_pool
  • fs
  • transport
  • http
  • breakers
  • script
  • discovery
  • ingest

Cluster health

https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-health.html

  • cluster_name
  • status
  • timed_out
  • number_of_nodes
  • number_of_data_nodes
  • total indices docs count
  • total indices deleted docs count
  • primary indices docs count
  • primary indices deleted docs count
  • total indices store size
  • primary indices store size
  • active_primary_shards
  • active_shards
  • relocating_shards
  • initializing_shards
  • unassigned_shards
  • delayed_unassigned_shards
  • number_of_pending_tasks
  • number_of_in_flight_fetch
  • task_max_waiting_in_queue_millis
  • active_shards_percent_as_number

Installation

Notice

Before manual installation you should check Include option in your zabbix-agent configuration, it should be uncomment and check that include path are the same with this installation rule - https://github.com/zarplata/zabbix-agent-extension-elasticsearch/blob/master/Makefile#L54 otherwise you should change it to your include path.

After installation you should restart your zabbix-agent manually for inclusion new UserParameter from extension configuration.

Manual build

# Building
git clone https://github.com/zarplata/zabbix-agent-extension-elasticsearch.git
cd zabbix-agent-extension-elasticsearch
make

#Installing
make install

# By default, binary installs into /usr/bin/ and zabbix config in /etc/zabbix/zabbix_agentd.conf.d/ but,
# you may manually copy binary to your executable path and zabbix config to specific include directory

Arch Linux package

# Building
git clone https://github.com/zarplata/zabbix-agent-extension-elasticsearch.git
git checkout pkgbuild

./build.sh

#Installing
pacman -U *.tar.xz

Dependencies

zabbix-agent-extension-elasticsearch requires zabbix-agent v2.4+ to run.

Zabbix configuration

In order to start getting metrics, it is enough to import template and attach it to monitored node.

WARNING: You must define macro with name - {$ZABBIX_SERVER_IP} in global or local (template) scope with IP address of zabbix server.

On one node of cluster set MACRO {$GROUPNAME} = REAL_ZABBIX_GROUP. This group must include all nodes of the cluster. Only this one node will be triggered cluster status (low level discovery added aggregate checks of cluster health).

Customize key prefix

It may you need if key in template already used.

If you need change key elasticsearch.* -> YOUR_PREFIX_PART.elasticsearch.*, run script custom_key_template.sh whit YOUR_PREFIX_PART and import updated zabbix template template_elasticsearch_service.xml.

./custom_key_template.sh YOUR_PREFIX_PART

Elasticsearch API authentication (X-Pack security)

This extension support basic authentication which provided by X-Pack. For authentication in Elasticsearch you must set valid values in template macros - ${ES_USER} and ${ES_PASSWORD}

Customize Elasticsearch address.

You can customize you Elasticsearch listen address. Just change{$ES_ADDRESS} macros in template. Possible values are - (http|https)://host:port

Be note if you choose https and have self-signed certificate you also should add path to you CA in marcos {$CA_PATH}

zabbix-agent-extension-elasticsearch's People

Contributors

adriankirchner avatar adrienne-cln avatar akitsul avatar tears-of-noobs avatar

Watchers

 avatar  avatar

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.