Article directory
Prometheus architecture diagram
Prometheus ecosystem components
Prometheus Server
Main server, responsible for collecting and storing time series data
client libraries
Application code instrumentation is responsible for embedding monitoring indicators into the monitored application.
Pushgateway
Push gateway. Provides a push gateway to support short-lived jobs
exporter
Data tweezing software developed specifically for some applications - exporters
such as: HAProxy, StatsD, Graphite, etc.
Alartmanager
A component specifically designed to handle alerts
Prometheus architecture understanding
Since Prometheus is designed as a model that stores latitude, it can be understood as an OLAP model.
Storage computing layer
-
Prometheus Server
main server, including storage engine and computing engine -
Retrival
access component, which will actively pull indicator data from pushgateway or exporter -
Service Discovery
can dynamically discover indicators that need to be monitored -
TSDB (Time Series Database)
data core storage and query -
HTTP Server
provides http services to the outside world
Collection layer
Collection is divided into two categories: one is jobs with a short life cycle, and the other is jobs with a long life cycle:
- Short-cycle jobs: directly through API , pushed to pushgateway before exit time indicator
- Long-term jobs: Retrival pulls data directly from the job or exporter
Application layer
The application layer is mainly divided into two parts: one is alertmanager, and the other is data visualization.
- AlertManager
is connected to Pagerduty and is a paid monitoring and alarm system. It can realize SMS alarm, call notification if there is no ack in 5 minutes
, if there is still no ack, notify the manager on duty...Emial, and send an email - Data visualization
Prometheus build-in WebUI
Grafana
other clients developed based on API