Filebeat 采集 应用日志部署 & Kibana 查询操作文档

Filebeat 采集 应用日志部署 & Kibana 查询操作文档

一、环境说明

  1. Filebeat 版本:7.10.0
  2. 日志采集源:/opt/casb/logs/*.log
  3. 后端 ES 地址:https://10.1.1.31:443/es(双向 SSL mTLS 认证)
  4. 索引生成规则:按月滚动 casb-casb31-casb-plugin-log-%{+yyyy.MM}

二、Filebeat 启停与调试启动命令

1. 标准带 TLS 调试启动命令(排查证书 / SSL 连接专用)

进入 Filebeat 程序目录执行:

复制代码
# 进入程序目录
cd /home/filebeat-7.10.0-linux-x86_64

# 带tls模块调试启动,打印证书加载、握手全过程日志
./filebeat -c /opt/casb/filebeat.yml -d tls

参数说明:

  • -c:指定配置文件路径
  • -d tls:开启 tls 模块 debug 日志,排查双向证书加载、Nginx/ES 握手 400 报错

2. 后台常驻标准启动(生产运行)

nohup ./filebeat -c /opt/casb/filebeat.yml > filebeat.out 2>&1 &

3. 停止 Filebeat

查找进程PID

ps -ef | grep filebeat

杀掉进程

kill -15 进程PID

4. 实时查看运行日志

tail -200f logs/2079123707146022913.log

三、索引名称查看方法(从 filebeat.yml 配置文件)

位置 1:elasticsearch.output.index 字段(最直接)

打开配置文件 /opt/casb/filebeat.yml,找到 output 输出段:

复制代码
output.elasticsearch:
  hosts: ["https://10.1.1.31:443/es"]
  index: "casb-casb31-casb-plugin-log-%{+yyyy.MM}" # 索引模板定义位置

%{+yyyy.MM}:按月自动生成真实索引,2026 年 7 月实际索引:casb-casb31-casb-plugin-log-2026.07

位置 2:索引 template 模板(备选查看)

配置中setup.template.namesetup.template.pattern也会对应索引前缀:

复制代码
setup.template.name: "casb-casb31-casb-plugin-log"
setup.template.pattern: "casb-casb31-casb-plugin-log-*"

命令行快速查看索引配置(无需打开文件)

grep '^index:' /opt/casb/filebeat.yml

四、Kibana 查询索引完整操作指南

方式一:DevTools 控制台 DSL 语句查询(命令式)

打开 Kibana 左侧菜单 → 开发工具(Dev Tools),在 Console 输入执行。

1. 查看系统内所有生成的真实索引

GET _cat/indices/casb-casb31-casb-plugin-log-*?v

返回示例:

yellow open casb-casb31-casb-plugin-log-2026.07 r0I8LgJNRT-T-LGiNkNalA 1 1 120 0 89.2kb 89.2kb

2. 统计索引总日志条数

GET casb-casb31-casb-plugin-log-*/_count

3. 查看最新 50 条日志(仅展示时间、日志内容)
复制代码
GET casb-casb31-casb-plugin-log-*/_search
{
  "_source": ["@timestamp", "message"],
  "size": 50,
  "sort": [{"@timestamp": "desc"}]
}
4. 检索包含 ERROR 报错的日志
复制代码
GET casb-casb31-casb-plugin-log-*/_search
{
  "_source": ["@timestamp", "message"],
  "size": 50,
  "sort": [{"@timestamp": "desc"}],
  "query": {
    "match": {
      "message": "ERROR"
    }
  }
}
5. 筛选 WARN 告警日志
复制代码
GET casb-casb31-casb-plugin-log-*/_search
{
  "_source": ["@timestamp", "message"],
  "size": 50,
  "sort": [{"@timestamp": "desc"}],
  "query": {
    "wildcard": {
      "message": "*[WARN]*"
    }
  }
}
6. 查询近 30 分钟实时日志
复制代码
GET casb-casb31-casb-plugin-log-*/_search
{
  "_source": ["@timestamp", "message"],
  "size": 50,
  "sort": [{"@timestamp": "desc"}],
  "query": {
    "range": {
      "@timestamp": {
        "gte": "now-30m"
      }
    }
  }
}

方式二:Kibana Discover 可视化页面查看(图形化检索)

  1. 左侧菜单 → 堆栈管理(Stack Management)索引模式
  2. 点击【创建索引模式】,输入索引匹配规则:casb-casb31-casb-plugin-log-*
  3. 时间筛选字段选择:@timestamp,点击下一步创建完成
  4. 左侧菜单进入【Discover】,即可:
    • 时间范围筛选日志
    • 搜索框直接输入关键词(ERROR、WARN、token 等)过滤日志
    • 图表查看日志每分钟产出量

五、补充常见说明

  1. 索引状态 yellow:ES 单节点部署,副本数 rep=1 无法分配,不影响日志写入、查询,无需处理;
  2. 通配符 casb-casb31-casb-plugin-log-* 适配所有月份索引,无需手动修改年月;
  3. -d tls 启动命令专门用于排查之前出现的客户端证书 400 报错问题。
相关推荐
苏宸啊9 小时前
linux线程池
linux
草莓熊Lotso9 小时前
【LangChain】输出解析器全解:让大模型输出从 “聊天” 变 “机器可读”
服务器·数据库·python·langchain·pip
取谖慕12.9 小时前
Prometheus+Alertmanager+node_exporter+grafana高可用
linux·运维·grafana·prometheus
小此方9 小时前
Re:Linux系统篇(四十五)信号篇·三:一文讲透 Linux 信号保存机制:block,pending,handler三张表到底在做什么
linux·运维·服务器
C+-C资深大佬11 小时前
GitHub Actions 自动化运维实战:从零到一构建高效 CI/CD 流水线
运维·自动化·github
2301_7779983418 小时前
Linux信号机制
linux
一叶龙洲20 小时前
win11与Ubuntu之间同步配置、插件
linux·运维·ubuntu
CHANG_THE_WORLD21 小时前
12.总结:深入理解 Linux I/O 多路复用:select、poll、epoll 全解析
linux·运维·服务器