Elasticsearch Logstash Kibana

ref: Learning ELK Stack

[Elasticsearch](https://www.elastic.co/products/elasticsearch)

Note:
《Learning ELK Stack 中文版》中由于版本問題導(dǎo)致多處配置和命令等無效或不正確,因此應(yīng)參考官方文檔蒸眠。

ElasticSearch v5

ref: ElasticSearch 5學(xué)習(xí)(1)——安裝Elasticsearch袄琳、Kibana和X-Pack

Elasticsearch

Elasticsearch 是一個基于Apache Lucene 的分布式開源搜索引擎询件。

Official Documentation:
https://www.elastic.co/downloads/elasticsearch/

Installation Steps
  1. Download and unzip
  2. Run
    $ bin/elasticsearch
  3. Run
    $ curl -X GET http:localhost:9200/

Elasticsearch 插件

Kopf 是用JavaScript, AngularJS, JQuery和Twitter Bootstrap寫的一個簡單的Elasticsearch Web管理工具。

  1. 安裝
    $ bin/plugin install lmenezes/elasticsearch-kopf
  2. 訪問
    http://localhost:9200/_plugin/kopf/
Elasticsearch 基本概念
  • 索引:具備某些共同特征的文檔集唆樊,一個索引包含多個JSON格式文檔宛琅;
  • 文檔:存儲在索引里的JSON格式文檔;
  • 字段:文檔內(nèi)的基本單元逗旁;
  • 類型:用于提供索引中的邏輯分區(qū)嘿辟;
  • 映射:用戶來映射文檔的每個字段,以及字段對應(yīng)的給的數(shù)據(jù)類型片效。
  • 分片:存儲索引的實際物理實體红伦;
  • 主分片/副分片:在一個Elasticsearch索引中的每個文件存儲在一個主分片和一些副分片中。而索引文件先存儲在主分片中淀衣,然后在存儲到相應(yīng)的副分片中昙读。

主分片和副分片駐留在不同的節(jié)點上,以便于滿足多個請求情況下的故障轉(zhuǎn)移和負(fù)載平衡膨桥。

  • 集群:存儲索引數(shù)據(jù)的節(jié)點集合蛮浑;
    Elasticsearch 配置文件為:elasticsearch.yml
    集群配置為:
    cluster.name: elasticsearch
  • 節(jié)點;一個單一的 Elasticsearch運行實例只嚣;

節(jié)點可以有以下3中角色:

  1. 數(shù)據(jù)節(jié)點:索引沮稚,搜索文檔;
    node.master= false
    node.data = true
  2. 主節(jié)點:管理集群册舞;
    node.master= true
    node.data = false
  3. 路由節(jié)點/負(fù)載平衡節(jié)點:負(fù)載均衡蕴掏,路由搜索請求,將文檔索引到適當(dāng)?shù)墓?jié)點调鲸;
    node.master= false
    node.data = false
Elasticsearch RESTful API

使用命令行查詢集群的常見語法:
$ curl -X <VERB> '<PROTOCOL>://<HOST>:<PORT>/<PATH>/<OPERATION_NAME>?<QUERY_STRING>' -d '<BODY>'

  1. 查看集群中所有可用索引:
    $ curl -X GET 'http://localhost:9200/_cat/indices/?v'
  2. 查看集群中所有節(jié)點
    $ curl -X GET 'http://localhost:9200/_cat/nodes/?v'
  3. 查看字段并排序
    $ curl -X GET 'http://localhost:9200/logstash-*/_search?pretty' -d '{"query":{"match_all":{}}, "sort":{"open":{"order":"desc"}}, "size":3}'

Logstash

Logstash 是一個數(shù)據(jù)管道盛杰,主要用來收集、解析和分析大量結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)以及各各種系統(tǒng)產(chǎn)生的事件线得。

Official Documentation: https://www.elastic.co/guide/en/logstash/current/index.html/

運行 Logstash
  • 使用標(biāo)準(zhǔn)輸入饶唤、輸出運行
    $ bin/logstash -e 'input { stdin {} } output { stdout {} }'
  • Logstash 可以配置將所有的輸入輸出到一個Elasticsearch實例中。
    $ bin/logstash -e 'input {stdin {} } output {elasticsearch {hosts => ["localhost:9200"]}}'
配置Logstash
  • Logstash采用JSON格式的配置文件
# 這是一條注釋
input {}
filter {}
output {}
  • 每一節(jié)都包含了一個或者多個插件的配置選項贯钩。如果使用了多個過濾插件募狂,則配置文件中的順序就指定了應(yīng)用到事件處理流的順序。

  • 按照指定的配置文件啟動Logstash
    $ bin/logstash -f logstash.cfg
    其中l(wèi)ogstash.cfg為JSON格式的配置文件

