Skip to content

Latest commit

 

History

History
47 lines (28 loc) · 2.98 KB

README.md

File metadata and controls

47 lines (28 loc) · 2.98 KB

Monitoring

Prometheus

Prometheus is a powerful open-source monitoring and alerting toolkit designed primarily for reliability and scalability. It’s widely used for monitoring system and application metrics and integrates well with many other tools and systems in the DevOps ecosystem.

  • Prometheus Server: Collects and stores metrics data. It scrapes metrics from configured endpoints at specified intervals and stores this data in a time-series database.

  • Storage: Metrics are stored in a time-series format with a timestamp and a set of key-value pairs (labels) that describe the metrics.

  • Prometheus Query Language (PromQL): A powerful and flexible query language used to extract and manipulate data stored in Prometheus. It allows you to perform complex queries, aggregations, and calculations on time-series data.

  • Exporters: Components that expose metrics from various applications or systems in a format that Prometheus can scrape. Common exporters include those for databases (e.g., PostgreSQL), web servers (e.g., Nginx), and hardware metrics (e.g., node_exporter for system metrics).

  • Alertmanager: Handles alerts sent by the Prometheus server. It manages alert notifications, deduplication, grouping, and routing to different notification channels like email, Slack, or PagerDuty.

  • Grafana: While not a part of Prometheus itself, Grafana is commonly used alongside Prometheus to create rich, interactive dashboards and visualizations of the metrics data.

  • Pull Model: Prometheus uses a pull-based model to collect metrics. It periodically scrapes data from configured endpoints, which can simplify the process of monitoring and ensures that the data collection is consistent.

Elastic Search

Elasticsearch is a powerful search and analytics engine with several key strengths:

  • Scalability
    Elasticsearch scales horizontally by adding nodes to your cluster, using sharding and replication to manage large data volumes and ensure high availability.

  • Full-Text Search Capabilities
    It excels in full-text search with support for complex queries and relevance scoring, making it highly effective for search applications.

  • Real-Time Data Analysis
    Data is indexed in near real-time, allowing for immediate search and analytics. It also supports real-time aggregations for live data insights.

  • Powerful Query Language
    Elasticsearch uses a flexible JSON-based Query DSL for complex queries, filtering, and aggregation, enabling detailed and customizable searches.

  • Aggregation and Analytics
    It provides extensive aggregation options and faceted search to analyze and report on data effectively.

  • Schema Flexibility
    Elasticsearch offers dynamic mappings and custom schemas, allowing for flexible data indexing and search without a fixed schema.

  • High Availability
    Data replication and automatic failover ensure continuous operation and minimal downtime in case of node failures.

  • Security
    It includes role-based access control (RBAC) and supports encryption to secure data and manage access.