ELK简介以及新旧版架构介绍

ELK是由Elasticsearch、Logstash和Kibana组成的日志收集与分析系统,适用于大型分布式系统的日志集中管理。Beats优化了数据传输,Logstash处理数据,Elasticsearch存储,Kibana提供可视化分析。

ELK的简介

1. ELK简单介绍

 ELK是elastic公司提供的一套完整的日志收集、展示解决方案,是三个产品的首字母缩写。这三个产品分别是ElasticSearch、Logstash和Kibana,同时加入beats来优化Logstash。

  • ElasticSearch:是一个基于Lucene构建的分布式开源项目,采用的是RESTful搜索引擎。
  • Logstash:用于传输和处理日志、事务或其他数据。
  • Kibana:将ElasticSearch的数据分析并渲染为可视化的报表。

2.ELK的用途

 ELK主要用途于大型分布式系统的日志集中分析,通过ELK这套解决方案,可以实现日志收集、日志搜索和日志分析的功能。

3. ELK的优点

 互联网行业中日志数据非常重要,形式也多种多样。通过日志我们可以计算请求量、流量来源分析、了解用户行为。对于故障排除也是具有重要意义,故障问题的快速排除几乎都是通过快速的日志查询、定位、解决问题。对于实时性要求非常高。

  • 收集
     能够采集多种来源的日志数据。
  • 传输
     能够稳定的把日志数据传输到中央系统。
  • 转换
     能够对收集的日志数据进行转换处理。
  • 存储
     存储日志数据。
  • 分析
     可以支持UI分析。
  • 告警
     能够提供错误报告,监控机制。

4.ELK的旧版架构
ELK旧版架构
 旧版的ELK构架需要在每个项目的节点(也就是电脑节点)上部署logstash,然后收集起来发送给ElasticSearch。这样会造成一种情况就是系统的资源和CPU消耗的更严重,框架相对比较臃肿笨重。

5.ELK新版架构
ELK新版架构
6. 新版ELK架构介绍

<1>Beat部件介绍
 Beats是单一用途的数据传输平台,它可以将多台机器的数据发送到Logstash或ElasticSearch。但Beats在新版的ELK的架构并不是不可或缺的一环。

  • Package Beat:用于收集包相关的日志记录。
  • Top Beat:用于收集系统相关(如CPU等)的日志记录。
  • File Beat:用于收集文件相关的日志记录。
  • your Beat:用于收集自定义相关的日志记录。

<2>Logstash
 Logstash是一个动态数据收集管道。支持TCP/UDP/HTTP多种方式收集数据,也可以接受Beats传输来的数据,并对数据做进一步丰富或提取字段处理。

<3>ElasticSearch
 ElasticSearch是一个基于JSON的分布式的搜索和分析引擎。作为ELK的核心,它集中存储数据。

<4>Kibana
 Kibana是ELK的用户界面。它将收集的数据通过各种报表或图形化数据进行可视化展示,并且提供配置、管理ELK的界面。

