ELK-FileBeat安装
1、基础知识
1.1、简介
根据我们对ELK的经典架构的了解,他的数据收集和处理流程是:beats - logstash - elasticsearch - kibana。 Beats默认提供了很多中场景的组件,最常见的就是FileBeat
1.2、Beat场景
1.3、FileBeat安装参考文档
2、环境准备
2.1、主机准备
Ubuntu操作系统 内存:2G CPU:1核
FileBeat 192.168.10.30
2.2、同步时间
# 设置时区 timedatectl set-timezone Asia/Shanghai # 同步系统时间 apt install -y ntpdate cron systemctl start cron systemctl enable cron cat << 'CAT_END' > /var/spool/cron/crontabs/root #ntp Server update */5 * * * * /usr/sbin/ntpdate ntp5.aliyun.com 2>&1 > /dev/null #ntp end CAT_END ntpdate ntp5.aliyun.com
2.3、设置主机名
hostnamectl set-hostname filebeat
3、FileBeat安装
3.1、方式1:yum、apt配置仓库安装
3.1.1、yum安装参考官网
3.1.2、apt安装参考官网
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list sudo apt-get update && sudo apt-get install filebeat
3.2、方式2:下载.deb包离线安装
curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.10-amd64.deb
sudo dpkg -i filebeat-7.17.10-amd64.deb
3.3、配置目录结构介绍
root@filebeat:~# dpkg -L filebeat | grep -Ei 'filebeat.yml|filebeat.service' /lib/systemd/system/filebeat.service /etc/filebeat/filebeat.yml
3.4、配置
3.4.1、配置filebeat.yml
root@filebeat:~# grep -iEv '#|^$' /etc/filebeat/filebeat.yml filebeat.inputs: - type: log id: filebeat_index enabled: true paths: - /var/log/syslog filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 5 setup.kibana: output.elasticsearch: hosts: ["192.168.10.25:9200"] template.name: "filebeat" processors: - add_host_metadata: when.not.contains.tags: forwarded - add_cloud_metadata: ~ - add_docker_metadata: ~ - add_kubernetes_metadata: ~
属性解析:
enabled: true 表示启用这条配置
template.name 在将数据传入到elasticsearch的时候,自动添加一个索引,名称是filebeat
3.4.2、配置内容解析
root@filebeat:~# grep -Evi '#|^$' /etc/filebeat/filebeat.yml filebeat.inputs: - type: filestream id: my-filestream-id enabled: false # 默认该功能没有开启 paths: - /var/log/*.log filebeat.config.modules: path: ${path.config}/modules.d/*.yml reload.enabled: false setup.template.settings: index.number_of_shards: 1 # 默认的数据分片个数是 1 setup.kibana: output.elasticsearch: # 数据的输出 hosts: ["localhost:9200"] processors: - add_host_metadata: when.not.contains.tags: forwarded - add_cloud_metadata: ~ - add_docker_metadata: ~ - add_kubernetes_metadata: ~ # 注意:filebeat.yml 这就是filebeat的配置文件,里面有12部分的配置,而我们重点关心的就是"Filebeat inputs" 和 "Outputs"
3.5、重启服务
systemctl start filebeat
systemctl status filebeat
3.6、查看ES是否有filebeat索引
root@filebeat:~# curl 192.168.10.25:9200/_cat/indices | grep file green open filebeat-7.17.10-2023.06.06-000001 k8EeqgiTQmCzIfg58XdWCQ 5 1 3 0 86.7kb 43.3kb