原理實(shí)踐枷畏,全面講解Logstash+Kibana+kafka

前面的時(shí)候,我因?yàn)楹笈_(tái)粉絲的一些問(wèn)題虱饿,整理了一篇文章拥诡,將ELK三個(gè)技術(shù)進(jìn)行詳細(xì)的講解,從原理到實(shí)踐氮发,全面覆蓋渴肉,但是因?yàn)槠颍曳殖闪藘善M(jìn)行整理爽冕,上篇主講ES仇祭,文章鏈接在這里:熬夜不睡覺(jué)整理ELK技術(shù)文檔,從此擺脫靠百度的工作(附源碼)

今天是其他的個(gè)技術(shù):Logstash+Kibana颈畸,中間穿插著講解Kafka應(yīng)用

話不多說(shuō)乌奇,直接上正題

一、 Logstash數(shù)據(jù)采集工具安裝和使用

1. 簡(jiǎn)介

Logstash是一款輕量級(jí)的日志搜集處理框架眯娱,可以方便的把分散的礁苗、多樣化的日志搜集起來(lái),并進(jìn)行自定義的處理徙缴,然后傳輸?shù)街付ǖ奈恢檬曰铮热缒硞€(gè)服務(wù)器或者文件。

而在官網(wǎng),對(duì)于Logstash的介紹更是完整迁霎,我這里就展示一下官網(wǎng)的介紹

原理實(shí)踐吱抚,全面講解Logstash+Kibana+kafka

輸入:采集各種樣式、大小和來(lái)源的數(shù)據(jù)

原理實(shí)踐考廉,全面講解Logstash+Kibana+kafka

過(guò)濾器:實(shí)時(shí)解析和轉(zhuǎn)換數(shù)據(jù)

原理實(shí)踐,全面講解Logstash+Kibana+kafka

輸出:選擇你的存儲(chǔ)携御,導(dǎo)出你的數(shù)據(jù)

原理實(shí)踐昌粤,全面講解Logstash+Kibana+kafka

而在官網(wǎng)的介紹中,最讓我興奮的就是可擴(kuò)展性啄刹,Logstash 采用可插拔框架涮坐,擁有 200 多個(gè)插件。您可以將不同的輸入選擇誓军、過(guò)濾器和輸出選擇混合搭配袱讹、精心安排,讓它們?cè)诠艿乐泻椭C地運(yùn)行昵时。這也就意味著可以用自己的方式創(chuàng)建和配置管道捷雕,就跟樂(lè)高積木一樣,我自己感覺(jué)太爽了

好了壹甥,理論的東西過(guò)一遍就好

ps:不過(guò)這也體現(xiàn)出官網(wǎng)在學(xué)習(xí)的過(guò)程中的重要性救巷,雖然都是英文的,但是句柠,現(xiàn)在可以翻譯的軟件的太多了浦译,這不是問(wèn)題

2. 安裝

所有的技術(shù),不自己實(shí)際操作一下是不可以的溯职,安裝上自己動(dòng)手實(shí)踐一下精盅,毛爺爺都說(shuō):實(shí)踐是檢驗(yàn)真理的唯一標(biāo)準(zhǔn),不得不夸獎(jiǎng)一下Logstash的工程師谜酒,真的太人性化了叹俏,下載后直接解壓,就可以了甚带。

而且提供了很多的安裝方式供你選擇她肯,舒服

原理實(shí)踐,全面講解Logstash+Kibana+kafka

3. helloword使用

開(kāi)始我們今天的第一個(gè)實(shí)踐吧鹰贵,就像我們剛開(kāi)始學(xué)Java的時(shí)候晴氨,第一個(gè)命令就是helloworld,不知道各位還能不能手寫(xiě)出來(lái)呢碉输?來(lái)看一下logstash的第一個(gè)運(yùn)行時(shí)怎么處理的

通過(guò)命令行籽前,進(jìn)入到logstash/bin目錄,執(zhí)行下面的命令:

