ELK环境搭建

简介: 基于ELK架构的日志系统,使用ElasticSearch存储与索引日志,Kibana展示搜索,Filebeat采集并解析。部署于192.168.xxx.xxx,通过Pipeline处理日志格式,支持按策略过期删除。采用HostPath挂载实现日志收集,适用于CCE无PVC环境,确保应用日志高效可视化管理。(238字)

环境说明
方案:使用ElasticSearch保存日志,使用Kibana进行日志展示、搜索、过期删除,使用 ElasticSearch 的pipeline进行日志的解析,使用 filebeat 采集日志发送给ElasticSearch。使用服务器192.168.xxx.xxx进行部署。

准备:

从官网下载 ElasticSearch(elasticsearch-8.15.0-linux-x86_64.tar.gz)上传到服务器

从官网下载 kibana(kibana-8.15.0-linux-x86_64.tar.gz)上传到服务器

从官网下载 elastic/filebeat 的docker镜像,推送到cce镜像仓库

部署环境
环境检查
检查vm.max_map_count的大小,要求该值至少为262144:
如果该值不满足要求,可以修改/etc/sysctl.conf文件,在该文件中新增一行或者修改vm.max_map_count:

检查ulimit的值:
修改ulimit的值为65536:

配置防火墙:

部署ElasticSearch
将 ElasticSearch 解压:
调整 ElasticSearch的配置文件:config/elasticsearch.yml:
创建对应的文件夹:

/home/elk/elasticsearch-workspace/data:数据文件夹

/home/elk/elasticsearch-workspace/logs:日志文件夹

生成证书:
1
生成CA:
2
通过CA生成证书:

启动ElasticSearch:
配置用户密码:

访问ElasticSearch:http://192.168.xxx.xxx:9200
如果提示需要用户密码,输入用户elastic,密码123456(即上面设置的密码)

关闭elasticsearch:

部署kibana
解压Kibana:
调整Kibana配置文件:config/kibana.yml

启动kibana:

访问kibana:http://192.168.xxx.xxx:5601/
如果提示需要用户密码,输入用户elastic,密码123456(即elasticsearch设置的密码)

关闭Kibana:

配置项目的日志格式
调整项目的日志格式,使其成为固定格式,例如:
调整日志的输出路径、日志名称、日志级别等信息

配置项目的ELK索引信息
通过向ElasticSearch发送相关请求,创建项目的索引信息。
创建生命周期策略myproject-strategy:

创建索引模板:myproject-app

创建pipeline:myproject-logback-pipeline

部署filebeat
filebeat需要能够读取到云上myproject项目的日志,所以需要将myproject项目的日志映射出来。可以使用以下几种方案:

方案1:使用PVC,将项目日志映射到PVC上,filebeat也挂载该PVC,读取其中的日志

方案2:filebeat配置节点亲和配置为亲和myproject项目,使得filebeat的pod和myproject项目pod运行在同一个节点。将myproject日志映射到节点主机HostPath上,filebeat也挂载主机的HostPath,读取其中的日志
CCE云上现在没有PVC配额,目前采用方案2。

添加一个ConfigMap myproject-filebeat:其中配置filebeat.yml
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
32
33
34
35
36
37
38
filebeat.inputs:

  • type: filestream
    enabled: true
    id: filestream-myproject-app
    paths:
    • /tmp/logs/myproject/myproject.log
      fields:
      sourceSystem: myproject-app
      profile: dev
      project: web
      level: all
      pod: ${POD_IP:"-"}
      fields_under_root: true
      parsers:
    • multiline:
      type: pattern
      pattern: '^\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}.\d{3}\s[[\w.-]]\s[[\w.-]]\s[[\w.-]*]\s[A-Z]{4,5}\s'
      negate: true
      match: after

setup:
template:
enabled: false
name: "myproject-app"
pattern: "myproject-app-*"
overwrite: true
settings:
index.number_of_shards: 1
ilm:
enabled: false

output.elasticsearch:
hosts: ["192.168.xxx.xxx:9200"]
username: "elastic"
password: "123456"
index: "myproject-app-dev-%{+yyyy.MM.dd}"
pipeline: "myproject-logback-pipeline"

创建工作负载myproject-filebeat,镜像使用elastic/filebeat:8.15.0。
数据存储中,将myproject-filebeat的filebeat.yml挂载到/usr/share/filebeat/filebeat.yml(注意配置子路径)
将HostPath的/tmp/logs/挂载到容器的/tmp/logs/。
配置应用亲和,亲和 myproject-app应用。

查看日志
访问Kibana即可查看相关日志:http://192.168.xxx.xxx:5601/

目录
相关文章
|
3月前
|
Java Maven 数据安全/隐私保护
Nexus仓库
本文介绍Linux环境下Nexus Repository Manager OSS的安装与配置,包括JDK8环境搭建、Nexus下载解压、服务启动及Web访问。涵盖登录密码管理、仓库创建、Docker部署、数据持久化、Maven/NPM/Docker私仓配置与资源上传等核心操作,助力搭建高效私有仓库。
268 0
|
存储 应用服务中间件 测试技术
Elasticsearch Data Stream 数据流使用
Elasticsearch Data Stream 数据流使用
431 0
|
3月前
|
网络安全 数据安全/隐私保护 Docker
09-ELK环境搭建
本文介绍ELK环境搭建全过程,基于ElasticSearch 8.15.0部署日志系统,使用Filebeat采集日志,通过Pipeline解析,Kibana展示与搜索。涵盖服务器配置、系统参数调优、防火墙设置、证书生成、用户密码配置及Kibana中文界面设置,实现高效日志管理。
|
6月前
|
搜索推荐 算法 JavaScript
基于springboot的健康饮食营养管理系统
本系统基于Spring Boot、Vue与MySQL技术,融合大数据与AI算法,构建个性化健康饮食管理平台。结合用户身体状况、目标需求,智能推荐营养方案,助力科学饮食与健康管理。
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
1071 6
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
|
缓存 安全 Java
Elasticsearch—生产环境集群核心配置
Elasticsearch—生产环境集群核心配置
415 0
|
JSON 应用服务中间件 开发工具
elk日志系统搭建
开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片, 索引副本机制,restful 风格接口,多数据源,自动搜索负载等
339 0
|
运维 监控 Java
【运维知识进阶篇】Zabbix5.0稳定版详解8(Zabbix监控Java项目+详解JMX与Zabbix-Java-Gateway原理+详解监控Java项目流程原理)
【运维知识进阶篇】Zabbix5.0稳定版详解8(Zabbix监控Java项目+详解JMX与Zabbix-Java-Gateway原理+详解监控Java项目流程原理)
949 0