分布式日志环境的构建(ELK+Kafka)

主要是搭建分布式日志环境,由ELK+Kafka实现,分为以下四步实现:

一、Elasticsearch环境的搭建和测试

  1、删除已经存在的ES容器和镜像,如图1.1.1,1.1.2所示:

       

                        图1.1.1 删除已存在ES

   

                       图1.1.2 删除已存在ES镜像

2、宿主机调整内存:可通过执行语句“sudo sysctl -w vm.max_map_count=655360”实现,效果如图1.2.1所示:

   

                                     图1.2.1 更改宿主机内存

3、更改docker-compose.yml中的内存限制:可通过执行“vim /home/locus/springcloudV2.0/docker-compose.yml”。进入docker-compose.yml,将mem_limit: 更改为2048M,效果如图1.2.2所示:

    

                                             图1.2.2 更改docker-compose.yml中的内存限制

4、进入/home/px2/envdm/springcloudV2.0/路径,执行"docker-compose up -d elasticsearch"命令,进入安装界面,效果如图1.2.3所示:

    

                            图1.2.3 ES的安装

  5、可通过浏览器访问“你的虚拟机IP地址:9200”可显示如图1.2.4所示的版本信息,这样ES就完成了。

     

                            图1.2.4 ES安装完成

  二、Logstash的安装:

    1、Portainer中logstash控制台执行命令“vi /usr/local/logstash-6.3.0/config/logstash.yml”,将logstash.yml中的IP地址改为你的ES的IP和端口。效果如图2.1.1所示:

     

                            图2.1.1 更改IP地址

    2、同理运行命令“vi /usr/local/logstash-6.3.0/bin/logstash.conf”更改IP地址及加入日志参数。这样就完成了Logstash的配置。如图2.1.2所示:

    

                    图2.1.2 更改IP地址以及添加日志输出

  三、Kibana的配置:
    1、在Kibana的控制台中执行“vi /local/kibana-6.2.4-linux-x86_64/config/kibana.yml”修改Kibana的IP地址,如图3.1.1所示。

    

                    图3.1.1 更改host Ip地址

    2、访问对应的IP可查看Kibana界面如图3.1.2所示:

    

                             图3.1.2 Kibana界面

  四、Kafka的配置

    1、运行命令“vi local/kafka_2.10-0.10.2.1/config/server.properties",修改文件中的”listeners=PLAINTEXT://0.0.0.0:9092 advertised.listeners=PLAINTEXT://192.168.228.128:9092"

    效果如图4.1.1所示:

    

                         图4.1.1 修改Kafka的配置

    2、进入Kafka bin目录下,运行命令“./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --topic dm --from-beginning”重启Kafka

  五、测试

    1、打开项目“dm-kafka-client”,更改“application.yml"的IP地址。如图5.1.1所示:

    

                      图5.1.1 更改”application.yml"配置

    2、测试代码如图代码块5.1.2所示:启动项目。

 @RestController
public class KafkaController {
@Autowired
private KafkaTemplate<String, String> KafkaTemplate; @RequestMapping(value = "/sendMsgToKafka")
public String sendMsgToKafka() {
//KafkaTemplate.send("dm", "dm", "培达梦!--->" );
for (int i = 10; i < 20; i++) {
//my-topic
//KafkaTemplate.send("user_consumer", "dm", "hello,Kafka!--->" + i);
KafkaTemplate.send("dm", "bhy", "67hello2,Kafka!--->" + i);
//System.out.println("*****");
}
return "发送消息到Kafka完毕";
}
}

代码块5.1.2 测试代码

    3、页面请求对应controller,Kibana可看到如图5.1.3数据:

    

                        图5.1.3 最终结果显示

              

    