input {
  kafka {
    type => "accesslogs"
    codec => "plain"
    auto_offset_reset => "smallest"
    group_id => "elas1"
    topic_id => "accesslogs"
    zk_connect => "172.16.0.11:2181,172.16.0.12:2181,172.16.0.13:2181"
  }

  kafka {
    type => "gamelogs"
    auto_offset_reset => "smallest"
    codec => "plain"
    group_id => "elas2"
    topic_id => "gamelogs"
    zk_connect => "172.16.0.11:2181,172.16.0.12:2181,172.16.0.13:2181"
  }
}

filter {
  if [type] == "accesslogs" {
    json {
      source => "message"
  remove_field => [ "message" ]
  target => "access"
    }
  }

  if [type] == "gamelogs" {
    mutate {
      split => { "message" => " " }
      add_field => {
        "event_type" => "%{message[3]}"
        "current_map" => "%{message[4]}"
        "current_X" => "%{message[5]}"
        "current_y" => "%{message[6]}"
        "user" => "%{message[7]}"
        "item" => "%{message[8]}"
        "item_id" => "%{message[9]}"
        "current_time" => "%{message[12]}"
     }
     remove_field => [ "message" ]
   }
  }
}

output {

  if [type] == "accesslogs" {
    elasticsearch {
      index => "accesslogs"
  codec => "json"
      hosts => ["172.16.0.14:9200", "172.16.0.15:9200", "172.16.0.16:9200"]
    }
  }

  if [type] == "gamelogs" {
    elasticsearch {
      index => "gamelogs"
      codec => plain {
        charset => "UTF-16BE"
      }
      hosts => ["172.16.0.14:9200", "172.16.0.15:9200", "172.16.0.16:9200"]
    }
  }
}

可以看到提示下面信息(這個(gè)命令稍后介紹),輸入hello world!

原理實(shí)踐枝哄,全面講解Logstash+Kibana+kafka

可以看到logstash為我們自動(dòng)添加了幾個(gè)字段:

時(shí)間戳:@ timestamp

版本:@ version

輸入的類型:type

主機(jī)名:host肄梨。

4.1. 簡(jiǎn)單的工作原理

Logstash使用管道方式進(jìn)行日志的搜集處理和輸出。有點(diǎn)類似*NIX系統(tǒng)的管道命令 xxx | ccc | ddd挠锥,xxx執(zhí)行完了會(huì)執(zhí)行ccc众羡,然后執(zhí)行ddd。

在logstash中蓖租,包括了三個(gè)階段:

  輸入input --> 處理filter(不是必須的) --> 輸出output

原理實(shí)踐粱侣,全面講解Logstash+Kibana+kafka

每個(gè)階段都有很多的插件配合工作,比如file蓖宦、elasticsearch齐婴、redis等等。

每個(gè)階段也可以指定多種方式稠茂,比如輸出既可以輸出到elasticsearch中柠偶,也可以指定到stdout在控制臺(tái)打印。

由于這種插件式的組織方式睬关,使得logstash變得易于擴(kuò)展和定制诱担。

4.2. 命令行中常用的命令

 -f:通過(guò)這個(gè)命令可以指定Logstash的配置文件,根據(jù)配置文件配置logstash

原理實(shí)踐共螺,全面講解Logstash+Kibana+kafka

 -e:后面跟著字符串该肴,該字符串可以被當(dāng)做logstash的配置(如果是“” 則默認(rèn)使用stdin作為輸入,stdout作為輸出)

原理實(shí)踐藐不,全面講解Logstash+Kibana+kafka

 -l:日志輸出的地址(默認(rèn)就是stdout直接在控制臺(tái)中輸出)

-t:測(cè)試配置文件是否正確匀哄,然后退出。

原理實(shí)踐雏蛮,全面講解Logstash+Kibana+kafka

4.3. 配置文件說(shuō)明

前面介紹過(guò)logstash基本上由三部分組成涎嚼,input、output以及用戶需要才添加的filter挑秉,因此標(biāo)準(zhǔn)的配置文件格式如下:

input {...}
filter {...}
output {...}
原理實(shí)踐法梯,全面講解Logstash+Kibana+kafka

在每個(gè)部分中,也可以指定多個(gè)訪問(wèn)方式犀概,例如我想要指定兩個(gè)日志來(lái)源文件立哑,則可以這樣寫(xiě):

input {
 file { path =>"/var/log/messages" type =>"syslog"}
 file { path =>"/var/log/apache/access.log" type =>"apache"}
}

