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发现面板,就可以发现刚刚进行安装的信息了

相关推荐
暴富的Tdy2 小时前
【快速上手Docker 简单配置方法】
docker·容器·eureka
魏 无羡2 小时前
linux CentOS系统上卸载docker
linux·kubernetes·centos
Karoku0662 小时前
【k8s集群应用】kubeadm1.20高可用部署(3master)
运维·docker·云原生·容器·kubernetes
木子Linux3 小时前
【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
linux·运维·服务器·centos·云计算
凌虚4 小时前
Kubernetes APF(API 优先级和公平调度)简介
后端·程序员·kubernetes
saynaihe4 小时前
安全地使用 Docker 和 Systemctl 部署 Kafka 的综合指南
运维·安全·docker·容器·kafka
G_whang5 小时前
centos7下docker 容器实现redis主从同步
redis·docker·容器
ccubee7 小时前
docker 安装 ftp
运维·docker·容器
探索云原生7 小时前
在 K8S 中创建 Pod 是如何使用到 GPU 的: nvidia device plugin 源码分析
ai·云原生·kubernetes·go·gpu
启明真纳7 小时前
elasticache备份
运维·elasticsearch·云原生·kubernetes