备份关键数据
更新前务必备份Filebeat的配置文件和数据目录,避免操作失误导致数据丢失:
sudo cp -r /etc/filebeat /etc/filebeat.bak
sudo cp -r /var/lib/filebeat /var/lib/filebeat.bak
检查兼容性
确保新版本Filebeat与现有Elasticsearch、Kibana版本兼容(参考Elastic官方兼容性矩阵)。
YUM是CentOS默认的包管理工具,通过EPEL仓库更新Filebeat是最便捷的方式。
启用EPEL仓库(若未启用)
EPEL(Extra Packages for Enterprise Linux)仓库提供了Filebeat的安装包:
sudo yum install epel-release -y
更新系统包
确保系统所有包均为最新状态,避免依赖冲突:
sudo yum update -y
更新Filebeat
使用YUM命令自动检测并更新Filebeat至仓库中的最新版本:
sudo yum update filebeat -y
重启服务并验证
更新完成后,重启Filebeat服务使新版本生效,并通过以下命令验证版本:
sudo systemctl restart filebeat
filebeat version
若YUM仓库中没有所需版本,或需要安装特定版本的Filebeat,可通过官方下载页面手动安装。
下载最新版本
访问Elastic官方网站(Filebeat下载页面),选择适合CentOS的Linux x86_64版本(如filebeat-8.12.0-linux-x86_64.tar.gz),使用wget下载:
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.12.0-linux-x86_64.tar.gz
停止当前服务
避免更新过程中Filebeat仍在运行导致文件冲突:
sudo systemctl stop filebeat
备份并替换旧版本
备份旧版本的配置和数据后,解压新版本并替换安装目录:
sudo mv /etc/filebeat /etc/filebeat.bak
sudo mv /var/lib/filebeat /var/lib/filebeat.bak
sudo tar -xzf filebeat-8.12.0-linux-x86_64.tar.gz -C /usr/share/
sudo mv /usr/share/filebeat-8.12.0-linux-x86_64 /usr/share/filebeat
恢复配置并启动服务
将备份的配置文件复制回新版本目录,启动服务并验证:
sudo cp /etc/filebeat.bak/filebeat.yml /etc/filebeat/
sudo systemctl start filebeat
filebeat version
若需批量管理多台CentOS服务器,可使用Ansible Playbook自动化更新流程。
编写Playbook(如upgrade_filebeat.yml):
---
- name: Upgrade Filebeat on CentOS
hosts: all
become: yes
tasks:
- name: Enable EPEL repository
yum_repository:
name: epel
state: present
- name: Update system packages
yum:
update_cache: yes
state: latest
- name: Install/upgrade Filebeat
yum:
name: filebeat
state: latest
- name: Restart Filebeat service
systemd:
name: filebeat
state: restarted
enabled: yes
运行Playbook
指定 inventory 文件(包含目标服务器IP),执行升级:
ansible-playbook -i inventory_file upgrade_filebeat.yml
sudo yum install -y <缺失依赖>手动安装。sudo mv /etc/filebeat.bak /etc/filebeat
sudo mv /var/lib/filebeat.bak /var/lib/filebeat
sudo systemctl restart filebeat
/var/log/filebeat/filebeat),确认无报错信息。