類似的,如果在filter中添加了多種處理規(guī)則姻灶,則按照它的順序一一處理铛绰,但是有一些插件并不是線程安全的。

比如在filter中指定了兩個(gè)一樣的的插件产喉,這兩個(gè)任務(wù)并不能保證準(zhǔn)確的按順序執(zhí)行捂掰,因此官方也推薦避免在filter中重復(fù)使用插件敢会。

說(shuō)完這些,簡(jiǎn)單的創(chuàng)建一個(gè)配置文件的小例子看看:

input {
file {
   #指定監(jiān)聽(tīng)的文件路徑这嚣,注意必須是絕對(duì)路徑
        path => "E:/software/logstash-1.5.4/logstash-1.5.4/data/test.log"
        start_position => beginning
    }
}
filter {

}
output {
    stdout {}
}

日志大致如下:注意最后有一個(gè)空行鸥昏。

1 hello,this is first line in test.log!
2 hello,my name is xingoo!
3 goodbye.this is last line in test.log!
4

執(zhí)行命令得到如下信息:

原理實(shí)踐,全面講解Logstash+Kibana+kafka

5. 最常用的input插件——file姐帚。

這個(gè)插件可以從指定的目錄或者文件讀取內(nèi)容吏垮,輸入到管道處理,也算是logstash的核心插件了罐旗,大多數(shù)的使用場(chǎng)景都會(huì)用到這個(gè)插件惫皱,因此這里詳細(xì)講述下各個(gè)參數(shù)的含義與使用。

5.1. 最小化的配置文件

在Logstash中可以在 input{} 里面添加file配置尤莺,默認(rèn)的最小化配置如下:

input {
    file {
        path => "E:/software/logstash-1.5.4/logstash-1.5.4/data/*"
    }
}
filter {

}
output {
    stdout {}
}

當(dāng)然也可以監(jiān)聽(tīng)多個(gè)目標(biāo)文件:

input {
    file {
        path => ["E:/software/logstash-1.5.4/logstash-1.5.4/data/*","F:/test.txt"]
    }
}
filter {

}
output {
    stdout {}
}

5.2. 其他的配置

另外,處理path這個(gè)必須的項(xiàng)外生棍,file還提供了很多其他的屬性:

input {
    file {
        #監(jiān)聽(tīng)文件的路徑
        path => ["E:/software/logstash-1.5.4/logstash-1.5.4/data/*","F:/test.txt"]

        #排除不想監(jiān)聽(tīng)的文件
        exclude => "1.log"

        #添加自定義的字段
        add_field => {"test"=>"test"}

        #增加標(biāo)簽
        tags => "tag1"

        #設(shè)置新事件的標(biāo)志
        delimiter => "\n"

        #設(shè)置多長(zhǎng)時(shí)間掃描目錄颤霎,發(fā)現(xiàn)新文件
        discover_interval => 15

        #設(shè)置多長(zhǎng)時(shí)間檢測(cè)文件是否修改
        stat_interval => 1

         #監(jiān)聽(tīng)文件的起始位置,默認(rèn)是end
        start_position => beginning

        #監(jiān)聽(tīng)文件讀取信息記錄的位置
        sincedb_path => "E:/software/logstash-1.5.4/logstash-1.5.4/test.txt"

        #設(shè)置多長(zhǎng)時(shí)間會(huì)寫(xiě)入讀取的位置信息
        sincedb_write_interval => 15

    }
}
filter {

}
output {
    stdout {}
}

其中值得注意的是:

1 path

是必須的選項(xiàng)涂滴,每一個(gè)file配置友酱,都至少有一個(gè)path

2 exclude

是不想監(jiān)聽(tīng)的文件,logstash會(huì)自動(dòng)忽略該文件的監(jiān)聽(tīng)柔纵。配置的規(guī)則與path類似缔杉,支持字符串或者數(shù)組,但是要求必須是絕對(duì)路徑搁料。

3 start_position

