ELK Stack 8 接入ElasticFlow

news/2024/5/19 14:53:36

介绍

Netflow v5 / v9 / v10(IPFIX),支持大部分网络厂商及VMware的分布式交换机。

NetFlow是一种数据交换方式。Netflow提供网络流量的会话级视图,记录下每个TCP/IP事务的信息。当汇集起来时,它更加易于管理和易读。Netflow由Cisco创造。而IPFIX是Netflow v9的开放标准实现。

同NetFlow一样,sFlow是一种向采集器发送报告的推送技术。所不同的是,NetFlow是一种基于软件的技术,而sFlow则采用内置在硬件中的专用芯片,这种做法消除了路由器或交换机的CPU和内存的负担,但也牺牲了灵活性。

本教程修改了ElasticFlow 4版本,以支持 Elasticsearch 8 ,还更新了Logstash 7到最新版本,Geo IP/AS地址库到最新版本。

已在Elasticsearch 8.13上测试过

单机部署教程:https://songxwn.com/elk/

ELK系列文章:https://songxwn.com/categories/linux/ELK/

注:多谢袖子Seven 大佬提供的Kibana 模板和帮助。

各种Flow 类型

Flow名称代表厂商主要版本备注
NetFlowCiscoV1、V5、V7、V8、V9应用最广
sFlowFoundry、HP、Alcatel、NEC、Extreme等V4、V5实时性较强,具备突出的第二~七层信息描述能力。对设备性能开销低。
NetStream华为、华三V5、V8、V9与NetFlow较为类似
IPFIXIETF标准规范RFC 3917以NetFlow V9为蓝本,公共标准协议
CFlowdJuniperV5、V8厂商跟进力度不高

ElasticFlow

ElasticFlow 是基于Logstash 7的修改版本,支持Netflow、IPfix、Sflow,自带模板。但目前已闭源。

注意事项

  • Docker网络使用主机模式,占用 2055、6343、4739端口。

  • 本文章适用于接入现有的ES 8数据库。

使用Docker-compose部署

cd /opt
git clone https://github.com/Songxwn/elastiflow.git
# 下载配置文件
cd /opt/elastiflow
vim docker-compose.yml
# 修改配置文件,更改ES地址,账号、密码。
docker-compose pull
# 加载镜像
docker-compose up -d
# 启动镜像,静等几分钟。
ss -an | grep 2055
ss -an | grep 6343
ss -an | grep 4739
# 确认服务已启动。
配置文件示例
version: '3'
services:elastiflow-logstash:image: songxwn/elastiflow-logstash:4.8.12container_name: elastiflow-logstashrestart: 'unless-stopped'network_mode: hostenvironment:# JVM Heap size - this MUST be at least 3GB (4GB preferred)LS_JAVA_OPTS: '-Xms4g -Xmx4g'# ElastiFlow global configurationELASTIFLOW_AGENT_ID: elastiflowELASTIFLOW_GEOIP_CACHE_SIZE: 16384ELASTIFLOW_GEOIP_LOOKUP: 'true'ELASTIFLOW_ASN_LOOKUP: 'true'ELASTIFLOW_OUI_LOOKUP: 'false'ELASTIFLOW_POPULATE_LOGS: 'true'ELASTIFLOW_KEEP_ORIG_DATA: 'true'ELASTIFLOW_DEFAULT_APPID_SRCTYPE: '__UNKNOWN'# Name resolution optionELASTIFLOW_RESOLVE_IP2HOST: 'false'ELASTIFLOW_NAMESERVER: '127.0.0.1'ELASTIFLOW_DNS_HIT_CACHE_SIZE: 25000ELASTIFLOW_DNS_HIT_CACHE_TTL: 900ELASTIFLOW_DNS_FAILED_CACHE_SIZE: 75000ELASTIFLOW_DNS_FAILED_CACHE_TTL: 3600ELASTIFLOW_ES_HOST: 'http://127.0.0.1:9200'#ELASTIFLOW_ES_USER: 'elastic'#ELASTIFLOW_ES_PASSWD: 'changeme'ELASTIFLOW_NETFLOW_IPV4_PORT: 2055ELASTIFLOW_NETFLOW_UDP_WORKERS: 2ELASTIFLOW_NETFLOW_UDP_QUEUE_SIZE: 4096ELASTIFLOW_NETFLOW_UDP_RCV_BUFF: 33554432ELASTIFLOW_SFLOW_IPV4_PORT: 6343ELASTIFLOW_SFLOW_UDP_WORKERS: 2ELASTIFLOW_SFLOW_UDP_QUEUE_SIZE: 4096ELASTIFLOW_SFLOW_UDP_RCV_BUFF: 33554432ELASTIFLOW_IPFIX_UDP_IPV4_PORT: 4739ELASTIFLOW_IPFIX_UDP_WORKERS: 2ELASTIFLOW_IPFIX_UDP_QUEUE_SIZE: 4096ELASTIFLOW_IPFIX_UDP_RCV_BUFF: 33554432
  • ELASTIFLOW_ES_HOST 需要修改。

  • ELASTIFLOW_ES_USER 需要修改,如果无认证,则不需要取消注释。

  • ELASTIFLOW_ES_PASSWD 需要修改,如果无认证,则不需要取消注释。

索引模板创建

需要打开Kibana Web,在主菜单-Stack Management -开发工具执行。

PUT _index_template/template_
{"template": {"mappings": {"properties": {"client": {"type": "object","properties": {"geo": {"type": "object","properties": {"location": {"type": "geo_point"}}}}},"server": {"type": "object","properties": {"geo": {"type": "object","properties": {"location": {"type": "geo_point"}}}}}}}},"index_patterns": ["elastiflow-*"],"allow_auto_create": true
}

Kibana 模板导入

模板下载:https://songxwn.com/file/elastiflow4.kibana.8.x.ndjson

需要打开Kibana Web,在主菜单-Stack Management -已保存对象导入。

交换机Sflow配置实例

Juniper

protocols sflow {polling-interval 20;sample-rate 1000;collector 10.204.32.46;interfaces ge-0/0/0.0;
}

MikroTik ROS 配置IPFIX

/ip traffic-flow
set cache-entries=1M enabled=yes interfaces=ether2
/ip traffic-flow target
add dst-address=2.2.2.2 src-address=1.1.1.1 v9-template-refresh=15 version=ipfix

ELK 自带插件-可不看

Logstash 自带配置示例

input {udp {port  => 2055codec => netflow}
}

Filebeat 配置示例

- module: netflowlog:enabled: truevar:netflow_host: 0.0.0.0netflow_port: 2055
[root@cncs ~]# filebeat modules enable netflow
Enabled netflow
[root@cncs ~]# filebeat modules list
Enabled:
netflow
Disabled:
activemq
......

参考

https://www.elastic.co/guide/en/logstash/current/plugins-codecs-netflow.html

https://www.elastic.co/guide/en/beats/filebeat/8.7/filebeat-module-netflow.html

https://www.eflytop.com/post/elk-netflow/


http://www.mrgr.cn/p/74064683

相关文章

endnote引用不成功,不显示1,2,3,引用却是字母

https://blog.csdn.net/kellyroslyn/article/details/113943394

基于WOA优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真

1.算法运行效果图预览 优化前:优化后: 2.算法运行软件版本 matlab2022a3.算法理论概述时间序列回归预测是数据分析的重要领域,旨在根据历史数据预测未来时刻的数值。近年来,深度学习模型如卷积神经网络(Convolutional Neural Network, CNN)、长短时记忆网络(Long Short…

批处理优化

1.4、总结 Key的最佳实践 固定格式:[业务名]:[数据名]:[id]足够简短:不超过44字节不包含特殊字符 Value的最佳实践: 合理的拆分数据,拒绝BigKey选择合适数据结构Hash结构的entry数量不要超过1000设置合理的超时时间 2、批处理优…

厂家自定义 Android Ant编译流程源码分析

0、Ant安装 Windows下安装Ant: ant 官网可下载 http://ant.apache.org ant 环境配置: 解压ant的包到本地目录。 在环境变量中设置ANT_HOME,值为你的安装目录。 把ANT_HOME/bin加到你系统环境的path。 Ubuntu下安装Ant: sudo apt…

【酱浦菌-爬虫项目】python爬取彼岸桌面壁纸

首先,代码导入了两个库:requests和parsel。这些库用于处理HTTP请求和解析HTML内容。 然后,它定义了一个变量url,指向网站’樱花2024年4月日历风景桌面壁纸_高清2024年4月日历壁纸_彼岸桌面’。 接下来,设置了一个HTT…

Android 文件传输

目录 device explorer 文件目录关系对应: device explorer 经常写adb命令传文件,结果发现Android studio有自带的文件管理器,可以上传下载文件。 tool windows ->device explorer 文件目录关系对应: Android java获取的程序…

phpMyAdmin增加自定义IP登录教程

phpMyAdmin增加自定义IP登录教程 1、打开phpMyAdmin目录, 在此目录下是否有config.sample.inc.php文件,如果存在,那么将其改名为config.inc.php(为避免修改失误所造成的损失,强烈建议先备份config.sample.inc.php文件…

胜诉退费 All In One

胜诉退费 All In One 2007年4月1日起施行的《诉讼费用交纳办法》第53条规定:案件审结后,人民法院应当将诉讼费用的详细清单和当事人应当负担的数额书面通知当事人,同时在判决书、裁定书或者调解书中写明当事人各方应当负担的数额。需要向当事人退还诉讼费用的,人民法院应当…

Git——分支管理(2)

Git——分支管理(2) 提示:图床在国外且动图比较多的情况下,需要时间加载。 目录: 目录Git——分支管理(2)提示:图床在国外且动图比较多的情况下,需要时间加载。目录:Git基础Git的分支与HEADGit的存储机制Git的分支指针Git的远程仓库Git的远程分支管理远程分支和本地仓…

【DISC交流模型】项目管理必会的思维分析工具11

如何提升自己的领导力?我们可以根据DiSC模型,有针对性提升自我领导力 DISC模型是一种描述性格、行为风格倾向性的理论,也被称为“人类行为语言”。这一模型最初是由美国心理学家威廉莫尔顿马斯顿在20世纪初提出的,并在其1928年…

Redis学习2——SpringBoot整合Redis,Redis工具类

依赖和配置 pom.xml SpringBoot整合Redis&#xff0c;需要引入spring-boot-starter-data-redis依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>当…

super self

在一本过时的django里看到一段代码: class PublishedManager(models.Manager):def get_queryset(self): return super(PublishedManager, self).get_queryset().filter(status=published)心想这写的这是啥啊,难道是递归?太复杂了! 认真学习之后才知道,super有两个参数,第…

2024 年 5 月 5 日 周日 晴 常(245 字)

正文今天值班,但是睡到 9:30 才醒。副行长在我睡觉的时候打电话,说他有事待会儿来。我一听这话,肯定就不会来了,果然不出所料(笑。下午 16:00 早退,反正值班没人管,17:00 有点困,便睡了一觉。以为最多睡到 18:30,结果睡到了 19:30……弄好了灵送的绿植和透明板。研究了…

IDE Eval Reset 重置

配置插件库https://plugins.zhile.io

自研AC配置(上电过程)

自研AC配置(上电过程) 【概要】 自研AC6000上电并被AP发些过程 【步骤】得到AC各接口IP地址连接AC物理接口(AC的ens35口连接PC,ens34口连接公司网络) 修改PC静态IP【192.168.50.X】网页访问【192.168.50.1】进入AC管理页面,修改【ens34】物理接口地址为【10.180.145.156】…

多链路聚合设备是什么

多链路聚合设备属于通信指挥装备。 乾元通多链路聚合设备&#xff0c;它能够将多个网络链路聚合成一个逻辑链路&#xff0c;以实现高速、稳定、可靠的数据传输。多链路聚合设备的核心技术包括链路聚合、负载均衡、故障切换等&#xff0c;能够智能管理和优化利用不同网络链路&a…

esxi8部署朵拉云

随着数字化办公的普及,云桌面作为一种高效、灵活的工作方式,受到了越来越多企业的青睐。利用ESXi虚拟化平台快速部署朵拉云桌面,不仅可以提高工作效率,还可以降低成本,提升管理和维护的便捷性。 优势和特点: 1.灵活的资源分配:朵拉云平台允许根据实际需求动态分配计算资…

RFC 791 (1)-导论

目录 浅论 IP是啥 IP可以管啥 操作 范例查看 提示&#xff1a;本系列将会开始RFC文档阅读&#xff0c;这里会给出我的一些笔记 浅论 我们这篇RFC文档描述的是IP和ICMP协议&#xff0c;我们都知道&#xff0c;在传统的OSI七层或者是现在被简化的五层&#xff1a;应用层&…

iperf测试抓包

iperf测试抓包【概要】【步骤】1.2.【问题汇总】【问题x】【解决x】【总结】常用命令总结

buuctf中Crypto解题合集

一、一眼就解密 ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30= base64在线编解码:https://base64.supfree.net/二、MD5 e00cf25ad42683b3df678c61f42c6bda MD5在线解码:https://www.cmd5.com/三、Url编码 %66%6c%61%67%7b%61%6e%64%20%31%3d%31%7d url编码在线网站:https://any…