1.1为什么需要监控项目日志
项目日志是记录项目运行过程中产生的事件和信息的重要工具,对于项目管理来说,监控项目日志的重要性体现在以下几个方面:
- 提升项目管理效率:监控项目日志可以及时发现和解决问题,从而避免问题影响到项目的进度和质量,减少管理成本。
- 保证项目质量:通过监控项目日志,可以实时了解项目进展情况,及时调整和优化项目进度和工作流程,提升项目质量。
- 维护项目安全:监控项目日志可以发现并防范项目安全问题,及时处理安全事件,保护项目的安全性和稳定性。
- 支持决策制定:通过对项目日志的分析和研究,可以及时发现项目中存在的问题和障碍,以便更好地制定决策并调整项目计划。
==总之,监控项目日志是项目管理中一个重要的环节,在保证项目质量、提高项目效率、维护项目安全以及制定决策方面都有着关键的作用。==
1.2ELK日志监控系统介绍
ELK是一个流行的日志管理和监控解决方案,它由三个主要组件组成:Elasticsearch、Logstash和Kibana。这三款组件都是elastic
旗下的产品。官网地址:欢迎来到 Elastic — Elasticsearch 和 Kibana 的开发者 | Elastic
Elasticsearch
:==是一个分布式搜索和分析引擎,将日志数据存储在分布式索引中,支持快速搜索、聚合和分析。Elasticsearch还提供了高可用性和可扩展性,支持水平扩展和负载平衡。==
Logstash
:==是一个日志数据采集和转换工具,用于收集来自各种来源的数据,并将其转换为可用于Elasticsearch的标准格式。Logstash能够处理多种协议和格式,包括日志文件、数据库、平面文件等数据源,提供针对数据的过滤、清洗和变换操作。==
Kibana
:==是可视化和展示工具,用于查询、分析和可视化存储在Elasticsearch中的数据。Kibana的用户界面简单直观,支持定制仪表板和图表,以及可视化分析和查询数据。==
总体来说,ELK是一个高度可扩展、快速、灵活的日志管理和监控系统,它使得搜集、处理、展现和掌握大量的日志数据变得简单化和直观化,方便用户对计算机系统中的问题进行监控和排错。
1.3ELK的工作流程
数据源产生日志,将日志传输到Logstash
。
Logstash
对日志进行过滤、解析和转换,将其标准化(通常为JSON数据格式)并发送给Elasticsearch
进行存储。
Elasticsearch
将数据存储在分布式索引中,支持快速搜索、聚合和分析。
Kibana
查询和分析分布式索引中的数据,并通过仪表板和可视化图表展示数据结果。
1.4ELK环境搭建
1.4.1Elasticsearch的安装
- 拉取镜像
- 创建挂载目录
- 创建elasticsearch容器实例
命令解释:
-e “discovery.type=single-node”:使es单节点运行
-e ES_JAVA_OPTS=”-Xms64m -Xmx512m”:设置es占用的内存
- 设置es密码
- 进入到
elasticsearch.yml
的挂载目录,添加以下内容
重启es容器并进入es容器
进入容器后执行以下命令
依次输入密码
重启es容器
开放对应的端口(如果是与服务器同时也要开启安全组规则)
- 访问9200端口测试
1.4.2Kibana的安装
- 创建挂载目录和文件
- 配置配置文件
- 创建kibana容器实例
- 开放对应端口(如果是与服务器同时也要开启安全组规则)
- 访问对应的5601端口
1.4.3Logstash的安装
- 拉取Logstash镜像
- 在
/mydata/logstash
目录下创建logstash的配置文件logstash.conf
,写入以下配置:其中index
是索引的名称,我们使用“xha-”前缀加时间来生成每天的索引。
- 启动容器
- 进入logstash容器,安装json_lines所需的插件
- 重启logstash
1.4.4数据源配置
这里采用分布式微服务项目测试,分有多个模块,其中含有common
模块,common
模块作为公共模块在其他模块都有引入。
- 在
common
模块中添加logstash
和logback
依赖
- 在
common
模块的resources
目录下创建logback-spring.xml
文件,写入以下配置
- 对于以下配置信息,在各个模块添加application.yaml配置文件,写入
logstash
配置信息
1.4.5日志监测测试
- 启动一个模块,控制台打印日志信息
- 查看索引管理,以天为单位生成索引:
- 查看kibana当中的
Discover
,查看命中记录
- 查看命中记录的详细信息
1.4.6日志数据可视化展示
- 创建新的仪表板
- 在仪表板中添加新的可视化
- 点击创建新的可视化
- 选择创建的可视化类型,这里选择饼图
- 选择索引
- 添加切片
- 选择词聚合
- 再选择字段,点击运行
- 可视化生成完成
- 保存并添加到仪表板
- 日志等级信息展示
选择可选字段进行过滤
保存为Search
在仪表板中进行添加