什么是 ELK/Grafana

ELK

Data Flow in ELK Stack: Logstash (Collect & Transform) → Elasticsearch (Store & Search) → Kibana (Visualize)

Elasticsearch

Explore Elasticsearch Query DSL

What is Elasticsearch?

Elastic (formerly Elasticsearch) is a suite of open-source tools for search, analytics, and data visualization, built around the core Elasticsearch engine. It's widely used for:

  • Full-text search: like Google for your data.
  • Log and metric analysis: centralized logging with the ELK Stack.
  • Business analytics: dashboard, trends, machine learning.

Elasticsearch enables you to build powerful search experiences for websites, applications, and enterprise data using Elastic's unified platform.

How to use Elasticsearch?

sql 复制代码
GET /_search
{
  "query": {
    "bool": {
      "must": [
        { "match": { "title":   "Search"        }},
        { "match": { "content": "Elasticsearch" }}
      ],
      "filter": [
        { "term":  { "status": "published" }},
        { "range": { "publish_date": { "gte": "2015-01-01" }}}
      ]
    }
  }
}
  • Elasticsearch's native interface is HTTP-based, and requests/responses are typically in JSON.
  • Elasticsearch provides official clients for multiple languages, which handle JSON internally.
  • Tools with non-json interfaces: Kibana query language(KQL), SQL(not natively) interface, command line tools.
  • Graphical interfaces: Kibana dev tools, elastic search head(plugin).
  • ETL tools: Logstash, beats.

Logstash

Try the Logstash Quick Start

What is Logstash?

Logstash is an open-source data processing pipeline tool developed by Elastic. It ingests, transforms, and ships data from various sources (logs, databases, APIs) to destinations like Elasticsearch, databases, or cloud storage.

How to use Logstashs?

A Logstashs pipeline has 3 stages: Input → Filter → Output.

Example config file (logstash.conf):

ruby 复制代码
input {
  file {
    path => "/var/log/nginx/access.log"  # Read Nginx logs
    start_position => "beginning"
  }
}

filter {
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }  # Parse log format
  }
  date {
    match => [ "timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ]  # Fix timestamp
  }
}

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]  # Send to Elasticsearch
    index => "nginx-logs-%{+YYYY.MM.dd}"
  }
}

Kibana

What is Kibana?

Kibana is the visualization and management UI for the Elastic Stack.

Kibana vs. Kusto

  • Kusto KQL: Used in Microsoft's ecosystem (Azure). Kusto is a cloud-based data analytics engine by MS (Azure Data Explorer).
  • Kibana KQL: Used in Elastic's ecosystem (Kibana). Kibana is a visualization/dashboard tool for Elasticsearch (part for ELK stack).

How to use Kibana?

Grafana

Explore Grafana Labs Tutorials

What is Grafana?

Grafana is an open-source dashboard and visualization tool designed for monitor and analyzing time-series data. It connect to multiple data sources (like Elasticsearsh, MySQL, stc.) and lets you to create interactive dashboards with charts, graphs, and alerts.

Grafana vs. Kibana

  • Grafana is better for time-series metrics. e.g. infrastructure monitoring (CPU, network)

  • Kibana excels at log exploration.

    Logs → Logstash/Beats → Elasticsearch → Kibana (logs)
    Metrics → Prometheus → Grafana (metrics)

How to use Grafana?

Try the Grafana Playground (pre-built demos).

相关推荐
久曲健的测试窝2 天前
Jenkins Share Library教程 —— 开发入门
运维·servlet·jenkins
运维栈记2 天前
使用Grafana监控K8S中的异常Pod
docker·kubernetes·grafana
风清再凯2 天前
01-ELK安装ES,ES-head
大数据·elk·elasticsearch
韩宏伟2 天前
使用 Loki + Promtail + Grafana 实现 Docker 容器日志采集与可视化
docker·容器·grafana
xxxxxxllllllshi2 天前
Java中Elasticsearch完全指南:从零基础到实战应用
java·开发语言·elasticsearch·面试·职场和发展·jenkins
恋上钢琴的虫3 天前
使用 Loki + Promtail + Grafana搭建日志系统
运维·grafana
心一信息3 天前
grafana及zabbix在linux上的部署
linux·zabbix·grafana
黑马金牌编程3 天前
Jenkins的Linux与window部署方式
linux·运维·windows·jenkins·持续集成·cicd
weixin_307779133 天前
在Linux服务器上使用Jenkins和Poetry实现Python项目自动化
linux·开发语言·python·自动化·jenkins