大覓網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 最終結果顯示

 

              

    

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM