JeeSite 快速开发平台
官方网站
    • 平台简介
    • 架构特点
    • 技术选型
    • 功能介绍
    • 安装部署
    • 常见问题
    • 目录结构
    • 更新日志
    • Vue 文档
    • BPM 文档
    • Cloud 文档
V5 演示
Vue 演示
💖联系
  • 我要提意见、文档纠错
  • JeeSite 代码库, 请⭐Star关注
  • JeeSite Vue 代码库, 请⭐关注
  • Spring Cloud 微服务架构
  • JeeSite 手机端/移动端
  • AI + RAG + CMS 人工智能
  • Flowable 中国式工作流
  • OAauth2 统一认证服务器
  • 政务内外网环境中间件
  • 访问 ThinkGem 官方博客
  • 点击进入,下拉查看动态
官方网站
    • 平台简介
    • 架构特点
    • 技术选型
    • 功能介绍
    • 安装部署
    • 常见问题
    • 目录结构
    • 更新日志
    • Vue 文档
    • BPM 文档
    • Cloud 文档
V5 演示
Vue 演示
💖联系
  • 我要提意见、文档纠错
  • JeeSite 代码库, 请⭐Star关注
  • JeeSite Vue 代码库, 请⭐关注
  • Spring Cloud 微服务架构
  • JeeSite 手机端/移动端
  • AI + RAG + CMS 人工智能
  • Flowable 中国式工作流
  • OAauth2 统一认证服务器
  • 政务内外网环境中间件
  • 访问 ThinkGem 官方博客
  • 点击进入,下拉查看动态
  • 快速了解

  • 后端开发手册

  • Vue前端手册

  • 经典前端手册

  • 扩展功能专题

  • 云服务技术架构

    • SaaS架构、多租户
    • 负载均衡、集群、高可用
    • SpringCloud 分布式 微服务
    • 分布式事务Seata、AT模式
    • 分布式事务LCN、柔性事务
    • 读写分离、分库分表方案
    • Spring Boot 监控系统
    • SkyWalking 追踪系统
    • ELK 日志收集分析
      • 简介
      • 安装 Elasticsearch
        • 下载
        • 配置
        • 运行
      • 安装 Logstash
        • 下载
        • 配置
        • 运行
      • 安装 Kibana
        • 下载
        • 配置
        • 运行
        • 常见问题
      • 配置 Logback
      • 测试步骤
  • 技术支持与服务

ELK 日志收集、可视化查询分析系统

# 简介

在使用 JeeSite 集群或 Cloud 微服务平台时,日志收集是必不可少的内容,本文主要介绍如何搭建 ELK 系统

  • Elasticsearch:开源分布式搜索引擎,提供存储、分析、搜索功能。目的是存储海量的日志数据
  • Logstash:开源日志搜集、过滤系统。目的是收集日志并进行转换过滤,发送给 Elasticsearch
  • Kibana:开源可视化数据分析系统,对 Elasticsearch 存储的数据进行分析多维度查询分析

# 安装 Elasticsearch

如果您已经安装了 ES,请确认是否安装了中文分词插件,如果都有,可以忽略本节。

本节使用 Windows 操作系统环境为例介绍安装。

# 下载

环境要求 JDK1.8 以上(建议 JDK 11)、ES 版本 7.6.2,本节使用该版本及 Windows 环境为例如下:

注意:Spring Boot 2 下载 Kibana 7.x 版本,Spring Boot 3 请下载 Kibana 8.x 版本

  • https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.2-windows-x86_64.zip (opens new window)
  • https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-8.13.4-windows-x86_64.zip (opens new window)

其它版本在这里查找:https://www.elastic.co/cn/downloads/elasticsearch (opens new window)

下载后解压文件到 elasticsearch-7.6.2-windows-x86_64 目录下。

# 配置

打开 elasticsearch-7.6.2-windows-x86_64/config/elasticsearch.yml 文件,根据自己的情况进行配置:

cluster.name: my-application
network.host: 127.0.0.1
http.port: 9200
1
2
3

# 运行

cd elasticsearch-7.6.2-windows-x86_64/bin
elasticsearch.bat
1
2

# 安装 Logstash

# 下载

https://artifacts.elastic.co/downloads/logstash/logstash-7.6.2.zip (opens new window)

注意下载版本要和 ES 版本匹配,更多版本:https://www.elastic.co/cn/downloads/logstash (opens new window)

下载后解压文件到 logstash-7.6.2 目录下。

# 配置

在 config 目录下新建文件 logstash.conf 内容如下:

