zoukankan      html  css  js  c++  java
  • 大觅网07day

    分布式日志环境的构建(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所示:启动项目。

     1 @RestController
     2 public class KafkaController {
     3     @Autowired
     4     private KafkaTemplate<String, String> KafkaTemplate;
     5 
     6     @RequestMapping(value = "/sendMsgToKafka")
     7     public String sendMsgToKafka() {
     8         //KafkaTemplate.send("dm", "dm", "培达梦!--->" );
     9         for (int i = 10; i < 20; i++) {
    10             //my-topic
    11             //KafkaTemplate.send("user_consumer", "dm", "hello,Kafka!--->" + i);
    12             KafkaTemplate.send("dm", "bhy", "67hello2,Kafka!--->" + i);
    13             //System.out.println("*****");
    14         }
    15         return "发送消息到Kafka完毕";
    16     }
    17 }
    代码块5.1.2 测试代码

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

        

                            图5.1.3 最终结果显示

                  

        

  • 相关阅读:
    21、Java并发性和多线程-Java中的锁
    20、Java并发性和多线程-Slipped Conditions
    19、Java并发性和多线程-嵌套管程锁死
    Java 架构师眼中的 HTTP 协议
    MonolithFirst
    【SpringMVC】从Fastjson迁移到Jackson,以及对技术选型的反思
    SpringMVC接口测试异常:Can not deserialize instance of int out of START_OBJECT token
    请不要盲目的进行横向扩展,优先考虑对单台服务器的性能优化,只有单台服务器的性能达到最优化之后,集群才会被最大的发挥作用
    Android Fragment中调用getActivity为null的问题
    Android 那些年,处理getActivity()为null的日子
  • 原文地址:https://www.cnblogs.com/lingboweifu/p/11800113.html
Copyright © 2011-2022 走看看