ELKStack入門之kibana&logstash安裝和配置node
1、Kibana安裝和配置linux
1.1 kibana簡介 Kibana是一個基於Node.js的Elasticsearch索引庫數據統計工具,能夠利用Elasticsearch的聚合功能,生成各類圖表,如柱形圖,線狀圖,餅圖等。並且還提供了操做Elasticsearch索引數據的控制檯,而且提供了必定的API提示,很是有利於咱們學習Elasticsearch的語法。 英文官網:https://www.elastic.co/products/kibana 中文官網:https://www.elastic.co/cn/products/kibana 這是您走進 的窗口 Elastic Stack Kibana 讓您可以可視化 Elasticsearch 中的數據並操做 Elastic Stack,所以您能夠在這裏解開任何疑問:例如,爲什麼會在凌晨 2:00 被傳呼,雨水會對季度數據形成怎樣的影響。 1.2 kibana下載安裝文件 下載地址:https://www.elastic.co/cn/downloads
1.3 kibana 解壓、配置shell
1.3.1 上傳安裝文件,解壓數據庫
1.3.2 重命名json
[Shell] 純文本查看 複製代碼
?
1
[es@node01 ~]$ mv kibana-6.4.0-linux-x86_64 kibana
1.3.3 配置vim
進入到kibana安裝目錄下的config文件夾中,修改kibana.yml 文件ruby
1.3.4 啓動服務器
1.3.5 訪問運維
啓動成功工具
2、logstash 安裝和配置
2.1 logstash簡介 英文官網:https://www.elastic.co/products/logstash 中文官網:https://www.elastic.co/cn/products/logstash Logstash 是一個開源的數據收集引擎,它具備備實時數據傳輸能力。它能夠統一過濾來自不一樣源的數據,並按照開發者的制定的規範輸出到目的地。 顧名思義,Logstash 收集數據對象就是日誌文件。因爲日誌文件來源多(如:系統日誌、服務器日誌等),且內容雜亂,不便於人類進行觀察。所以,咱們可使用 Logstash 對日誌文件進行收集和統一過濾,變成可讀性高的內容,方便開發者或運維人員觀察,從而有效的分析系統/項目運行的性能,作好監控和預警的準備工做等。 2.2下載安裝文件(6.4.0版本) 2.3 上傳安裝文件到指定目錄 2.4 解壓文件,重命名文件夾,刪除安裝壓縮包
[Shell] 純文本查看 複製代碼
?
1
2
3
4
5
6
/size$ tar -zxvf logstash-6.4.0.tar.gz
[es@node01 ~]$ mv logstash-6.4.0 logstash
[es@node01 ~]$ rm -rf logstash-6.4.0.tar.gz
2.5 Logstash的組成結構
Logstash 經過管道進行運做,管道有兩個必需的元素,輸入(input)和輸出(output),還有一個可選的元素-過濾器(filter)。輸入插件從數據源獲取數據,過濾器插件根據用戶指定的數據格式修改數據,輸出插件則將數據寫入到目的地。以下圖:
2.6 lostarsh 入門
Logstash 提供了一個 shell 腳本叫 logstash 方便快速運行,-e意指執行Logstash 提供了一個 shell 腳本叫 logstash 方便快速運行,-e意指執行。
[Shell] 純文本查看 複製代碼
?
1
[es@node01 bin]$ ./logstash -e 'input{ stdin{} } output{ stdout{} }'
Hello logstash(輸入)通過 Logstash 管道(過濾)變成:
[Shell] 純文本查看 複製代碼
?
{
"@version" => "1", "message" => "Hello logstash", "@timestamp" => 2018-11-17T10:11:40.501Z, "host" => "node01"
}
【命令行中經常使用的命令(瞭解)
-e:後面跟着字符串,該字符串能夠被當作logstash的配置(若是是「」 則默認使用stdin做爲輸入,stdout做爲輸出) -f:經過這個命令能夠指定Logstash的配置文件,根據配置文件配置logstash -l:日誌輸出的地址(默認就是stdout直接在控制檯中輸出) -t:測試配置文件是否正確,而後退出。】
2.7 Logstash的插件介紹
在生產環境中,Logstash 的管道要複雜不少,可能須要配置多個輸入、過濾器和輸出插件。Logstash配置文件定義了Logstash 管道,當你使用-f <path/to/file>啓動一個Logstash實例,其實使用了一個配置文件定義了管道實例。 一個Logstash管道有兩個必備元素,輸入和輸出,一個可選元素,過濾器。input插件從一個源攝取數據,filter插件按照你指定的方式修改數據,output插件寫出數據到一個目標數據庫。所以,須要一個配置文件管理輸入、過濾器和輸出相關的配置。配置文件內容格式以下:
[Shell] 純文本查看 複製代碼
?
1
2
3
4
5
6
7
input {[/align]}
output {
}
在使用插件以前,咱們先了解一個概念:事件。Logstash 每讀取一次數據的行爲叫作事件。在 Logstach 目錄中建立一個配置文件,名爲 logstash.conf(名字任意)。
2.8 輸入插件
輸入插件容許一個特定的事件源能夠讀取到 Logstash 管道中,配置在 input {} 中,且能夠設置多個。
修改配置文件:vim demo1.conf
[Shell] 純文本查看 複製代碼
?
input { /size[/size]# 從文件讀取日誌信息
file {
path => "/root/accounts.json"
start_position => "beginning" }
}
output {
stdout { codec => rubydebug }
}
[Shell] 純文本查看 複製代碼
?
1
2
[root@node01 logstash]# bin/logstash -f config/demo1.conf
Codec 是 logstash 從 1.3.0 版開始新引入的概念(Codec 來自 Coder/decoder 兩個單詞的首字母縮寫)。 在此以前,logstash 只支持純文本形式輸入,而後以過濾器處理它。 但如今,咱們能夠在輸入 期處理不一樣類型的數據,這全是由於有了 codec 設置。因此,這裏須要糾正以前的一個概念。Logstash 不僅是一個 input | filter | output 的數據流,而是一個 input | decode |filter | encode | output 的數據流!codec 就是用來 decode、encode 事件的。codec 的引入,使得 logstash 能夠更好更方便的與其餘有自定義數據格式的運維產品共存,。事實上,咱們在第一個 "hello world" 用例中就已經用過 codec 了 —— rubydebug 就是一種 codec!雖然它通常只會用在stdout 插件中,做爲配置測試或者調試的工具。