是監(jiān)聽(tīng)的位置或详,默認(rèn)是end,即一個(gè)文件如果沒(méi)有記錄它的讀取信息郭计,則從文件的末尾開(kāi)始讀取霸琴,也就是說(shuō),僅僅讀取新添加的內(nèi)容昭伸。對(duì)于一些更新的日志類型的監(jiān)聽(tīng)梧乘,通常直接使用end就可以了;相反庐杨,beginning就會(huì)從一個(gè)文件的頭開(kāi)始讀取选调。但是如果記錄過(guò)文件的讀取信息,這個(gè)配置也就失去作用了灵份。

4 sincedb_path

這個(gè)選項(xiàng)配置了默認(rèn)的讀取文件信息記錄在哪個(gè)文件中仁堪,默認(rèn)是按照文件的inode等信息自動(dòng)生成。其中記錄了inode各吨、主設(shè)備號(hào)枝笨、次設(shè)備號(hào)以及讀取的位置袁铐。因此,如果一個(gè)文件僅僅是重命名横浑,那么它的inode以及其他信息就不會(huì)改變剔桨,因此也不會(huì)重新讀取文件的任何信息。類似的徙融,如果復(fù)制了一個(gè)文件洒缀,就相當(dāng)于創(chuàng)建了一個(gè)新的inode,如果監(jiān)聽(tīng)的是一個(gè)目錄欺冀,就會(huì)讀取該文件的所有信息树绩。

5 其他的關(guān)于掃描和檢測(cè)的時(shí)間,按照默認(rèn)的來(lái)就好了隐轩,如果頻繁創(chuàng)建新的文件饺饭,想要快速監(jiān)聽(tīng),那么可以考慮縮短檢測(cè)的時(shí)間职车。

  //6 add_field
  #這個(gè)技術(shù)感覺(jué)挺六的瘫俊,但是其實(shí)就是增加一個(gè)字段,例如:
file {
     add_field => {"test"=>"test"}
        path => "D:/tools/logstash/path/to/groksample.log"
        start_position => beginning
    }

6.  Kafka與Logstash的數(shù)據(jù)采集對(duì)接

基于Logstash跑通Kafka還是需要注意很多東西悴灵,最重要的就是理解Kafka的原理扛芽。

6.1. Logstash工作原理

由于Kafka采用解耦的設(shè)計(jì)思想,并非原始的發(fā)布訂閱积瞒,生產(chǎn)者負(fù)責(zé)產(chǎn)生消息川尖,直接推送給消費(fèi)者。而是在中間加入持久化層——broker,生產(chǎn)者把數(shù)據(jù)存放在broker中茫孔,消費(fèi)者從broker中取數(shù)據(jù)叮喳。這樣就帶來(lái)了幾個(gè)好處:

1 生產(chǎn)者的負(fù)載與消費(fèi)者的負(fù)載解耦

2 消費(fèi)者按照自己的能力fetch數(shù)據(jù)

3 消費(fèi)者可以自定義消費(fèi)的數(shù)量

另外,由于broker采用了主題topic-->分區(qū)的思想银酬,使得某個(gè)分區(qū)內(nèi)部的順序可以保證有序性嘲更,但是分區(qū)間的數(shù)據(jù)不保證有序性。這樣揩瞪,消費(fèi)者可以以分區(qū)為單位赋朦,自定義讀取的位置——offset。

Kafka采用zookeeper作為管理李破,記錄了producer到broker的信息宠哄,以及consumer與broker中partition的對(duì)應(yīng)關(guān)系。因此嗤攻,生產(chǎn)者可以直接把數(shù)據(jù)傳遞給broker毛嫉,broker通過(guò)zookeeper進(jìn)行l(wèi)eader-->followers的選舉管理;消費(fèi)者通過(guò)zookeeper保存讀取的位置offset以及讀取的topic的partition分區(qū)信息妇菱。

原理實(shí)踐承粤,全面講解Logstash+Kibana+kafka

由于上面的架構(gòu)設(shè)計(jì)暴区,使得生產(chǎn)者與broker相連;消費(fèi)者與zookeeper相連辛臊。有了這樣的對(duì)應(yīng)關(guān)系仙粱,就容易部署logstash-->kafka-->logstash的方案了。

接下來(lái)彻舰,按照下面的步驟就可以實(shí)現(xiàn)logstash與kafka的對(duì)接了伐割。

