packetbeat,一款轻量型网络数据采集器,是elasticsearch栈的一个组件。关于它的资料,官方文档会有比较清楚的说明,本文是一个验证操作的记录,后续会基于提供一些业务开发中需要进行流量嗅探分析的相关方案。
Packetbeat会捕获到指定端口的数据包,然后交给开发者定义的方法来解析,如TCP对应的是Parse,UDP是ParseUdp.解析出来的结构化数据封装成Json,插入到Elasticsearch中,后续便可使用Elasticsearch的搜索和数据统计能力进行应用层数据分析。
rpm -ivh packetbeat-7.6.2-x86_64.rpm --force --nodeps
# 安装dashboards
packetbeat setup --dashboards
# 前面已修改packetbeat.yml配置,下面这条命令可不执行
packetbeat setup -e \
-E output.logstash.enabled=false \
-E output.elasticsearch.hosts=['192.168.1.213:9200'] \
-E output.elasticsearch.username=packetbeat_internal \
-E output.elasticsearch.password=YOUR_PASSWORD \
-E setup.kibana.host=192.168.1.213:5601
# 测试
curl -XGET 'http://192.168.1.213:9200/packetbeat-*/_search?pretty'
systemctl start packetbeat