前言

packetbeat,一款轻量型网络数据采集器,是elasticsearch栈的一个组件。关于它的资料,官方文档会有比较清楚的说明,本文是一个验证操作的记录,后续会基于提供一些业务开发中需要进行流量嗅探分析的相关方案。

原理

Packetbeat会捕获到指定端口的数据包,然后交给开发者定义的方法来解析,如TCP对应的是Parse,UDP是ParseUdp.解析出来的结构化数据封装成Json,插入到Elasticsearch中,后续便可使用Elasticsearch的搜索和数据统计能力进行应用层数据分析。

验证步骤

  1. 安装elasticsearch,查看官方操作
  2. 安装kibana,查看官方操作
  3. 安装libpcap,可能参考我写的这篇,提供的有相关安装步骤: java使用jNetPcap嗅探网络包在linux下配置的一些问题
  4. 下载packetbeat,点击下载地址,根据操作系统环境选择合适的安装包,本次选择rpm安装
  5. 安装:rpm -ivh packetbeat-7.6.2-x86_64.rpm --force --nodeps
  6. 导入packetbeat-dashboards
    # 安装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'

     

  7. 启动:systemctl start packetbeat
  8. 完成,可以通过kibana直观的看到流量统计信息
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