抽空写了一下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/%E8%BD%AF%E4%BB%B6%E5%8C%85/elastiflow/elasticsearch-7.8.1-x86_64.rpm wget -c http://itityunwei.cn/%E8%BD%AF%E4%BB%B6%E5%8C%85/elastiflow/logstash-7.8.1.rpm wget -c http://itityunwei.cn/%E8%BD%AF%E4%BB%B6%E5%8C%85/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/%E8%BD%AF%E4%BB%B6%E5%8C%85/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部署完成,觉得好用请点个赞,有问题也可留言,看见回复!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)