大觅网07day的更多相关文章

  1. 大觅网02Day

    docker环境搭建:(注:请先完成上一次的环境搭建) A.部署环境(导入上次系统的时候修改虚拟机的内存) 1.安装系统自带版本Docker:apt-get install docker.io 2.查 ...

  2. 大觅网01Day

    1.首先在上手之前准备几样开发辅助工具: ①vmware ②ubuntu ③xshell ④xftp 2.创建ubuntu系统 打开vmware创建一个新的虚拟机 在创建虚拟机时有几处需要留意 首先是 ...

  3. 大觅网05Day

    1.Mycat概述 在此前的服务器对数据库的存储数量要求并不高的时候,被经常使用的MySql数据基本能够满足对数据存储的要求. 但随着技术的不断发展,MySql甚至Redis都无法满足现今存储数量的指 ...

  4. 大觅网03Day

    实现轮播图接口 1.在开始工作之前请先准备好以下要用到的软件以及素材: MarkdownPad: POSTMAN: dm-common(install打包操作-保证本地构建), dm-base-pro ...

  5. 爬虫综合大作业——网易云音乐爬虫 & 数据可视化分析

    作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3075 爬虫综合大作业 选择一个热点或者你感兴趣的主题. 选择爬取的对象 ...

  6. 腾讯大湘网某处csrf(city.hn.qq.com)可投诉刷留言

    触发点: http://city.hn.qq.com http://city.hn.qq.com/auto/c=shop&m=bbs&id=668 POST /msgboard/mes ...

  7. 腾讯大渝网(esf.cq.qq.com)任意手机注册+短信验证码泄露

    地址在这里:http://esf.cq.qq.com/c=register 直接返回短信验证码, data: {data:您的手机验证码为8453,2小时内有效., auth_code:8453}ti ...

  8. 大二网课ing学习周记

    行稳致远,久久为功! 一个概念套着一个概念哦!码就是关键字,标识属性是也! 1.什么是主码和外码,请举例说明. 关键字也叫码! 首先,在一个关系中,能惟一标识元组的属性or最小属性集称为关系的候选码. ...

  9. 福大软工1816:Alpha(3/10)

    Alpha 冲刺 (3/10) 队名:第三视角 组长博客链接 本次作业链接 团队部分 团队燃尽图 工作情况汇报 张扬(组长) 过去两天完成了哪些任务: 文字/口头描述: 1.学习qqbot库: 2.实 ...

随机推荐

  1. 高性能mysql 第7章 mysql高级特性之分区表

    分区表: 分区表是一个独立的逻辑表,底层通过多个物理表实现. mysql实现分区表的方式是对底层表的封装.这意味着没有全局索引,索引是建立在底层的每个表上的(跟ORACLE不一样). 用到分区表的几种 ...

  2. poj1830 开关问题[高斯消元]

    其实第一反应是双向BFS或者meet in middle,$2^{14}$的搜索量,多测,应该是可以过的,但是无奈双向BFS我只写过一题,已经不会写了. 发现灯的操作情况顺序不影响结果,因为操作相当于 ...

  3. Java多线程1:使用多线程的几种方式以及对比

    前言 Java多线程的使用有三种方法:继承Thread类.实现Runnable接口和使用Callable和Future创建线程,本文将对这三种方法一一进行介绍. 1.继承Thread类 实现方式很简单 ...

  4. 什么?studio3T试用期到了,还没有破解的办法?试制基于python的mongodb CRUD平台

    首先,安装python支持的mongodb库pip install pymongo from pymongo import MongoClient client = MongoClient('loca ...

  5. Django 之 文件配置、pycharm及django连接数据库、创表及表的增删改查02

    目录 创建项目后的文件夹配置 静态文件配置 接口前缀动态绑定 form表单回顾 根据请求方式的不同,返回前端不同的信息 pycharm 连接MYSQL数据库 Django 连接MYSQL数据库的配置 ...

  6. 【C#-枚举】枚举的使用

    枚举是用户定义的整数类型. namespace ConsoleApplication1 { /// <summary> /// 在枚举中使用一个整数值,来表示一天的阶段 /// 如:Tim ...

  7. JS实现表单全选以及取消全选实例

    实现效果: 全选按钮:点击全选按钮所有的小按钮都会被选中:点掉全选按钮,所有按钮取消选中: 小按钮:只有全部被选中,全选按钮才会被选中 思路分析: 1.全选和取消全选做法:让下面所有复选框的 chec ...

  8. HTML的<form>表单标签

    表单 HTML 表单用于搜集不同类型的用户输入. ㈠Form标签 ⑴form标签简介 在HTML中,如果创建一个表单,就把各种表单标签放在<form></form>标签内部.我 ...

  9. jprofiler 监听远程java项目

    1.下载.安装windows和linux版的jprofile.注意:若监控的是springboot.springcloud项目,切记本地和服务器上的jprofile要版本保持一致,本人亲自踩过坑. 官 ...

  10. socket 异步 发送 接收 数据

    Socket socketClints = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); / ...