基础环境:四台服务器,第一台3G内存,后三台2G内存,关闭防火墙,ping通外网
第1台192.168.10.1
第2台192.168.10.2
第3台192.168.10.3
第4台192.168.10.4
中国国家授时中心
网络对时:ntpdate ntp.ntsc.ac.cn
如果搭建失败,有可能是时间没有一致
第一台
创建es组,将用户es添加到es组,创建es目录并赋予权限
移动到/usr/local下
赋予权限
写入数据
第一台重启
第二台:
解压
编辑kibana的配置文件
修改添加:
回到第一台
编辑es的配置文件
修改添加:
第二台 安装kafka
修改添加:
自行创建data目录 并写入myid 1
启动zookeeper服务(默认端口 2181)
查看端口号:
安装kafka,修改配置文件
启动服务
查看端口号:
验证一下是否成功
创建一个topic
模拟生产者 发送消息
另开一个终端,模拟消费者接收消息
Ok,没用问题
第三台
安装logstash
添加修改:
第四台
解压filebeat安装包
安装nginx
做优化
ELK两种方案:
- Log--filebeat--logstash--elasticsearch<--kibbana
- Log—filebeat--Kafka--logstash--elasticsearch<--kibbana
第一种方案
编辑配置文件
修改:
将选中的内容删除
添加:
不要使用tab键,信息输入的内容
Logstash的默认端口是5044
第一台
启动es
启动不成功,那我们就再给一下权限 再次启动
第三台
编辑配置文件
添加:
Input:Logstash的输入
Beats:表明来源是从filebeats
Port:接收数据从本机的5044端口接收
Output:数据的输出
Elasticsearch:数据的输出来源是es
Hosts:告诉es的主机是多少
Index:建立一个索引
第四台
编辑nginx配置文件
修改:
启动nginx
启动服务file beat服务,会阻塞终端
第三台
启动logstash会阻塞终端
第二台
启动kibana服务,会阻塞终端
第4台访问本机IP,访问nginx,多刷新几下使之产生访问数据
第三台
访问第2台IP及5601端口,多刷新几次
进入kibana的UI界面
- 建立索引样式,进行匹配
成功匹配索引
时间的标准
- 建立可视化图标
- 查看日志分析数据
二.第二种方案
加入消息队列
第四台
停止filebeat服务
修改:
Enabled:是否启用这个配置
第三台
停止logstash服务
修改:
Decorate_events:将消息的偏移量加载进来
Auto_offset_reset:自动重设偏移量,latest保持最新
第三台启动服务
启动服务,发现报错了,打开config目录下的logstash.yml,找到里边的Data path,默认是安装目录下的data目录
进入data目录,将.lock文件删除,重启服务即可
第四台启动服务
第4台访问本机IP,访问nginx,多刷新几次,产生访问数据
第3台访问第2台IP及5601端口
以下操作跟第一个方案一样