2024广东省职业技能大赛云计算赛项实战——安装ELK日志分析服务

安装ELK日志分析服务

前言

ELK是一个用于处理和分析日志数据的开源技术栈,由三个主要组件组成,E即Elasticsearch,L即Logstash,K即Kibana。

  • Elasticsearch是一个分布式搜索和分析引擎,用于存储、搜索和分析大量数据,提供实时搜索功能。
  • Logstash是一个数据收集和处理管道,能够从各种来源获取日志数据,进行过滤、转换,并将数据传输到 Elasticsearch。
  • Kibana是一个数据可视化工具,提供图形化界面,用于创建和展示来自 Elasticsearch 的数据可视化,帮助我们分析和探索数据。

三个工具结合使用,让ELK 堆栈可以处理复杂的日志数据,进行深度分析和可视化,广泛应用于监控、故障排查和数据洞察。

题目要求如下:

使用提供的sepb_elk_latest.tar镜像安装ELK服务。

自行配置YUM源安装Docker服务,然后使用提供的sepb_elk_latest.tar镜像安装ELK服务,安装完成后,进行添加数据操作,将ELK监控目标节点所需安装的RPM安装包下载到本地云主机的/root目录下。

这道题只需要用到一台Linux作为服务器和一台带桌面的机子进行操作,所以在那个培训平台里就可以直接做,直接申请那个堡垒机的实验,会给台Centos7和带桌面的Windows。

操作过程

配置YUM源安装Docker服务

shell 复制代码
#先获取需要用到的软件包
[root@localhost ~]# curl -O \
http://mirrors.douxuedu.com/new-competition/docker-repo.tar.gz
#将其解压至/opt目录
[root@localhost ~]# tar -zxf docker-repo.tar.gz -C /opt
#将系统源移走
[root@localhost ~]# mv /etc/yum.repos.d/* /media/
#编写新的仓库文件
[root@localhost ~]# vi /etc/yum.repos.d/local.repo
[centos]
name=centos
baseurl=http://mirrors.douxuedu.com/centos
gpgcheck=0
enabled=1
[Docker]
name=Docker
baseurl=file:///opt/docker-repo
gpgcheck=0
enabled=1
#检查可用性
[root@localhost ~]# yum clean all && yum repolist
#安装Docker服务
[root@localhost ~]# yum install -y docker-ce
#开启Docker服务并设置开机自启
[root@localhost ~]# systemctl start docker && systemctl enable docker

部署ELK服务

shell 复制代码
#先获取需要用到的软件包
[root@localhost ~]# curl -O http://mirrors.douxuedu.com/new-competition/sepb_elk_latest.tar
#加载镜像
[root@localhost ~]# docker load -i sepb_elk_latest.tar
#vm.max_map_count是Linux中的一个内核参数,它控制了每个进程可以拥有的内存映射区域的最大数量。
#而Elasticsearch需要在内存中维护大量的数据结构。为了提高性能,Elasticsearch使用了大量的内存映射区域,用于存储倒排索引等数据结构。
#Linux系统的默认vm.max_map_count通常较低,所以我们要修改它的值,否则后续启动时会报错
[root@localhost ~]# vi /etc/sysctl.conf
vm.max_map_count = 262144
#生效配置
[root@localhost ~]# sysctl -p
#启动容器
[root@localhost ~]# docker run -itd -p 5601:5601 -p 9200:9200 -p 5044:5044 \
#这里映射的端口应该都知道吧,5601是Kibana的默认端口,9200是 Elasticsearch的默认端口,5044则是Logstash的默认端口
--name elk -e ES_MIN_MEN=512m -e ES_MAX_MEM=1024m sebp/elk:latest
#-e那里是设置环境变量,指定Elasticsearch的最小和最大内存为512MB和1024MB
#安装filebeat,它用于将日志文件中的数据发送到Logstash或 Elasticsearch,减轻Logstash的负担并使ELK能够有效地处理和分析日志信息
[root@localhost ~]# curl -O http://mirrors.douxuedu.com/new-competition/filebeat-7.13.2-x86_64.rpm
[root@localhost ~]# yum -y install filebeat-7.13.2-x86_64.rpm
#修改配置文件,启动功能
[root@localhost ~]# vi /etc/filebeat/filebeat.yml
filebeat.inputs:
- type: log
  enabled: true #原false
  paths:
    - /var/log/yum.log #原/var/log/*.log
...
#日志的输出默认就是连接Elasticsearch的,不需要修改
output.elasticsearch:
  hosts: ["localhost:9200"]
#开启filebeat服务并设置开机自启
[root@localhost ~]# systemctl start filebeat && systemctl enable filebeat	

控制台操作

来到Windows机,在浏览器输入服务器ip:5601登录

点击左上角三横杠折叠按钮打开菜单→划至底部找到【Management】管理栏→点击【Stack Management】进入栈管理页面

在跳出的新页面中点击【Index Management】进入索引管理页面

查看filebeat服务是否添加

最后我们测试一下服务的可用性

从左边菜单栏找到【Kibana】栏→点击下方的【Index Patterns】索引方式

在跳转的页面中点击【Create index pattern】,创建一个索引方式

输入*号通配符代表索引全部()→点击【Next step】进入下一步

在下一步中,【Time field】选择【@timestamp】,设置索引时间为全部时间。然后点击【Create index pattern】创建这个索引

再次打开折叠菜单栏,找到【Analytics】分析栏,点击下方的【Discover】发现项目

在新页面下方的搜索框搜索"file"

在查询的结果中出现了【log.file.path】,点击右边的+号添加

就可以发现被收集的数据了

我们回到docker节点,随便安装一个软件

shell 复制代码
[root@localhost ~]# yum -y install unzip

再回到Discover发现面板,就可以发现刚刚进行安装的信息了

CSMU4Lv-1724775901588)]

我们回到docker节点,随便安装一个软件

shell 复制代码
[root@localhost ~]# yum -y install unzip

再回到Discover发现面板,就可以发现刚刚进行安装的信息了

相关推荐
蜀道山老天师1 小时前
K8s Secret 与 ConfigMap 配置管理及动态更新实战详解
云原生·容器·kubernetes
AKAMAI3 小时前
Akamai收购安全企业浏览器提供商LayerX
人工智能·云计算
bukeyiwanshui5 小时前
20260624 k8s pod命令
云原生·容器·kubernetes
网络研究院6 小时前
Brave浏览器放大招引入容器功能,实现多账户安全隔离
网络·安全·容器·浏览器·数据·隐私
使用小功能大师6 小时前
从零到一:使用阿里云百炼搭建企业级 AI Agent 完全实战手册(2026超详细版)
人工智能·阿里云·云计算
爱好曙光7 小时前
云原生混沌工程实战:基于Litmus的故障注入与弹性测试
云原生·kubernetes·devops·混沌工程·故障注入·litmus·弹性测试
HAPPY酷7 小时前
【ROS2】VMware + Docker 运行 Gazebo 崩溃与“假死”排查实录
qt·docker·容器
探索云原生7 小时前
Kueue 如何管理 DRA 模式下的 GPU 配额
ai·云原生·kubernetes·kueue
Database_Cool_8 小时前
阿里云 RDS 弹性扩容:业务无感升降配实践指南
阿里云·云计算
运维大师8 小时前
【监控与可观测性】03-ELK日志体系搭建:从采集到告警的完整闭环
elk