Kibana-【重新創建Index到ES並通過程序更新數據,最后在Kibana可視化界面展示統計圖】


 

Kibana-【重新創建Index到ES並通過程序更新數據,最后在Kibana可視化界面展示統計圖】

1)首先新創建一個index

// 一、創建索引
 @Test public void createIndex_blog() { client.admin().indices().prepareCreate("kibana_data").get(); // 關掉連接
 client.close(); }

2)接下來插入數據

//十七、循環插入數據-1
 @Test public void kibana_data_generate() { //創建索引--"kibana_data" // client.admin().indices().prepareCreate("kibana_data").get(); //創建示例數據 //使用map創建Document
        Map<String,Object> json=null; IndexResponse indexResponse=null; for(int i=1;i<=1000;i++) { json=new HashMap<String, Object>(); json.put("id", i+""); json.put("status_code", generateStatusCode()+""); json.put("response_time", Math.random()); indexResponse=client.prepareIndex("kibana_data", "access_log", i+"").setSource(json).execute().actionGet(); } client.close(); } //以一定的概率產生數據
    private int generateStatusCode() { int status_code=0; double randomNum=Math.random(); if(randomNum<=0.7) { status_code=200; }else if(randomNum<=0.8) { status_code=404; }else if(randomNum<=0.95) { status_code=500; }else { status_code=401; } return status_code; }

如果要運行程序的話,需要再添加如下代碼來建立連接:

public class ESTest_1 { // 對ES的操作都是通過client

private TransportClient client; // 注意:加注解才能運行
 @SuppressWarnings("unchecked") @Before // @Before 以后在操作ES的時候首先獲取連接-初始化Client // 獲取連接-初始化Client

public void getClient() throws Exception { // 1.設置連接集群的名稱
 Settings settings = Settings.builder().put("cluster.name", "my-application").build(); // 2.連接集群
 client = new PreBuiltTransportClient(settings); // IP,client-客戶機操作ES的端口號
 client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.212.111"), 9300)); }

整體代碼參考:https://www.cnblogs.com/liuxinrong/articles/13515694.html

3)查看ES:

 

4)現在新建統計圖

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 5)如果再往Kibana_data里面寫數據:

//十七、循環插入數據-2 //再次寫入數據
 @Test public void kibana_data_generate_again() { // 使用map創建document // 文檔數據准備
        Map<String, Object> json = null; IndexResponse indexResponse = null; for(int i = 1000; i <= 2000 ; i++){ json = new HashMap<String, Object>(); json.put("id", i + ""); json.put("status_code", generateStatusCode2() + ""); json.put("response_time", Math.random()); indexResponse = client.prepareIndex("kibana_data", "access_log", i + "").setSource(json).execute().actionGet(); } // 關閉連接
 client.close(); } //以一定的概率產生數據
    public int generateStatusCode2 () { int status_code = 0; double randomNum = Math.random(); if (randomNum <= 0.7) { status_code = 500; } else if (randomNum <=0.8) { status_code = 404; } else if (randomNum <=0.95) { status_code = 200; } else { status_code = 401; } return status_code; }

(1)查看ES:

 

(2)現在刷新Kibana可視化界面:

 

----------------------------------------------------------------------------------------------------

6)當然也可以制作其它類型統計圖

(1)比如餅圖:

 

 

 

 

 

 

 

 

 

 

 (2)同理,下面再嘗試一個圖:

 

 

 

 

解析:

 

 

 


免責聲明!

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



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