抽空写了一下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部署完成,觉得好用请点个赞,有问题也可留言,看见回复!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