原理實(shí)踐,全面講解Logstash+Kibana+kafka

6.2. 啟動(dòng)kafka

##啟動(dòng)zookeeper:
$zookeeper/bin/zkServer.sh start

##啟動(dòng)kafka:
$kafka/bin/kafka-server-start.sh $kafka/config/server.properties &

6.3. 創(chuàng)建主題

#創(chuàng)建主題:
$kafka/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --create --topic hello --replication-factor 1 --partitions 1

#查看主題:
$kafka/bin/kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe

6.4. 測(cè)試環(huán)境

#執(zhí)行生產(chǎn)者腳本:
$kafka/bin/kafka-console-producer.sh --broker-list 10.0.67.101:9092 --topic hello

#執(zhí)行消費(fèi)者腳本刃唤,查看是否寫(xiě)入:
$kafka/bin/kafka-console-consumer.sh --zookeeper 127.0.0.1:2181 --from-beginning --topic hello

6.5. 向kafka中輸出數(shù)據(jù)

input{
       stdin{}
      }
output{
       kafka{
       topic_id => "hello" 
       bootstrap_servers => "192.168.0.4:9092,172.16.0.12:9092" 
       # kafka的地址 
       batch_size => 5
  codec => plain {
format => "%{message}"
charset => "UTF-8"
  }
      }
stdout{
       codec => rubydebug
      }
}

6.6. 從kafka中讀取數(shù)據(jù)

logstash配置文件:

input{
      kafka {
              codec => "plain" 
              group_id => "logstash1" 
              auto_offset_reset => "smallest" 
              reset_beginning => true 
              topic_id => "hello" 
              zk_connect => "192.168.0.5:2181" 
              }
       }
output{
       stdout{
               codec => rubydebug
               }
       }

7. Filter

7.1. 過(guò)濾插件grok組件

#日志
55.3.244.1 GET /index.html 15824 0.043

bin/logstash -e '
input { stdin {} }
filter {
  grok {
    match => { "message" => "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" }
  }
}
output { stdout {codec => rubydebug} }'

7.2. 分割插件split

filter {
  mutate {
    split => { "message" => " " }
      add_field => {
        "event_type" => "%{message[3]}"
        "current_map" => "%{message[4]}"
        "current_X" => "%{message[5]}"
        "current_y" => "%{message[6]}"
        "user" => "%{message[7]}"
        "item" => "%{message[8]}"
        "item_id" => "%{message[9]}"
        "current_time" => "%{message[12]}"
     }
     remove_field => [ "message" ]
  }
}

四隔心、 Kibana報(bào)表工具的安裝和使用

1. 簡(jiǎn)介

Logstash 早期曾經(jīng)自帶了一個(gè)特別簡(jiǎn)單的 logstash-web 用來(lái)查看 ES 中的數(shù)據(jù)。其功能太過(guò)簡(jiǎn)單尚胞,于是產(chǎn)生了Kibana硬霍。不過(guò)是用PHP編寫(xiě),后來(lái)為了滿足更多的使用需求笼裳,懶人推動(dòng)科技的進(jìn)步嘛须尚,并且Logstash使用ruby進(jìn)行編寫(xiě),所以重新編寫(xiě)Kibana侍咱,直到現(xiàn)在,Kibana因?yàn)橹貥?gòu)密幔,導(dǎo)致3楔脯,4某些情況下不兼容,所以出現(xiàn)了一山容二虎的情況胯甩,具體怎么選擇昧廷,可以根據(jù)業(yè)務(wù)場(chǎng)景進(jìn)行實(shí)際分析

原理實(shí)踐,全面講解Logstash+Kibana+kafka

在Kibana眾多的優(yōu)秀特性中偎箫,我個(gè)人最喜歡的是這一個(gè)特性木柬,我起名叫包容性

原理實(shí)踐,全面講解Logstash+Kibana+kafka

