使用 Filebeat+Easysearch+Console 打造日志管理平台

近年来,日志管理平台越来越流行。使用日志管理平台可以实时地、统一地、方便地管理和查看日志,挖掘日志数据价值,驱动运维、运营,提升服务管理效率。

方案架构

  • Beats 是轻量级采集器,包括 Filebeat、Metricbeat 等。
  • Easysearch 是个分布式搜索引擎,提供搜集、分析、存储数据等主要功能。
  • Console 是一个可视化工具,提供可视化查询,制作报表等功能。

本文将搭建一个统一日志管理平台。使用 Filebeat 采集 OS 中的日志(其他日志大同小异),发送到 Easysearch 中。最后通过 Console 进行日志的可视化查询与分析。

操作步骤

  1. 准备工作
    • 部署 Easysearch
      • 编辑 easysearch.yml 文件,打开注释 elasticsearch.api_compatibility: true
    • 部署 Console
  2. 安装并配置 Filebeat
arduino 复制代码
setup.template.name: "filebeat"
setup.template.pattern: "system-log*"
setup.template.fields: "${path.config}/fields.yml"

output.elasticsearch:
    hosts: ["localhost:9200"]
    protocol: "https"
    ssl.verification_mode: none
    username: "admin"
    password: "4ad8f8f792e81cd0a6de"
    index: "system-log"
  1. 启用 system 模块并导入 pipeline

./filebeat modules enable system
./filebeat setup --pipelines --modules system

  1. 创建索引模板及初始索引,使用 ZSTD+SOURCE_REUSE 技术节省磁盘空间
bash 复制代码
PUT _template/system_log
{
	"order": 100,
  "index_patterns": [
      "system_log*"
    ],
      "settings": {
        "index": {
          "format": "7",
          "lifecycle": {
          "name": "ilm_.infini_metrics-30days-retention",
          "rollover_alias": "system_log"
        },
        "codec": "ZSTD",
        "source_reuse": true,
        "number_of_shards": "1",
        "translog": {
          "durability": "async"
        }
      }
    },
    "mappings": {
      "dynamic_templates": [
        {
          "strings": {
            "mapping": {
              "ignore_above": 256,
              "type": "keyword"
            },
            "match_mapping_type": "string"
          }
        }
      ]
    }
}

PUT system-log-00001
{
    "aliases":{
    "system-log":{
      "is_write_index":true
    }
  }
}
  1. 启动 filebeat

nohup ./filebeat -c filebeat.yml 2>&1>/dev/null &

  1. 进入 Console 查看、搜索日志
  2. 进入 Console 创建 dashboard 进行日志分析
相关推荐
消失的旧时光-19439 小时前
Nginx 是什么?为什么它不写在代码里?——从 0 认识 Nginx
运维·服务器·nginx
BJ_Bonree9 小时前
4月17日,博睿数据受邀出席GOPS全球运维大会2026 · 深圳站!
大数据·运维·人工智能
RisunJan9 小时前
Linux命令-lpq(查看打印队列状态)
linux·运维·服务器
山君爱摸鱼9 小时前
Linux-服务进程
linux·运维·服务器
阿乐艾官9 小时前
【linux文件系统重要目录及命令解释】
linux·运维·服务器
senijusene9 小时前
Linux软件编程: Linux 操作系统基础与shell脚本
linux·运维·chrome
乾元10 小时前
身份与访问:行为生物识别(按键习惯、移动轨迹)的 AI 建模
运维·网络·人工智能·深度学习·安全·自动化·安全架构
ghostwritten10 小时前
春节前夕,运维的「年关」:用 Kubeowler 给集群做一次「年终体检」
运维·云原生·kubernetes
馨谙10 小时前
Ansible模块化Playbook管理:静态导入与动态包含详解
运维·ansible
聆风吟º15 小时前
CANN开源项目深度实践:基于amct-toolkit实现自动化模型量化与精度保障策略
运维·开源·自动化·cann