日志管理利器:基于 ELK 的日志收集、存储与可视化实战

时间:2025-02-23 09:21:21

使用 LogstashElasticsearchKibana(通常称为 ELK Stack)可以快速搭建一个强大的日志收集、存储和可视化平台。以下是使用蓝易云搭建日志平台的步骤:


1. 环境准备

确保你有一台云服务器(如蓝易云提供的服务器),并具备以下条件:

  • 操作系统:推荐使用 Linux(如 CentOS、Ubuntu)。
  • Java 环境:Elasticsearch 和 Logstash 需要 Java 运行环境,建议安装 JDK 11 或以上版本。
  • 网络配置:确保服务器的防火墙允许以下端口访问:
    • Elasticsearch: 9200
    • Kibana: 5601
    • Logstash: 5044(用于接收日志)

2. 安装 Elasticsearch

Elasticsearch 是日志存储和搜索的核心组件。

步骤:
  1. 下载并安装 Elasticsearch:

    wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.10.0-linux-x86_64.tar.gz
    tar -xzf elasticsearch-8.10.0-linux-x86_64.tar.gz
    cd elasticsearch-8.10.0/
    
  2. 修改配置文件 config/elasticsearch.yml

    network.host: 0.0.0.0
    discovery.seed_hosts: ["127.0.0.1"]
    cluster.initial_master_nodes: ["127.0.0.1"]
    
  3. 启动 Elasticsearch:

    ./bin/elasticsearch
    
  4. 验证 Elasticsearch 是否运行:

    curl -X GET "localhost:9200"
    

    如果返回 JSON 格式的欢迎信息,说明 Elasticsearch 已成功启动。


3. 安装 Logstash

Logstash 用于收集、过滤和转发日志到 Elasticsearch。

步骤:
  1. 下载并安装 Logstash:

    wget https://artifacts.elastic.co/downloads/logstash/logstash-8.10.0-linux-x86_64.tar.gz
    tar -xzf logstash-8.10.0-linux-x86_64.tar.gz
    cd logstash-8.10.0/
    
  2. 创建 Logstash 配置文件 config/logstash.conf

    input {
      beats {
        port => 5044
      }
    }
    
    filter {
      grok {
        match => { "message" => "%{COMBINEDAPACHELOG}" }
      }
    }
    
    output {
      elasticsearch {
        hosts => ["localhost:9200"]
        index => "logs-%{+YYYY.MM.dd}"
      }
      stdout { codec => rubydebug }
    }
    
  3. 启动 Logstash:

    ./bin/logstash -f config/logstash.conf
    

4. 安装 Kibana

Kibana 是日志的可视化工具,用于展示和分析日志数据。

步骤:
  1. 下载并安装 Kibana:

    wget https://artifacts.elastic.co/downloads/kibana/kibana-8.10.0-linux-x86_64.tar.gz
    tar -xzf kibana-8.10.0-linux-x86_64.tar.gz
    cd kibana-8.10.0/
    
  2. 修改配置文件 config/kibana.yml

    server.host: "0.0.0.0"
    elasticsearch.hosts: ["http://localhost:9200"]
    
  3. 启动 Kibana:

    ./bin/kibana
    
  4. 访问 Kibana:
    打开浏览器,访问 http://<服务器IP>:5601,进入 Kibana 界面。


5. 配置日志收集

你可以使用 Filebeat 或直接通过 Logstash 收集日志。

使用 Filebeat:
  1. 下载并安装 Filebeat:

    wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.10.0-linux-x86_64.tar.gz
    tar -xzf filebeat-8.10.0-linux-x86_64.tar.gz
    cd filebeat-8.10.0-linux-x86_64/
    
  2. 修改配置文件 filebeat.yml

    filebeat.inputs:
    - type: log
      enabled: true
      paths:
        - /var/log/*.log
    
    output.logstash:
      hosts: ["localhost:5044"]
    
  3. 启动 Filebeat:

    ./filebeat -e
    

6. 在 Kibana 中查看日志

  1. 进入 Kibana 界面,点击 Discover
  2. 创建索引模式(如 logs-*),选择时间戳字段。
  3. 查看和分析日志数据。

7. 优化与扩展

  • 性能优化:根据日志量调整 Elasticsearch 和 Logstash 的资源配置。
  • 安全性:启用 Elasticsearch 和 Kibana 的安全功能(如 HTTPS、用户认证)。
  • 高可用性:部署多个 Elasticsearch 节点组成集群。

通过以上步骤,可以在蓝易云上快速搭建一个功能强大的日志平台,满足日志收集、存储和可视化的需求。