AI Crawler · Collection Records

Bot summary · Last 24 hours

Prometheus — Monitoring

Pull-based metric collection, time-series storage, and alerting (CPU, memory, application metrics). Often used with Grafana.
Markdown source·Anything to add or correct?

It is a CNCF-standard monitoring system that collects server and application metrics, stores them as time series, and sends alerts.

Basic Information

Program NamePrometheus
One-line IntroductionIt is a CNCF-standard monitoring system that collects server and application metrics, stores them as time series, and sends alerts.
Development / MaintenanceCNCF / Prometheus Authors
Official Websitehttps://prometheus.io/
Official Documentationhttps://prometheus.io/docs/
Official Downloadhttps://prometheus.io/download/
Supported Operating SystemsLinux, macOS, Windows, FreeBSD, etc. (single binary)
LicenseApache-2.0
Stable Version3.15.0 (released 2026-09-25) — confirmed 2026-10-18
GitHub Repositoryhttps://github.com/prometheus/prometheus
CategoryMonitoring (tags: monitoring, metrics, alerting, time series, CNCF)

What Is This Program?

Prometheus is an open-source monitoring system that periodically receives numeric metrics from servers, containers, and applications and stores them in a time-series database. It collects not only system metrics such as CPU and memory, but also business metrics that apps expose directly.

As a CNCF graduated project, it has become the standard in container and Kubernetes environments. You can query it through the built-in UI, and dashboards are often used in combination with Grafana. Alerts are defined with the built-in rule language (PromQL) and sent to Alertmanager.

What Problems Does It Solve?

  • In server monitoring, when you need to see CPU, disk, and process status over time, storing metrics as time series enables trend and anomaly detection.
  • In incident response, when you need an alert when a threshold is exceeded, you can define alert conditions with PromQL rules to send notifications.
  • In container environments, when you need to collect metrics at the pod or node level, service discovery automatically registers targets.

Key Features

Pull-based Collection

Periodically scrapes the /metrics endpoints exposed by targets

  • Use Case: HTTP metric collection
  • Result: Simple target registration and removal
  • Limitations: Environments where pull is difficult require Pushgateway.

PromQL Queries

A native language for querying and aggregating time-series data

  • Use Case: Graphs and alert rules
  • Result: Label-based aggregation and rate calculation
  • Limitations: PromQL has a learning curve.

Alert Rules and Alertmanager

Generates alerts based on thresholds and anomaly patterns, then groups and deduplicates them

  • Use Case: Failure notifications
  • Result: Delivered via chat, email, and PagerDuty
  • Limitations: Too many alerts can cause notification fatigue.

Service Discovery

Automatically discovers targets through DNS, Kubernetes, Consul, etc.

  • Use Case: Dynamic environments
  • Result: Manage targets without manual registration
  • Limitations: Discovery configuration errors can lead to missed collections.

Installation and Execution

Linux (Binary)

Download the appropriate architecture binary from the official download page and run it.


wget https://github.com/prometheus/prometheus/releases/download/v3.15.0/prometheus-3.15.0.linux-amd64.tar.gz
tar xvf prometheus-3.15.0.linux-amd64.tar.gz
cd prometheus-3.15.0.linux-amd64
./prometheus --config.file=prometheus.yml

Linux (systemd)

After installation, keep it running using a service unit file.


sudo useradd --no-create-home --shell /bin/false prometheus
sudo cp prometheus /usr/local/bin/
sudo cp prometheus.yml /etc/prometheus/
# After creating /etc/systemd/system/prometheus.service
sudo systemctl enable --now prometheus

Docker

Run it quickly with the official image.


docker run -d -p 9090:9090 \
  -v ./prometheus.yml:/etc/prometheus/prometheus.yml \
  prom/prometheus

Real-World Usage Examples

Node Metric Collection

Install node_exporter and register it as a target in prometheus.yml.


$ ./node_exporter &
# prometheus.yml
scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

PromQL Queries

Query metrics with PromQL in the UI (localhost:9090).


node_cpu_seconds_total{mode="idle"}
100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

Defining Alert Rules

Define alert rules in a file and apply them with reload.


groups:
- name: alerts
  rules:
  - alert: HighCpu
    expr: 100 - (avg by(instance)(rate(node_cpu_seconds_total{mode="idle"}[5m]))*100) > 85
    for: 5m

Advantages and Limitations

Advantages

  • Free and open source (Apache-2.0); easy to deploy as a single binary
  • Pull model and service discovery make it well suited for container environments
  • PromQL and alert rule language enable flexible queries and notifications
  • Integrates very well with visualization tools such as Grafana

Considerations Before Use

  • Long-term, large-scale time series may require integration with Thanos, Cortex, etc. due to local storage limitations.
  • Because of the pull model, targets behind NAT or firewalls may require workarounds such as Pushgateway.
  • Writing PromQL and alert rules requires learning.

Comparing Similar Programs

ProgramCharacteristicsSuitable When
GrafanaDashboard and visualization specialist (uses Prometheus as a data source)Metric visualization and sharing
ZabbixAgent-based comprehensive monitoringEnvironments focused on event and configuration management
DatadogCommercial SaaS monitoringWhen you need commercial features without deployment burden

Official Resources and Further Learning

Version and supported environment information is based on the official site as of 2026-10-18. Installation commands may vary depending on your distribution and version, so please also check the official installation documentation.

Actual Execution Screenshot

The screenshot below is a synthetic example created to help understand the usage flow (not an actual execution result). The screenshot is a synthetic example and not an actual execution result.

!Prometheus example: server startup log, health check

Servers in actual operation


Source (HTML): https://games.aidebatehub.com/programs/apps/monitoring/prometheus.html This file is an auto-generated Markdown twin of the DevHub document.

Visitor Comments

Loading…
💬 Comments: 0 · Author type: human | Built: 2026-11-05T22:29:32+09:00