因?yàn)樵诠倬W(wǎng)介紹中淹办,Kibana可以非常方便地把來(lái)自Logstash眉枕、ES-Hadoop、Beats或第三方技術(shù)的數(shù)據(jù)整合到Elasticsearch怜森,支持的第三方技術(shù)包括Apache Flume速挑、Fluentd等。這也就表明我在日常的開(kāi)發(fā)工作中副硅,對(duì)于技術(shù)選型和操作的時(shí)候姥宝,我可以有更多的選擇,在開(kāi)發(fā)時(shí)也能找到相應(yīng)的開(kāi)發(fā)實(shí)例恐疲,節(jié)省了大量的開(kāi)發(fā)時(shí)間

ps:有一次體現(xiàn)了官網(wǎng)的重要性腊满,真的套么,有時(shí)候官網(wǎng)可以幫你解決大多數(shù)的問(wèn)題,有時(shí)間可以去看一下官網(wǎng)啊碳蛋,好了胚泌,話不多說(shuō),看正題

2. 安裝

下載安裝包后解壓

編輯文件config/kibana.yml 疮蹦,配置屬性:

[root@H32 ~]# cd kibana/config/
 [root@H32 config]# vim kibana.yml
 //添加:
 server.host: "192.168.80.32"
elasticsearch.url: "http://172.16.0.14:9200"

先啟動(dòng)ES诸迟,然后再啟動(dòng)

cd /usr/local/kibana530bin/kibana

注意:

1、kibana必須是在root下運(yùn)行愕乎,否則會(huì)報(bào)錯(cuò)阵苇,啟動(dòng)失敗

2、下載解壓安裝包感论,一定要裝與ES相同的版本

3. 導(dǎo)入數(shù)據(jù)

我們將使用莎士比亞全集作為我們的示例數(shù)據(jù)绅项。要更好的使用 Kibana,你需要為自己的新索引應(yīng)用一個(gè)映射集(mapping)比肄。我們用下面這個(gè)映射集創(chuàng)建"莎士比亞全集"索引快耿。實(shí)際數(shù)據(jù)的字段比這要多,但是我們只需要指定下面這些字段的映射就可以了芳绩。注意到我們?cè)O(shè)置了對(duì) speaker 和 play_name 不分析掀亥。原因會(huì)在稍后講明挪略。

在終端運(yùn)行下面命令:

curl -XPUT http://localhost:9200/shakespeare -d '
{
 "mappings" : {
  "_default_" : {
   "properties" : {
    "speaker" : {"type": "string", "index" : "not_analyzed" },
    "play_name" : {"type": "string", "index" : "not_analyzed" },
    "line_id" : { "type" : "integer" },
    "speech_number" : { "type" : "integer" }
   }
  }
 }
}

我們這就創(chuàng)建好了索引∪切現(xiàn)在需要做的時(shí)導(dǎo)入數(shù)據(jù)。莎士比亞全集的內(nèi)容我們已經(jīng)整理成了 elasticsearch 批量 導(dǎo)入所需要的格式薯嗤,你可以通過(guò)<u style="box-sizing: border-box; text-decoration: none; margin: 0px; padding: 0px; border: 0px;">shakeseare.json</u>下載嘹害。

用如下命令導(dǎo)入數(shù)據(jù)到你本地的 elasticsearch 進(jìn)程中撮竿。

curl -XPUT localhost:9200/_bulk --data-binary @shakespeare.json

4. 訪問(wèn) Kibana 界面

打開(kāi)瀏覽器,訪問(wèn)已經(jīng)發(fā)布了 Kibana 的本地服務(wù)器笔呀。

原理實(shí)踐幢踏,全面講解Logstash+Kibana+kafka

如果你解壓路徑無(wú)誤(譯者注:使用 github 源碼的讀者記住發(fā)布目錄應(yīng)該是 kibana/src/ 里面),你已經(jīng)就可以看到上面這個(gè)可愛(ài)的歡迎頁(yè)面许师。點(diǎn)擊 Sample Dashboard 鏈接

原理實(shí)踐房蝉,全面講解Logstash+Kibana+kafka

好了,現(xiàn)在顯示的就是你的 sample dashboard微渠!如果你是用新的 elasticsearch 進(jìn)程開(kāi)始本教程的惨驶,你會(huì)看到一個(gè)百分比占比很重的餅圖。這里顯示的是你的索引中敛助,文檔類型的情況粗卜。如你所見(jiàn),99% 都是 lines纳击,只有少量的 acts 和scenes续扔。

