java代码elk JAVA代码游戏( 五 )


Elastic Stack全家桶下载主页:
我们选择如下版本:
Kafka下载:
??安装前先准备好三台CentOS7服务器用于集群安装,这是IP地址为:172.16.20.220、172.16.20.221、172.16.20.222 , 然后将上面下载的软件包上传至三台服务器的/usr/local目录 。因服务器资源有限 , 这里所有的软件都安装在这三台集群服务器上,在实际生产环境中,请根据业务需求设计规划进行安装 。
??在集群搭建时 , 如果能够编写shell安装脚本就会很方便 , 如果不能编写,就需要在每台服务器上执行安装命令 , 多数ssh客户端提供了多会话同时输入的功能,这里一些通用安装命令可以选择启用该功能 。
新建/usr/local/java目录
将下载的jdk软件包jdk-8u64-linux-x64.tar.gz上传到/usr/local/java目录,然后解压
配置环境变量/etc/profile
在底部添加以下内容
使环境变量生效
备注:后续可通过此命令停止elasticsearch运行
??新建kafka的日志目录和zookeeper数据目录,因为这两项默认放在tmp目录,而tmp目录中内容会随重启而丢失,所以我们自定义以下目录:
修改如下:
在data文件夹中新建myid文件,myid文件的内容为1(一句话创建:echo 1myid)
kafka启动时先启动zookeeper,再启动kafka;关闭时相反,先关闭kafka , 再关闭zookeeper 。
1、zookeeper启动命令
后台运行启动命令:
或者
查看集群状态:
2、kafka启动命令
后台运行启动命令:
或者
3、创建topic,最新版本已经不需要使用zookeeper参数创建 。
参数解释:
复制两份
--replication-factor 2
创建1个分区
--partitions 1
topic 名称
--topic test
4、查看已经存在的topic(三台设备都执行时可以看到)
5、启动生产者:
6、启动消费者:
添加参数 --from-beginning 从开始位置消费,不是从最新消息
7、测试:在生产者输入test,可以在消费者的两台服务器上看到同样的字符test,说明Kafka服务器集群已搭建成功 。
Logstash没有提供集群安装方式,相互之间并没有交互,但是我们可以配置同属一个Kafka消费者组,来实现统一消息只消费一次的功能 。
??Filebeat用于安装在业务软件运行服务器,收集业务产生的日志,并推送到我们配置的Kafka、Redis、RabbitMQ等消息中间件 , 或者直接保存到Elasticsearch , 下面来讲解如何安装配置:
1、进入到/usr/local目录,执行解压命令
2、编辑配置filebeat.yml
??配置文件中默认是输出到elasticsearch , 这里我们改为kafka , 同文件目录下的filebeat.reference.yml文件是所有配置的实例,可以直接将kafka的配置复制到filebeat.yml
后台启动命令
停止命令
2、测试logstash是消费Kafka的日志主题,并将日志内容存入Elasticsearch
自动新增的两个index,规则是logstash中配置的
数据浏览页可以看到Elasticsearch中存储的日志数据内容,说明我们的配置已经生效 。
Gitee: GitEgg: GitEgg 是一款开源免费的企业级微服务应用开发框架 , 旨在整合目前主流稳定的开源技术框架,集成常用的最佳项目解决方案 , 实现可直接使用的微服务快速开发框架 。
GitHub:
java存储富文本到什么数据库在接收富文本时,数据库接收含有图片内容,图片会自动转换为Base64编码保存到数据库,导数据库性能降低 。
解决:在接收富文本内容时,将接收到的图片转换为文件上传到Minio(Minio具体使用可参考文档),然后将base64编码替换为图片地址保存

推荐阅读