# Logstash config
# logstash.cfg

# input
input {
    file {
    path => "/User/Jacky/Projects/Scripts/google.csv"
    start_position => "beginning"
    }
}

# filter
filter {
    csv {
    columns => ["date_of_record", "open", "high", "low", "close", "volume", "adj_close"]
    separator => ","
    }

    date {
    match => ["date_of_record", "yyyy-MM-dd"]
    target => "@timestamp"
    }

    mutate {
    convert => ["open","float"]
    convert => ["high","float"]
    convert => ["low","float"]
    convert => ["close","float"]
    convert => ["volume","float"]
    convert => ["adj_close","float"]
    }

}

# output
output {
    elasticsearch {
    hosts => ["localhost"]
    }
}

特別注意 output配置角雷,如果配置為:

output {
    elasticsearch {
        host => "localhost:9200"
    }
}

會報錯祸穷,此處請參考Doc:
https://www.elastic.co/guide/en/logstash/current/advanced-pipeline.html#indexing-parsed-data-into-elasticsearch/

Logstash 插件類型
  1. 輸入 input
  2. 過濾器 filter
  3. 輸出 output
  4. 編解碼器 codec
grok 插件

gork模式:
https://github.com/logstash-plugins/logstash-patterns-core/tree/master/patterns/

Logstash 所有過濾插件列表和最新文檔:
https://www.elastic.co/guide/en/logstash/current/filter-plugins.html

Kibana

Kibana 是一個基于Apache 2.0 開源協(xié)議的開源數(shù)據(jù)可視化平臺

  1. 運行
    $ bin/kibana
  2. 訪問
    http://localhost:5601/
創(chuàng)建可視化視圖
  • 桶buckets:將文檔根據(jù)特定的條件進(jìn)行分組勺三,然后對分組后的文檔計算度量雷滚。桶通常代表Kibana 的X軸;
  • 度量metrics:對每個同桶中的字段的值進(jìn)行計算吗坚,通常代表Kibana 的Y軸祈远;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末呆万,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子车份,更是在濱河造成了極大的恐慌谋减,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扫沼,死亡現(xiàn)場離奇詭異出爹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)缎除,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評論 3 395
  • 文/潘曉璐 我一進(jìn)店門严就,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人器罐,你說我怎么就攤上這事梢为。” “怎么了技矮?”我有些...
    開封第一講書人閱讀 165,417評論 0 356
  • 文/不壞的土叔 我叫張陵抖誉,是天一觀的道長。 經(jīng)常有香客問我衰倦,道長袒炉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,868評論 1 295
  • 正文 為了忘掉前任樊零,我火速辦了婚禮我磁,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘驻襟。我一直安慰自己夺艰,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,892評論 6 392
  • 文/花漫 我一把揭開白布沉衣。 她就那樣靜靜地躺著郁副,像睡著了一般。 火紅的嫁衣襯著肌膚如雪豌习。 梳的紋絲不亂的頭發(fā)上存谎,一...
    開封第一講書人閱讀 51,692評論 1 305
  • 那天,我揣著相機(jī)與錄音肥隆,去河邊找鬼既荚。 笑死,一個胖子當(dāng)著我的面吹牛栋艳,可吹牛的內(nèi)容都是我干的恰聘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼晴叨!你這毒婦竟也來了凿宾?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,326評論 0 276
  • 序言:老撾萬榮一對情侶失蹤兼蕊,失蹤者是張志新(化名)和其女友劉穎菌湃,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體遍略,經(jīng)...
    沈念sama閱讀 45,782評論 1 316
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,957評論 3 337
  • 正文 我和宋清朗相戀三年骤坐,在試婚紗的時候發(fā)現(xiàn)自己被綠了绪杏。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,102評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡纽绍,死狀恐怖蕾久,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拌夏,我是刑警寧澤僧著,帶...
    沈念sama閱讀 35,790評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站障簿,受9級特大地震影響盹愚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜站故,卻給世界環(huán)境...
    茶點故事閱讀 41,442評論 3 331
  • 文/蒙蒙 一皆怕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧西篓,春花似錦愈腾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至吮成,卻和暖如春橱乱,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赁豆。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評論 1 272
  • 我被黑心中介騙來泰國打工仅醇, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人魔种。 一個月前我還...
    沈念sama閱讀 48,332評論 3 373
  • 正文 我出身青樓析二,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子叶摄,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,044評論 2 355

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