Energy Logserver – nowy poziom integracji

Energy Logserver, jako narzędzie do zarządzania dużą ilością danych, zawsze będzie się starał integrować z jak największa ilością urządzeń i danych. Przedstawiamy nowe rozwiązanie, które pozwala odpytywać z poziomu OP5 Monitora i Nagiosa o dokumenty Elasticsearch. Wykorzystane mogą zostać zapisane obiekty i dokumenty.
Dzięki temu, możemy pozyskać jeszcze bardziej szczegółowe dane i uczynić monitoring infrastruktury IT bardziej spójnym i czytelnym.

Co więcej, skrypty wykorzystane do integracji są wystawione na licencji Apache-2.0. Zachęcamy do korzystania z nadzieją, że poprawi to jakość monitoringu.

Poniżej szczegóły projektu, oraz linki:
https://github.com/emca-it/check-elasticquery
https://github.com/emca-it/check-elasticquery/blob/master/check_elasticquery_6x.pl
https://github.com/emca-it/check-elasticquery/blob/master/check_elasticquery_7x.pl

This plugin check Elasticsearch query total documents. It is aimed to work with Energy Logserver, OP5 Log Analytics and is supposed to work with opensource Elasticsearch and x-pack.

Dependencies for Centos 7:
# yum install perl-Monitoring-Plugin perl-libwww-perl perl-LWP-Protocol-https perl-JSON perl-String-Escape perl-Data-Dumper

Usage
$ ./check_elasticquery.pl -U|--url= -i|--index=
[ -q|--query= ]
[ -S|--search= ]
[ -T|--timerange= ]
[--timefield=

Usage examples
Total documents in ‘beats*’ index for latest 24 hours. Latest 24 hours is default time range.

./check_elasticquery.pl -U 'http://user:password@localhost:9200' -i 'beats*'

Execute saved search named protection for latest 15 minutes. By default it checks @timestamp field, you can change it in –timefield option.

./check_elasticquery.pl -U 'http://user:password@localhost:9200' -i 'beats*' -S 'protection' -T 'now:now-15m'

As above plus show one latest document.

./check_elasticquery.pl -U 'http://user:password@localhost:9200' -i 'beats*' -S 'protection' -T 'now:now-15m' -D 1

As above plus filter output to selected fields.

./check_elasticquery.pl -U 'http://user:password@localhost:9200' -i 'beats*' -S 'protection' -T 'now:now-15m' -D 1 -f message,timestamp

As above plus limit output fields value to 100 characters.

./check_elasticquery.pl -U 'http://user:password@localhost:9200' -i 'beats*' -S 'protection' -T 'now:now-15m' -D 1 -f message,timestamp -l 100

Execute lucene query.

./check_elasticquery.pl -U 'http://user:password@localhost:9200' -i 'beats*' -q 'beat.name:example.com' -T 'now:now-15m' -D 1 -f message,timestamp

Execute json query. Time range option wouldn’t work. You should define time range in query.

./check_elasticquery.pl -U 'http://user:password@localhost:9200' -i 'beats*' -j -q ' { "size": 0, "query": { "bool": { "must": [ { "query_string": { "query": "task:\"Special Logon\"", "analyze_wildcard": true, "default_field": "*" } }, { "range": { "@timestamp": { "gte": "now-1d/d", "lte": "now/d" } } } ] } } } '

Leave a Reply

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>