newm4n / monika

MONIKA - Scheduled Monitoring

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MONIKA

Build Status

Monika is a command line application for synthetic monitoring. The name Monika stands for "Monitoring Berkala", which means "periodic monitoring" in the Indonesian language.

Installation

Install from the npm package manager (you need to install Node.js first)

npm i -g @hyperjumptech/monika

You can also use Monika from source. Clone this repository then install the dependencies.

git clone git@github.com:hyperjumptech/monika.git
npm ci

Getting Started

To start monitoring URLs, you need to create a configuration file (JSON file). The configuration file contains the probes, alerts, and notification configurations. You can check the sample configuration file in config.example.json or from our docs.

When you have created the configuration file, you can run monika as follows

monika -c <path_to_your_configuration.json>

Options and parameters can be seen by running monika -h. Or if you cloned this repository, you need to run bin/run -h.

How it works

Monika operates by reading everything from the config file. From the configurations it will build and send the http requests. After each requests it sends any alerts if needed using the configured notifications (smtp, mailgun, sendgrid, webhook).

For more information, please refer to the detailed documentations below.

Topic Description
Probes How requests are set up and dispatched
Alerts How alerts are triggered and how to setup an alert
Notifcations Receive notifications when alerts are triggered

Run Monika using Docker

Obtain a copy of your configuration file config.json into the current directory. From the same directoy, you can run:

docker run --name monika -v ${PWD}/config.json:/config/config.json --detach hyperjump/monika:latest

Once your monika server is up, you can see its log using

docker logs monika

Or you can stop the container with

docker stop monika

Discussions

If you need help, want to give feedback, or have a great idea to improve Monika, get involved! Let us know in the Github discussions.

Please abide by the Contributor's Code of Conduct

Development

This project is a Node.js application written in TypeScript. The tools we use in this project are as follows.

  • oclif to scaffold the CLI.
  • Prettier to format the code.
  • ESLint to statically analyze the code to quickly find problems.
  • Mocha for testing.
  • Istanbul for code coverage.

License

MIT License.

About

MONIKA - Scheduled Monitoring

License:MIT License


Languages

Language:TypeScript 95.6%Language:JavaScript 2.9%Language:Makefile 1.3%Language:Dockerfile 0.2%Language:Batchfile 0.1%