fatih-yavuz / Kordon

Elasticsearch metric notifier

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kordon | Elasticsearch Metric Notifier

Kordon is simply aimed at having critical metrics capture, which is above your defined thresholds, and send alert(s) to slack channel. These critical metrics are cluster health status, CPU percentages of each node in cluster, JVM memory percentage of each node in cluster, indexing throttle status of each node in cluster for now however they are extensible regarding to your metric requirements. Configurations such as thresholds, slack webhook and so forth are stored in Couchbase as document that is consisting of key-value pair if any couchbase host is non-existing, default configurations will be set and then refreshed in every 3 minutes.

Before running application, please make sure to have your configurations set correctly. Configurations are found in src/application.ts. Configurations are customizable based on your settings

Getting Started

Step 1: Install NodeJS & NPM

NodeJS & NPM

Step 2: Get project

Clone this repository https://github.com/daidorian09/kordon.git

Step 3: Add global dependencies

npm i -g tsc ts-node tslint nodemon

Step 4: Add local dependencies

npm i -D

Step 5: Run in dev environment

npm run start:dev

Step 6: Check readiness or liveness endpoints

Open browser and go to http://localhost:7001/healthcheck/liveness

Step 7: Build for production

npm run build

Step 8: Run in production environment

npm start

Step 8(Optional): Build Docker image

docker build -t kordon:latest .

Step 9(Optional): Run dockerized version

docker run -p 7001:7001 --name kordon-app kordon:latest

Contributing

Any contributions or feature implementations are nicely welcomed

About

Elasticsearch metric notifier


Languages

Language:TypeScript 97.2%Language:Dockerfile 2.8%