Filebeat是Elastic Stack中的轻量级日志采集器,主要功能是收集、转发日志文件(如系统日志、应用日志)。而网络流量监控属于Packetbeat的职责——Packetbeat是Filebeat的专用子模块,专门用于捕获、分析网络层流量数据(如TCP/UDP连接、HTTP请求、DNS查询等)。
若需通过Elastic Stack监控Ubuntu系统的网络流量,需安装并配置Packetbeat(而非直接使用Filebeat)。以下是关键步骤:
在Ubuntu系统上,可通过以下方式安装Packetbeat:
# 导入Elastic GPG密钥
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
# 添加Elastic APT仓库
echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
# 更新软件包列表并安装Packetbeat
sudo apt update && sudo apt install packetbeat
Packetbeat的主配置文件位于/etc/packetbeat/packetbeat.yml,需修改以下核心参数:
packetbeat.interfaces设置为监控的网络接口(如eth0,排除本地回环lo):packetbeat.interfaces:
device: eth0 # 替换为Ubuntu系统的实际网卡名称(可通过`ip a`命令查看)
exclude_interfaces: [lo] # 排除本地回环接口
packetbeat.protocols:
tcp:
ports: [80, 443, 8080] # 监控的TCP端口(如Web服务的80/443端口)
udp:
ports: [53] # 监控DNS查询(UDP 53端口)
http:
ports: [80, 443] # 解析HTTP请求/响应头、 body(可选)
output.elasticsearch:
hosts: ["localhost:9200"] # 替换为Elasticsearch服务器的地址
username: "elastic" # 若启用了安全认证,需填写用户名/密码
password: "your_password"
配置完成后,启动Packetbeat并设置开机自启:
# 启动Packetbeat
sudo systemctl start packetbeat
# 设置开机自启
sudo systemctl enable packetbeat
# 查看服务状态(确认运行正常)
sudo systemctl status packetbeat
GET _search查询,确认是否有网络流量数据(如packetbeat-*索引)。sudo运行或配置systemd服务以root身份启动。通过以上步骤,即可在Ubuntu系统上使用Packetbeat(作为Filebeat的子模块)实现对网络流量的监控,并将数据集成到Elastic Stack中进行存储、分析与可视化。