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

news/2025/2/23 5:53:58

使用 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 节点组成集群。

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


http://www.niftyadmin.cn/n/5863047.html

相关文章

蓝桥杯——PWM波输出与捕获

pwm输出 要求如下&#xff0c;按要求去配置引脚。 ccr输出比较寄存器&#xff0c;占空比&#xff0c;一段时间内高电平所占比列 引脚功能设置为TIM2-CH2,ch2就是定时器的通道二&#xff0c;根据上面的公式计算给出f1000&#xff0c;时ARR与PSC的值&#xff0c;系统频率f为80…

基于 DeepSeek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知

写在前面 博文内容涉及 基于 Deepseek LLM 的本地知识库搭建使用 ollama 部署 Deepseek-R1 LLM知识库能力通过 Ragflow、Dify 、AnythingLLM、Cherry 提供理解不足小伙伴帮忙指正 &#x1f603;,生活加油 我站在人潮中央&#xff0c;思考这日日重复的生活。我突然想&#xff0c…

区块链相关方法-SWOT分析

1.SWOT 一、定义:一种基于内外部竞争环境和竞争条件下的态势分析&#xff0c;通过对企业的内外环境所形成的优势&#xff08;Strengths&#xff09;、劣势&#xff08;Weaknesses&#xff09;、机会&#xff08;Opportunities&#xff09;和威胁&#xff08;Threats&#xff0…

蓝禾,oppo,游卡,汤臣倍健,康冠科技,作业帮,高途教育25届春招内推

蓝禾&#xff0c;oppo&#xff0c;游卡&#xff0c;汤臣倍健&#xff0c;康冠科技&#xff0c;作业帮&#xff0c;高途教育25届春招内推 ①康冠科技 【职位】算法、软件、硬件、技术&#xff0c;结构设计&#xff0c;供应链&#xff0c;产品&#xff0c;职能&#xff0c;商务 【…

C#初级教程(6)——函数:从基础到实践

一、函数的核心价值&#xff1a;简化与复用代码 以游戏开发项目为例&#xff0c;在游戏中&#xff0c;角色的移动、攻击等行为并非只在单一场景中出现。设想一下&#xff0c;若每次需要角色执行这些行为时&#xff0c;都要重新编写对应的代码&#xff0c;那将是何等繁琐且易错的…

【洛谷排序算法】P1012拼数-详细讲解

这道题本质上是通过确定数字的拼接顺序来得到最大拼接数&#xff0c;虽然主要思路是利用字符串及其比较规则来实现&#xff0c;但也可以基于数组结合一些转换操作来解决&#xff0c;以下是大致思路和代码示例&#xff1a; 【算法思路】 首先将输入的数字存储在数组中。然后自…

【Linux】34.封装 UdpSocket(1)

文章目录 1. 实现一个简易的远程命令执行系统1.1 日志系统 (Log.hpp)1.2 UDP客户端 (UdpClient.cc)1.3 UDP服务器 (UdpServer.hpp)1.4 主程序 (main.c) 1. 实现一个简易的远程命令执行系统 1.1 日志系统 (Log.hpp) Log.hpp #pragma once // 防止头文件重复包含// 必要的头文…

二级公共基础之数据结构与算法篇(七)排序技术

目录 前言 一、交换类排序 1.冒泡排序法 1. 冒泡排序的思想 2. 冒泡排序的实现步骤 3. 示例 4. 冒泡排序的特点 2.快速排序 1. 快速排序的核心思想 2. 快速排序的实现步骤 3. 示例代码(C语言) 4. 快速排序的特点 二、插入类排序 1. 简单插入排序 1.简单插入排…