Skip to content

Latest commit

 

History

History
60 lines (42 loc) · 2.01 KB

README.md

File metadata and controls

60 lines (42 loc) · 2.01 KB

PromEL - Elasticsearch Prometheus Adapter

INTRODUCTION

This is an adapter that accepts Prometheus remote read/write requests, and sends them on to Elasticsearch. This allows using Elasticsearch as long term storage for Prometheus.

Requires Elasticsearch v7.0 or greater.

INSTALL

To install PromEL on Linux use the following commands:

$ git clone https://github.com/uzhinskiy/PromEL.git promel
$ cd promel
$ make

To install PromEL on Windows use the following instructions:

  • Install GO v1.11 or higher
  • Download ZIP with source files
  • Unpack this file in your prefered path
  • Run CMD.EXE
  • In CMD go to unpacked dir <SOME\PATH>\PromEL-master
  • Run : go build -x -ldflags "-s -w -X main.vBuild=WIN" -o build/promel.exe ./cmd/

USAGE

Standalone

$ sudo mkdir /var/log/promel/
$ sudo mkdir /etc/promel/
$ sudo cp ./build/promel /usr/local/sbin/promel
$ sudo cp ./scripts/promel.service /etc/systemd/system/
$ sudo cp ./scripts/promel-standalone.yml /etc/promel/promel.yml
$ edit /etc/promel/promel.yml (replace elk0X-ip with your actual IPs of elastic-nodes)
$ sudo systemctl daemon-reload && systemctl start promel
$ sudo systemctl enable promel

Docker

$ git clone https://github.com/uzhinskiy/PromEL.git promel
$ cd promel
$ edit /scripts/promel-docker.yml (replace elk0X-ip with your actual IPs of elastic-nodes)
$ docker build -t promel -f scripts/Dockerfile .
$ docker run -t -d -p 0.0.0.0:9090:9090 -p 0.0.0.0:9091:9091 --name promel-app promel

Tuning Linux kernel

$ sudo nano /etc/sysctl.conf
 net.ipv4.tcp_keepalive_time = 300
 net.ipv4.tcp_keepalive_intvl = 20
 net.ipv4.tcp_keepalive_probes = 3
 fs.file-max = 1199136

$ sudo sysctl -p

Peak load ~ 12000 doc/sec Normal load ~ 1000 doc/sec