大觅网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 最终结果显示

              

    

猜你喜欢

转载自www.cnblogs.com/lingboweifu/p/11800113.html
今日推荐