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/

目录
相关文章
|
8月前
|
Java Maven 数据安全/隐私保护
Nexus仓库
本文介绍Linux环境下Nexus Repository Manager OSS的安装与配置,包括JDK8环境搭建、Nexus下载解压、服务启动及Web访问。涵盖登录密码管理、仓库创建、Docker部署、数据持久化、Maven/NPM/Docker私仓配置与资源上传等核心操作,助力搭建高效私有仓库。
539 0
|
存储 应用服务中间件 测试技术
Elasticsearch Data Stream 数据流使用
Elasticsearch Data Stream 数据流使用
554 0
|
机器学习/深度学习 数据采集 自然语言处理
ModelScope保姆式教程带你玩转语言生成模型
PALM预训练语言生成模型是针对实际场景中常见的文本生成需求所设计的一个模型。模型利用大量无监督数据,通过结合自编码和自回归任务进行预训练,更贴合下游生成任务所同时需要的理解和生成能力。
35700 4
ModelScope保姆式教程带你玩转语言生成模型
|
8月前
|
JSON 自然语言处理 Docker
安装ES、Kibana、IK
本文介绍如何通过Docker部署单节点Elasticsearch与Kibana,并配置IK分词器。涵盖网络创建、镜像加载、容器运行、数据卷挂载等步骤,实现ES与Kibana互联;通过Kibana的DevTools操作ES;离线安装IK分词器并配置扩展词典与停用词典,提升中文分词效果;最后处理常见启动报错问题,确保服务正常运行。(238字)
|
8月前
|
网络安全 数据安全/隐私保护 Docker
09-ELK环境搭建
本文介绍ELK环境搭建全过程,基于ElasticSearch 8.15.0部署日志系统,使用Filebeat采集日志,通过Pipeline解析,Kibana展示与搜索。涵盖服务器配置、系统参数调优、防火墙设置、证书生成、用户密码配置及Kibana中文界面设置,实现高效日志管理。
|
11月前
|
搜索推荐 算法 JavaScript
基于springboot的健康饮食营养管理系统
本系统基于Spring Boot、Vue与MySQL技术,融合大数据与AI算法,构建个性化健康饮食管理平台。结合用户身体状况、目标需求,智能推荐营养方案,助力科学饮食与健康管理。
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
1307 6
|
人工智能 JSON Linux
利用阿里云GPU加速服务器实现pdf转换为markdown格式
随着AI模型的发展,GPU需求日益增长,尤其是个人学习和研究。直接购置硬件成本高且更新快,建议选择阿里云等提供的GPU加速型服务器。
840 4
利用阿里云GPU加速服务器实现pdf转换为markdown格式
|
弹性计算 Oracle Java
centos7 搭建java环境
本文详细介绍了在阿里云服务器ECS上(CentOS 7.7)通过两种方式搭建JDK环境的方法。方法一使用yum源安装,首先更新yum源并解决可能遇到的rpm数据库问题,然后卸载系统自带的OpenJDK及相关文件,接着安装JDK并配置环境变量。方法二是通过下载并解压tar包进行安装,同样需要配置环境变量。文章提供了具体命令和步骤,并附带了解决常见问题的方法。适合初学者参考学习。
1216 9
centos7 搭建java环境