在下面攻臀,你會(huì)看到一長(zhǎng)段 JSON 格式的莎士比亞詩(shī)文。

5. 第一次搜索

Kibana 允許使用者采用 Lucene Query String 語(yǔ)法搜索 Elasticsearch 中的數(shù)據(jù)纱昧。請(qǐng)求可以在頁(yè)面頂部的請(qǐng)求輸入框中書(shū)寫(xiě)刨啸。

原理實(shí)踐,全面講解Logstash+Kibana+kafka

在請(qǐng)求框中輸入如下內(nèi)容识脆。然后查看表格中的前幾行內(nèi)容设联。

friends, romans, countrymen

原理實(shí)踐,全面講解Logstash+Kibana+kafka

6. 配置另一個(gè)索引

目前 Kibana 指向的是 Elasticsearch 一個(gè)特殊的索引叫 _all灼捂。 _all 可以理解為全部索引的大集合离例。目前你只有一個(gè)索引, shakespeare悉稠,但未來(lái)你會(huì)有更多其他方面的索引宫蛆,你肯定不希望 Kibana 在你只想搜《麥克白》里心愛(ài)的句子的時(shí)候還要搜索全部?jī)?nèi)容。

配置索引的猛,點(diǎn)擊右上角的配置按鈕:

原理實(shí)踐耀盗,全面講解Logstash+Kibana+kafka

在這里,你可以設(shè)置你的索引為 shakespeare 卦尊,這樣 Kibana 就只會(huì)搜索 shakespeare 索引的內(nèi)容了叛拷。

原理實(shí)踐,全面講解Logstash+Kibana+kafka
原理實(shí)踐岂却,全面講解Logstash+Kibana+kafka

這是因?yàn)?ES1.4 增強(qiáng)了權(quán)限管理胡诗。你需要在 ES 配置文件 elasticsearch.yml 中添加下列配置并重啟服務(wù)后才能正常訪問(wèn):

http.cors.enabled: true
http.cors.allow-origin: "*"

記住 kibana3 頁(yè)面也要刷新緩存才行。

此外淌友,如果你可以很明確自己 kibana 以外沒(méi)有其他 http 訪問(wèn),可以把 kibana 的網(wǎng)址寫(xiě)在http.cors.allow-origin 參數(shù)的值中骇陈。比如:

http.cors.allow-origin: "/https?:\/\/kbndomain/"

好了震庭,到這里就結(jié)束了,不知道有沒(méi)有收獲呀你雌,有收獲的朋友給我點(diǎn)個(gè)贊吧~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末器联,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子婿崭,更是在濱河造成了極大的恐慌拨拓,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氓栈,死亡現(xiàn)場(chǎng)離奇詭異渣磷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)授瘦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)醋界,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)竟宋,“玉大人,你說(shuō)我怎么就攤上這事形纺∏鹣溃” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵逐样,是天一觀的道長(zhǎng)蜗字。 經(jīng)常有香客問(wèn)我,道長(zhǎng)脂新,這世上最難降的妖魔是什么挪捕? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮戏羽,結(jié)果婚禮上担神,老公的妹妹穿的比我還像新娘。我一直安慰自己始花,他們只是感情好妄讯,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著酷宵,像睡著了一般亥贸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上浇垦,一...
    開(kāi)封第一講書(shū)人閱讀 49,760評(píng)論 1 289
  • 那天炕置,我揣著相機(jī)與錄音,去河邊找鬼男韧。 笑死朴摊,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的此虑。 我是一名探鬼主播甚纲,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼朦前!你這毒婦竟也來(lái)了介杆?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤韭寸,失蹤者是張志新(化名)和其女友劉穎春哨,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體恩伺,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡赴背,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片癞尚。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡耸三,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浇揩,到底是詐尸還是另有隱情仪壮,我是刑警寧澤,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布胳徽,位于F島的核電站积锅,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏养盗。R本人自食惡果不足惜缚陷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望往核。 院中可真熱鬧箫爷,春花似錦、人聲如沸聂儒。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)衩婚。三九已至窜护,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間非春,已是汗流浹背柱徙。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奇昙,地道東北人护侮。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像储耐,于是被迫代替她去往敵國(guó)和親羊初。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容