<think>嗯,用户想在CentOS 7.7上升级ELK系统,也就是ElasticsearchLogstashKibana。首先,我需要回忆一下ELK的升级步骤。记得升级的时候要按顺序来,先升级Elasticsearch,然后是Logstash,最后是Kibana,因为Elasticsearch是基础,其他组件依赖它。不过可能本不同,顺序会不会有变化呢?比如有些情况下可能需要先升级Kibana?应该还是按照官方的推荐顺序比较稳妥。 接下来,用户当前的ELK本是多少呢?如果用户是从旧本升级到新版本,可能需要分步骤升级,比如不能跨大本直接升级。比如从6.x升级到7.x需要先升级到6.8,然后再到7.x。所以用户需要先确认当前本,再查看目标本的要求。不过用户的问题中没有提到具体本,可能需要给出通用的步骤,并提醒用户注意本兼容性。 然后,数据备份很重要。升级过程中可能会出现意外,比如配置错误或者数据不兼容,所以必须提醒用户备份数据,尤其是Elasticsearch的数据和配置文件。可能需要提到使用快照功能或者直接复制数据目录。 接下来是具体的升级步骤。对于Elasticsearch,可能需要停止服务,更新软件包,然后重新启动。同样,LogstashKibana也是类似的过程。需要检查配置文件是否有变动,是否需要合并新的配置项。另外,系统服务的重启命令,比如systemctl,需要正确使用。 还要考虑依赖的问题,比如Java本是否满足新ELK的要求。例如,Elasticsearch 7.x需要Java 11,而旧本可能用的是Java 8。如果用户没有升级Java,可能会导致问题。所以需要提醒用户检查Java本,必要时升级。 另外,集群环境下的升级需要注意滚动升级,逐个节点进行,确保集群的高可用性。但如果是单节点,可能直接停止服务升级即可。用户的环境是单节点还是集群呢?问题中没有说明,可能需要分开说明两种情况。 配置文件的变化也是一个重点。新版本的ELK可能有废弃的配置参数,或者新增了必须的配置。用户需要对比新旧本的配置文件,可能需要手动调整。例如,Elasticsearchelasticsearch.yml中的某些参数可能在升级后不再支持,或者需要添加新的参数。 权限和系统限制的问题也不能忽视,比如文件描述符的数量、虚拟内存设置等。在升级过程中,可能需要重新检查这些系统配置,确保符合新版本的要求。引用中提到的limits.conf和sysctl.conf的修改可能需要重新应用,尤其是在升级后服务启动失败时,需要检查这些设置。 另外,用户可能还关心升级后的验证步骤,比如如何确认各个组件已经成功升级,服务是否正常运行,数据是否完整。可能需要导用户使用curl命令检查Elasticsearch本,访问Kibana的界面查看状态等。 最后,常见问题处理,比如升级失败后的回滚方法,如何从备份中恢复数据,或者如何处理本不兼容导致的错误。用户可能需要了解如何降级或者解决配置冲突。 总结一下,回答的结构应该是先强调备份,然后按顺序升级各个组件,检查依赖和配置,处理集群情况,验证升级结果,最后注意事项和常见问题。同时需要引用站内的相关资料,比如配置sysctl.conf和limits.conf的部分,以及集群的配置建议,以增强回答的可信度。</think>### CentOS 7.7 中升级 ELK 系统的步骤和方法 #### 1. **准备工作** - **备份数据与配置** 升级前需备份 Elasticsearch 数据目录(默认 `/var/lib/elasticsearch`)及所有配置文件(如 `elasticsearch.yml`、`logstash.conf`、`kibana.yml`)。若使用快照功能,可通过 Elasticsearch 快照 API 备份[^5]。 - **检查本兼容性** 确保目标 ELK 本与当前本兼容。例如,从 7.x 升级到 7.y 可直接操作,跨大本(如 6.x → 7.x)需参考官方升级南逐步迁移。 #### 2. **升级 Elasticsearch** - **停止服务** ```bash systemctl stop elasticsearch ``` - **更新软件包** 通过 RPM 或 YUM 更新(以 7.x 为例): ```bash sudo yum install elasticsearch-7.17.6 ``` - **合并配置** 对比新旧 `elasticsearch.yml`,保留自定义配置(如集群名称、节点角色、网络设置)。 - **启动并验证** ```bash systemctl start elasticsearch curl http://localhost:9200 # 检查本及集群状态 ``` #### 3. **升级 Logstash** - **停止服务** ```bash systemctl stop logstash ``` - **更新软件包** ```bash sudo yum install logstash-7.17.6 ``` - **更新插件与配置** 运行 `logstash-plugin update` 更新插件,检查 `logstash.conf` 语法兼容性。 - **重启服务** ```bash systemctl start logstash journalctl -u logstash -f # 查看日志确认无报错 ``` #### 4. **升级 Kibana** - **停止服务** ```bash systemctl stop kibana ``` - **更新软件包** ```bash sudo yum install kibana-7.17.6 ``` - **调整配置** 确保 `kibana.yml` 中 `elasticsearch.hosts` 新版Elasticsearch 地址。 - **重启服务** ```bash systemctl start kibana systemctl status kibana # 验证服务状态 ``` #### 5. **验证升级结果** - **访问 Kibana 界面** 通过浏览器访问 `http://<服务器IP>:5601`,检查本号及数据连通性。 - **检查日志** 查看各组件日志文件(如 `/var/log/elasticsearch/elasticsearch.log`)排查潜在错误。 #### 6. **注意事项** - **依赖项兼容性** 确保 Java 本符合要求(Elasticsearch 7.x 需 Java 11)[^2]。 - **系统参数优化** 升级后若服务启动失败,检查 `/etc/security/limits.conf` 和 `/etc/sysctl.conf` 配置(如文件句柄数、虚拟内存限制)[^1][^4]。 - **集群环境升级** 若为 Elasticsearch 集群,需按节点逐一升级,并确保主节点选举稳定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值