Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/maxgfr/web-monitoring

Web monitoring thanks to Prometheus and Grafana
https://github.com/maxgfr/web-monitoring

docker docker-compose grafana kafka kafka-node mongodb node-exporter prometheus web-monitoring

Last synced: about 2 months ago
JSON representation

Web monitoring thanks to Prometheus and Grafana

Awesome Lists containing this project

README

        

# web-monitoring

The repository of the application is : `https://github.com/maxgfr/web-monitoring.git`

## Description

This project is an implementation of a monitoring, alerting, and reporting infrastructure system based on Prometheus, Grafana, and Kafka. The infrastructure is based on docker, and the web application is a node.js application that has these main dependencies :
- [mongodb](https://github.com/mongodb/node-mongodb-native)
- [express](https://github.com/expressjs/express)
- [prom-client](https://github.com/siimon/prom-client)
- [kafka-node](https://github.com/SOHU-Co/kafka-node)

## Requirements

1. Install [git](https://git-scm.com/downloads)
2. Install [docker](https://docs.docker.com/v17.12/install/)
3. Install [docker-compose](https://docs.docker.com/compose/install/)
4. Clone this repository :
```bash
git clone --recursive https://github.com/maxgfr/web-monitoring.git
```

## Building & Running

### To start the infrastructure

```bash
docker-compose up --build
```

### To stop and remove the infrastructure

```bash
docker-compose down --rmi 'all'
```

## Usage

Now, we can run different type of request `POST / GET / DELETE` (`http://localhost:1603`) :







We can also open `Prometheus` (`http://localhost:9090`) :



Or see customized metrics in the application (`http://localhost:1603/metrics`) :





Finally, we can use `Grafana` for the monitoring of the application (`http://localhost:3000`) :







*By default, for `Grafana` the username is `admin` and the password is `pass`*