input {
    tcp {
        # 指定 logback-spring.xml 里设置的地址
        host => "localhost"
        port => 5055
        # 设定服务器模式
        mode => "server"
        # 日志的默认标签
        tags => ["tags"]
        # 接受 json 格式
        codec => json_lines
    }
}
output {
    elasticsearch {
        # 连接 ES 服务地址
        hosts => "127.0.0.1:9200"
        # 索引名字,区分不同的项目
        index => "js_log_%{[appname]}"
    }
    stdout { codec => rubydebug }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 运行

确保 ES 服务已经启动,命令如下:

cd logstash-7.6.2/bin
logstash.bat -f ../config/logstash.conf
1
2

# 安装 Kibana

# 下载

下载 Kibana 版本要和 ElasticSearch 版本匹配。

  • https://artifacts.elastic.co/downloads/kibana/kibana-7.6.2-windows-x86_64.zip (opens new window)
  • https://artifacts.elastic.co/downloads/kibana/kibana-8.13.4-windows-x86_64.zip (opens new window)

注意:Spring Boot 2 下载 Kibana 7.x 版本,Spring Boot 3 请下载 Kibana 8.x 版本

其它版本在这里查找:https://www.elastic.co/cn/downloads/kibana/ (opens new window)

下载后解压文件到 kibana-7.6.2-windows-x86_64 目录下。

# 配置

修改 config/kibana.yml 文件的语言参数:

i18n.locale: "zh-CN"
1

# 运行

确保 ES 服务已经启动,命令如下:

cd kibana-7.6.2-windows-x86_64/bin
kibana.bat
1
2
  • 浏览器访问

地址:http://localhost:5601/ (opens new window)

  • 进入界面后,首先需要创建索引

创建索引,菜单:Management -> Kibana -> 索引模式 -> 创建索引模式

索引模式填写 js_log_* 点击 “下一步” 按钮,接着点击 “创建索引模式” 按钮即可。

# 常见问题

如果提示 “Forbidden” 可能是因为磁盘空间不足导致 “索引变成只读状态”。

先保证磁盘使用率 90% 以下,菜单:Dev Tools -> 控制台填写如下内容:

PUT _settings
{
  "index": {
    "blocks": {
      "read_only_allow_delete": "false"
    }
  }
}
1
2
3
4
5
6
7
8

然后点击编辑器右侧的 “三角号” 执行发送请求即可。

# 配置 Logback

上述 ELK 环境都已经具备,下面开始配置 JeeSite 中的 Logback 衔接。

v5.3.2+版本可修改 logback-spring-elk.xml 文件中的 destination 设置 Logstash 服务地址。

然后启动参数设置 -Dspring.profiles.active=prod,elk 指定双重配置文件即可。

之前版本,可将如下配置,覆盖到 logback-spring.xml 即可。

<?xml version="1.0" encoding="UTF-8"?>
<configuration debug="false" scan="false">

	<!-- Log file path -->
	<property name="log.path" value="${logPath:-${java.io.tmpdir:-.}}/logs" />
	<springProperty name="appname" source="spring.application.name" />

	<!-- Framework level setting -Dspring.profiles.active=elk -->
	<include resource="config/logger-core.xml"/>

	<!-- Console log output -->
	<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>%d{MM-dd HH:mm:ss.SSS} %clr(%-5p) %clr([%-39logger{39}]){cyan} - %m%n%wEx</pattern>
		</encoder>
	</appender>

	<appender name="logstash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
		<destination>localhost:5055</destination> <!-- 注意:替换为您的 Logstash 服务地址 -->
		<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" >
			<customFields>{"appname":"${appname}"}</customFields>
		</encoder>
	</appender>

	<!-- Level: FATAL 0  ERROR 3  WARN 4  INFO 6  DEBUG 7 -->
	<root level="WARN">
		<appender-ref ref="console" />
		<appender-ref ref="logstash" />
	</root>

</configuration>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

# 测试步骤

  1. 启动 JeeSite,可以在 Logstash 控制台中观察搜集到的日志信息。
  2. 浏览器进入 Kibana 的 Discover 选择 js_log_* 即可查看到日志。
进入 JeeSite 源码仓库页面,点击右上角 ⭐ Star 加星关注。

← SkyWalking 追踪系统 版本区别、联系我们→

联系我们:s.jeesite.com  |  微信号:jeesitex  |  邮箱:jeesite@163.com
© 2013-2025 济南卓源软件有限公司 版权所有 | Theme Vdoing

请关注 JeeSite 微信公众号,了解最新动态

  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式