Skip to content

Latest commit

 

History

History
70 lines (54 loc) · 4.16 KB

README.md

File metadata and controls

70 lines (54 loc) · 4.16 KB

Simplemon

A simple monitoring example solution that integrates well with simpleserver.

Install it with: make install SLACK_URL=$SLACK_URL (which will call into the sub directories for you)

Set or replace $SLACK_URL to a Webhook URL as described in this blog post. It may be possible that your team already has a monitoring channel somewhere, if so you don't need to create a new webhook, just ask around. That makes the setup also quicker.

Run it with: make run

Architecture

The architecture of the monitoring stack is like a house. At the foundation there is Prometheus which will collect the data, store it locally and offer a query API. On top are different components that provide specific features. While Prometheus will work fine without the other components many of the other components will not work without Prometheus or another, similar data storage system.

The components currently chosen are:

  • Prometheus (in /prom): Data collector, timeseries db, promQL querier
  • Grafana (in /graf): Data filter and and visualizer
  • Node Exporter (in /node): collect data from the host the Exporter is running on and present it in collectable form to Prometheus
  • Alert Manager (in /alman): filter Prometheus data repeatedly and if certain limits are reached send alerts to different sources like Slack
  • Thanos (in /thanos): HA layer and multi-prom-querier for Prometheus

At the time of this writing the connection to the simpleserver project, and the Thanos integration is WIP.

Sources

The following articles have been used in the creation of this repo. Better documentation is TODO, but in the mean time hopefully these can help:

May come in handy later: