irpas技术客

centos7搭建elastiflow_旅途丶_elastiflow搭建

网络 4031

抽空写了一下elastiflow部署,网上大多数文章都太杂太乱多数会部署失败获取不到数据,我记录一下部署过程,希望能帮到大家

概念性的东西这里不过多介绍,自行百度,下面主要介绍elastiflow的部署和使用

1.环境:centos7最小安装

[root@elastiflow ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)

2.基础环境配置

yum -y install vim bash-c* net-tools lrzsz wget unzip gcc gcc-c++ epel-release tree

3.软件包更新

yum update -y yum clean all yum makecache

4.关闭防火墙、关闭selinux(生产环境请自行配置防火墙规则、匹配selinux上下文)并重启系统

systemctl stop firewalld systemctl disable firewalld [root@elastiflow ~]# vim /etc/selinux/config SELINUX=disabled [root@elastiflow ~]# reboot

5.java环境安装,elastiflow是基于java来后台运行的

yum -y install java-openjdk java-1.8.0-openjdk-devel

6.安装elk(此elk非彼elk,这里是指三个软件包的简写) 注意:这三个包下载链接都在国外,我这里把路径改到了国内

[root@elastiflow src]# cd /usr/local/src/ wget -c http://itityunwei.cn/tools/elastiflow/elasticsearch-7.8.1-x86_64.rpm wget -c http://itityunwei.cn/tools/elastiflow/logstash-7.8.1.rpm wget -c http://itityunwei.cn/tools/elastiflow/kibana-7.8.1-x86_64.rpm 下载完直接rpm安装 rpm -ivh elasticsearch-7.8.1-x86_64.rpm logstash-7.8.1.rpm kibana-7.8.1-x86_64.rpm

7.配置开机自动启动

systemctl daemon-reload systemctl enable elasticsearch.service systemctl enable kibana.service systemctl enable logstash.service

8.配置文件修改

vim /etc/elasticsearch/elasticsearch.yml

9.jvm内存修改,这个地方要注意,很多人部署完没法获取数据,是因为只改了一个配置文件,另外还需要启用一下java默认路径否则会报权限不足

vim /etc/elasticsearch/jvm.options

vim /etc/logstash/jvm.options

vim /etc/logstash/startup.options

10.修改kibana配置文件

vim /etc/kibana/kibana.yml

然后跳到最下面,修改一下语言显示,默认为英文 11.重启一下服务

systemctl restart elasticsearch.service systemctl restart kibana.service

12.logstash核心模块安装,请一条执行完了再继续下一条

/usr/share/logstash/bin/logstash-plugin install logstash-codec-sflow /usr/share/logstash/bin/logstash-plugin install logstash-codec-netflow /usr/share/logstash/bin/logstash-plugin install logstash-input-udp /usr/share/logstash/bin/logstash-plugin install logstash-input-tcp /usr/share/logstash/bin/logstash-plugin install logstash-filter-dns /usr/share/logstash/bin/logstash-plugin install logstash-filter-geoip /usr/share/logstash/bin/logstash-plugin install logstash-filter-translate

13.权限设置

chown -R kibana:kibana /etc/kibana chown -R kibana:kibana /usr/share/kibana chown -R kibana:kibana /etc/default/kibana chown -R elasticsearch:elasticsearch /etc/elasticsearch chown -R elasticsearch:elasticsearch /usr/share/elasticsearch chown -R elasticsearch:elasticsearch /var/lib/elasticsearch chown -R elasticsearch:elasticsearch /var/log/elasticsearch chown -R elasticsearch:elasticsearch /etc/sysconfig/elasticsearch chown -R logstash:logstash /etc/logstash chown -R logstash:logstash /usr/share/logstash chown -R logstash:logstash /var/lib/logstash chown -R logstash:logstash /var/log/logstash chown -R logstash:logstash /etc/default/logstash

14.elastiflow安装,包有1G,包在github,国内下载非常慢,大多情况都会下载失败,我已经载回国内,请使用以下链接下载安装

cd /usr/local/src wget -c http://itityunwei.cn/tools/elastiflow/elastiflow.tar.gz tar -zxvf elastiflow.tar.gz cd /usr/local/src/elastiflow cp -r logstash/elastiflow /etc/logstash/ cp -r logstash.service.d /etc/systemd/system/ chown -R logstash:logstash /etc/logstash/elastiflow 修改一下默认路径 vim /etc/logstash/pipelines.yml

15.重启一下服务

systemctl daemon-reload systemctl enable logstash systemctl start logstash systemctl restart logstash

16.查看服务信息以及端口信息,这个地方比较重要,需要结合交换机侧,交换机侧我们要清楚是配置的sflow还是netflow,端口是不一样的,默认端口可以修改,修改完交换机上面也要修改,我这里测试环境不做修改

vim /etc/systemd/system/logstash.service.d/elastiflow.conf

注意了,这个地方,我交换机是sflow协议,所以这里看sflow的ipv4端口,默认是6343,这个端口可以修改,和交换机侧一致即可,看一下端口是否被监听

[root@elastiflow kibana]# netstat -ntulp | grep 6343 udp 0 0 0.0.0.0:6343 0.0.0.0:* 4836/java

17.下载kibana模板

cd /usr/local/src/elastiflow/kibana/ [root@elastiflow kibana]# ls elastiflow.kibana.7.8.x.ndjson [root@elastiflow kibana]# sz elastiflow.kibana.7.8.x.ndjson

18.导入kibana模板 浏览器访问:http://ip:5601(建议不使用firefox浏览器) 如果没有找到这个目录,kibana这个目录下面的任意目录点进去然后再看看就有了,找到以后如上图,把上一步下载的文件导入进去即可,中文目录(管理→已保存对象→导入)

19.导入以后是没有数据的,我先说一下我们后面需要操作的界面 然后点一下下图进去即可,现在没有数据,还需要配置一下交换机 20.交换机配置(agent ip为交换机侧ip,collector 为服务器ip,注意要和服务器路由可达) 华为:

1、配置交换机的sflow流发送 [系统视图]sflow agen ip x.x.x.x 设置sflow输出源 [系统视图]sflow collector 1 ip x.x.x.x 设置sflow分析器组1并关联到IP x.x.x.x [系统视图]sflow collector 1 port 6343 设置sflow分析器组1输出端口 2、应用slow,配置交换机某个端口的slow功能 [系统视图]int g0/0/14 需进入接口视图 [系统视图-GigabitEthernet0/0/14]sflow flow-sampling inbound 开启接收方向flow采集 [系统视图-GigabitEthernet0/0/14]sflow flow-sampling outbound 开启发送方向flow采集 [系统视图-GigabitEthernet0/0/14]sflow flow-sampling collector 1 设置采集数据输出至分析器组1 [系统视图-GigabitEthernet0/0/14] sflow flow-sampling rate 256 设置采样率 配置完成后就可以把有sflow功能的接口的数据转成sflow流发送到指定sflow数据采集器设备的指定端口

锐捷:

(config)# sflow agent address 10.60.0.2 (config)# sflow collector 1 destination 192.168.1.11 6343 (config)# int h0/1 sflow counter collector 1 sflow flow collector 1 sflow enable

配置好以后如下图 然后等待3分钟,刷新一下kibana页面即可采集到数据,如果等了很长时间都没有数据展示,请看一下日志,多半是logstash或者java的问题,看一下日志详情就能知道什么问题了,日志路径我没有修改,默认路径/var/log/logstash,收集到数据以后我们能看到具体的数据包信息了,还能看到ip地址流量排名、服务威胁等,如下图 至此,elastiflow部署完成,觉得好用请点个赞,有问题也可留言,看见回复!


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #elastiflow搭建 #cat #CentOS #Linux #release