建設工程合同備案是在網站上嗎國外搜索引擎網站
目錄
一、ELK 簡介?
1.1??組件說明
1.2?為什么要使用ELK
1.3 完整日志系統(tǒng)的基本特征
1.4 ELK工作原理
二、Elasticsearch的介紹
2.1 Elasticsearch的核心:
三、Logstash
3.1 Logstash簡介
四、Kibana
五、部署ELK日志分析系統(tǒng)
5.1 服務器配置
5.2??ELK Elasticsearch 集群部署(在Node1、Node2節(jié)點上操作)
5.3?安裝 Elasticsearch-head 插件(node1為例)
六、ELK Logstash 部署(在 Apache 節(jié)點上操作)?
6.1?測試 Logstash?
七、ELK-Kibana 部署(在 node1 節(jié)點上操作)
一、ELK 簡介?
- ELK平臺是一套完整的日志集中處理解決方案,將 ElasticSearch、Logstash 和 Kiabana 三個開源工具配合使用, 完成更強大的用戶對日志的查詢、排序、統(tǒng)計需求。
1.1??組件說明
ElasticSearch
- 是基于Lucene (一個全文檢索引擎的架構) 開發(fā)的分布式存儲檢索引擎,用來存儲各類日志。
- Elasticsearch 是用 Java 開發(fā)的,可通過 RESTful Web 接口,讓用戶可以通過瀏覽器與Elasticsearch 通信。
- Elasticsearch是一個實時的、分布式的可擴展的搜索引擎,允許進行全文、結構化搜索,它通常用于索引和搜索大容量的日志數據,也可用于搜索許多不同類型的文檔。
Kiabana
- Kibana 通常與 Elasticsearch 一起部署,Kibana 是 Elasticsearch的一個功能強大的數據可視化 Dashboard,Kibana 提供圖形化的 web 界面來瀏覽 Elasticsearch日志數據,可以用來匯總、分析和搜索重要數據。
Logstash
- 作為數據收集引擎。它支持動態(tài)的從各種數據源搜集數據,并對數據進行過濾、分析、豐富、統(tǒng)一格式等操作,然后存儲到用戶指定的位置,一般會發(fā)送給 Elasticsearch。Logstash 由 Ruby 語言編寫,運行在 Java 虛擬機 (JVM) 上,是一款強大的數據處理工具,可以實現數據傳輸、格式處理、格式化輸出。Logstash 具有強大的插件功能,常用于日志處理。
可以添加的其它組件
- Eilebeat: 輕量級的開源日志文件數據搜集器。通常在需要采集數據的客戶端安裝并指定目錄與日志格式,Eilebeat 就能快速收集數據,并發(fā)送給 logstashFilebeat,進行解析,或是直接發(fā)給 Elasticsearch 存儲,性能上相比運行于 JVM 上的 logstash優(yōu)勢明顯,是對它的替代。常應用于 EELK 架構當中。
filebeat 結合 loqstash 帶來好處:
- 通過 Logstash 具有基于磁盤的自適應緩沖系統(tǒng),該系統(tǒng)將吸收傳入的吞吐量,從而減輕Elasticsearch 持續(xù)寫入數據的壓力
- 從其他數據源(例如數據庫,s3對象存儲或消息傳遞隊列) 中提取
- 將數據發(fā)送到多個目的地,例如S3,HDES (Hadoop分布式文件系統(tǒng)) 或寫入文件
- 使用條件數據流邏輯組成更復雜的處理管道
- 緩存/消息隊列 (redis、kafka、Rabbitmo等)可以對高并發(fā)日志數據進行流量削峰和緩沖,這樣的緩沖可以一定程度的保護數據不丟失,還可以對整個架構進行應用解耦。
- Fluentd是一個流行的開源數據收集器。由于 logstash 太重量級的缺點,Logstash性能低、資源消耗比較多等問題,隨后就有 Fluentd 的出現。相比較 logstash,Eluentd更易用、資源消耗更少、性能更高,在數據處理上更高效可靠,受到企業(yè)歡迎,成為 logstash的一種替代方案,常應用于 EEK 架構當中。在 Kubernetes 集群中也常使用 EEK作為日志數據收集的方案。
- 在 Kubernetes 集群中一般是通過 DaemonSet 來運行 Eluentd,以便它在每個 Kubernetes工作節(jié)點上都可以運行一個 Pod。它通過獲取容器日志文件、過濾和轉換日志數據,然后將數據傳遞到 Elasticsearch集群,在該集群中對其進行索引和存儲。
- 它通過獲取容器日志文件、過濾和轉換日志數據,然后將數據傳遞到 Elasticsearch集群,在該集群中對其進行索引和存儲。
1.2?為什么要使用ELK
- 日志主要包括系統(tǒng)日志、應用程序日志和安全日志。系統(tǒng)運維和開發(fā)人員可以通過日志了解服務器軟硬件信息、檢查配置過程中的錯誤及錯誤發(fā)生的原因。經常分析日志可以了解服務器的負荷,性能安全性,從而及時采取措施糾正錯誤。
- 往往單臺機器的日志我們使用grep、awk等工具就能基本實現簡單分析,但是當日志被分散的儲存不同的設備上。如果你管理數十上百臺服務器,你還在使用依次登錄每臺機器的傳統(tǒng)方法查閱日志。這樣是不是感覺很繁瑣和效率低下。當務之急我們使用集中化的日志管理,例如: 開源的syslog,將所有服務器上的日志收集匯總。集中化管理日志后,日志的統(tǒng)計和檢索又成為一件比較麻煩的事情,一般我們使用grep、awk和wc等Linux命令能實現檢索和統(tǒng)計,但是對于要求更高的查詢、排序和統(tǒng)計等要求和龐大的機器數量依然使用這樣的方法難免有點力不從心。
- 一般大型系統(tǒng)是一個分布式部署的架構,不同的服務模塊部署在不同的服務器上,問題出現時,大部分情況需要根據問題暴露的關鍵信息,定位到具體的服務器和服務模塊,構建一套集中式日志系統(tǒng),可以提高定位問題的效率。?
1.3 完整日志系統(tǒng)的基本特征
- 收集:能夠采集多種來源的日志數據
- 傳輸:能夠穩(wěn)定的把日志數據解析過濾并傳輸到存儲系統(tǒng)
- 存儲:存儲日志數據
- 分析:支持 UI 分析
- 警告:能夠提供錯誤報告,監(jiān)控機制
1.4 ELK工作原理
- 在所有需要收集日志的服務器上部署Logstash; 或者先將日志進行集中化管理在日志服務器上,在日志服務器上部署 Logstash。
- Logstash 收集日志,將日志格式化并輸出到 Elasticsearch 群集中
- Elasticsearch 對格式化后的數據進行索引和存儲。
- Kibana 從 ES 群集中查詢數據生成圖表,并進行前端數據的展示。?
二、Elasticsearch的介紹
- 提供了一個分布式多用戶能力的全文搜索引擎
2.1 Elasticsearch的核心:
- 接近實時(NRT)
Elasticsearch是一個接近實時的搜索平臺,這意味著,從索引一個文檔直到這個文檔能夠被搜索到有一個輕微的延遲(通常是1秒)
- 集群(cluster)
一個集群就是由一個或者多個節(jié)點組織在一起,它們共同持有你整個的數據,并一起提供索引和搜索功能。其中一個為主節(jié)點,這個主節(jié)點是可以通過選舉產生的,并提供跨節(jié)點的聯(lián)合索引和搜索功能。
集群有一個唯一性標示的名字,默認是Elasticsearch,集群的名字很重要,每個節(jié)點是基于集群名字加入到集群中的。因此,確保在不同的環(huán)境中使用不同的集群名字。
一個集群可以只有一個節(jié)點,建議在配置Elasticsearch時,配置成集群模式。
Elasticsearch具有集群機制,節(jié)點通過集群名稱加入到集群中,同時在集群中的節(jié)點會有一個自己唯一的身份標識(自己的名稱)
- 節(jié)點(node)
節(jié)點就是一臺單一的服務器,是集群的一部分,存儲數據并參與集群的索引和搜索功能。像集群一樣,節(jié)點也是通過名字來標識,默認是在節(jié)點啟動時隨機分配的字符名。也可自己定義,名字很重要,在集群中用于識別服務器對應的節(jié)點
?節(jié)點可以通過指定集群名字來加入到集群中。默認情況下,每個節(jié)點被設置成加入到Elasticsearch集群。如果啟動了多個節(jié)點,假設能自動發(fā)現對方,他們將會自動組建一個名為Elasticsearch的集群。
- 索引(index)
一個索引就是一個擁有幾分相似特征的文檔的集合。
?一個索引由一個名字來標識(必須全部是小寫字母),并且當我們要對對應于這個索引中的文檔進行索引、搜索、更新和刪除的時候。都要使用到這個名字。在一個集群中,可以定義任意多的索引。
- 類型(type)
在一個索引中,你可以定義一種或多種類型。一個類型是你的索引的一個邏輯上的分類/分區(qū),其語義完全由你來定。
通常會為具有一組共同字段的文檔定義一個類型。
- 文檔(document)
一個文檔是一個可被索引的基礎信息單元
?在一個index/type里面,只要你想,你可以存儲任意多的文檔。注意,雖然一個文檔在物理上位于一個索引中,實際上一個文檔必須在一個索引內被索引和分配一個類型
- 分片和副本(shards & replicas)也是es作為搜索引擎比較快的原因
實際情況下,索引存儲的數據可能超過單個節(jié)點的硬件限制。為了解決這個問題,Elasticsearch提供將索引分成多個分片的功能。當在創(chuàng)建索引時,可以定義想要的分片數量。每一個分片就是一個全功能的獨立的索引,可以位于集群中任何節(jié)點上。
分片的主要原因
- 水平分割擴展,增大存儲量
- 分布式并跨越分片操作,提高性能和吞吐量
- 分布式分片機制和搜索請求的文檔如何火鬃完全是由Elasticsearch控制的,這些對用戶是完全透明的。為了健壯性,建議有一個故障切換機制,為此,Elasticsearch讓我們將索引分片復制一份或多份,稱之為分片副本
分片副本的原因
- 高可用性,以應對分片或者節(jié)點故障。處于這個原因,分片副本要在不同的節(jié)點上
- 增大吞吐量,搜索可以并行在所有副本上執(zhí)行
- 總之,每個索引可以被分成多個分片。一個索引可以被復制0次或者多次。一旦復制了,每個索引就有了主分片 (作為復制源的原來的分片)和復制分片(主分片的拷貝)之別。分片和副本的數量可以在索引創(chuàng)建的時候指定。在索引創(chuàng)建之后,你可以在指定任何時候動態(tài)的改變副本的數量,但是你事后不能改變分片的數量。
- 默認情況下,Elasticsearch中的每個索引被分片5個主分片和1個副本,這意味著,如果你的集群中至少有兩個節(jié)點,你的索引將會有5個主分片和另外的5個副本分片(一個完全拷貝),這樣的話每個索引總共有10個分片。
- 相關概念在關系型數據庫和ElasticSearch中的對應關系
關系型數據庫 | Elasticserch |
數據庫database | 索引index,支持全文索引 |
表table | 類型type |
數據行row | 文檔document。但不需要固定結構,不同文檔可以具有不同字段集合 |
數據列cloumn | 字段field |
模式schema | 映像mapping |
三、Logstash
3.1 Logstash簡介
- Logstash由JRuby語言編寫,基于消息(message-based)的簡單架構,并運行在java虛擬機(JVM)上。不同于分離的代理端(agent)或主機端(server),Logstash可配置單一的代理端與其他開源軟件結合,以實現不同的功能。
- 是一款強大的數據處理工具、
- 可實現數據傳輸,格式處理,格式化輸出
- 數據輸入、數據加工(如過濾,改寫等)以及數據輸出
常用插件
- input:收集源數據(訪問日志、錯誤日志等)
- Filter Plugin:用于過濾日志和格式處理
- Output:輸出日志
主要組件
- Shipper(日志收集):負責監(jiān)控本地日志文件的變化,及時把日志文件的最新內容收集起來。通常,遠程代理端(agent)只需要運行這個組件即可
- Indexer(日志存儲):負責接收日志并寫入到本地文件
- Broker(日志Hub):負責連接多個Shipper和多個Indexer
- Search and Storage:允許對事件進行搜索和存儲
- Web Interface:基于Web的展示界面
四、Kibana
- Kibana 是用于在 Elasticsearch 中可視化數據的強大工具,可通過基于瀏覽器的界面輕松搜索,可視化和探索大量數據。
- 一個針對Elasticsearch的開源分析及可視化平臺
- 搜索、查看存儲在Elasticsearch索引中的數據
- 通過各種圖表進行高級數據分析及展示
Kibana主要功能
- Elasticsearch無縫之集成
Kibana架構為Elasticsearch定制,可以將任何結構化和非結構化數據加入Elasticsearch索引。Kibana還充分利用了Elasticsearch強大的搜索和分析功能。
- 整合數據
Kibana能夠更好地處理海量數據,并據此創(chuàng)建柱形圖、折線圖、散點圖、直方圖、餅圖和地圖。
復雜數據分析。
Kibana提升了Elasticsearch分析能力,能夠更加智能地分析數據,執(zhí)行數學轉換并且根據要求對數據切割分塊。
- 讓更多團隊成員收益
強大的數據庫可視化接口讓各業(yè)務崗位都能夠從數據集合受益。
- 接口靈活,分享更容易
使用Kibana可以更加方便地創(chuàng)建、保存、分享數據,并將可視化數據快速交流。
- 配置簡單
Kibana的配置和啟用非常簡單,用戶體驗非常友好。Kibana自帶Web服務器,可以快速啟動運行。
- 可視化多數據源
Kibana可以非常方便地把來自Logstash、ES-Hadoop、Beats或第三方技術的數據整合到Elasticsearch,支持的第三方技術包括Apache flume、 Fluentd 等。
- 簡單數據導出
Kibana可以方便地導出感興趣的數據,與其它數據集合并融合后快速建模分析,發(fā)現新結果。
五、部署ELK日志分析系統(tǒng)
5.1 服務器配置
服務器 | 配置 | 主機名 | ip地址 | 主要軟件 |
node1 節(jié)點 | 2C/4G | node1 | 192.168.19.3 | ElasticSearch、Kibana |
node2 節(jié)點 | 2C/4G | node2 | 192.168.19.4 | ElasticSearch |
apache 節(jié)點 | / | apache | 192.168.19.5 | Logstash、Apache |
5.2??ELK Elasticsearch 集群部署(在Node1、Node2節(jié)點上操作)
環(huán)境準備
#更改主機名、配置域名解析、查看Java環(huán)境
Node1節(jié)點:hostnamectl set-hostname node1
Node2節(jié)點:hostnamectl set-hostname node2vim /etc/hosts
192.168.19.3 node1
192.168.19.4 node2 注:版本問題
java -version #如果沒有安裝,yum -y install java
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)建議使用jdk
?
?
?
部署 Elasticsearch 軟件
(1)安裝elasticsearch—rpm包
#上傳elasticsearch-5.5.0.rpm到/opt目錄下
cd /opt
rpm -ivh elasticsearch-5.5.0.rpm
?
(2)加載系統(tǒng)服務
systemctl daemon-reload
systemctl enable elasticsearch.service
(3)修改elasticsearch主配置文件
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak
vim /etc/elasticsearch/elasticsearch.yml
--17--取消注釋,指定集群名字
cluster.name: my-elk-cluster
--23--取消注釋,指定節(jié)點名字:Node1節(jié)點為node1,Node2節(jié)點為node2
node.name: node1
--33--取消注釋,指定數據存放路徑
path.data: /data/elk_data
--37--取消注釋,指定日志存放路徑
path.logs: /var/log/elasticsearch/
--43--取消注釋,改為在啟動的時候不鎖定內存
bootstrap.memory_lock: false
--55--取消注釋,設置監(jiān)聽地址,0.0.0.0代表所有地址
network.host: 0.0.0.0
--59--取消注釋,ES 服務的默認監(jiān)聽端口為9200
http.port: 9200
--68--取消注釋,集群發(fā)現通過單播實現,指定要發(fā)現的節(jié)點 node1、node2
discovery.zen.ping.unicast.hosts: ["node1", "node2"]grep -v "^#" /etc/elasticsearch/elasticsearch.yml
?
(4)創(chuàng)建數據存放路徑并授權
mkdir -p /data/elk_data
chown elasticsearch:elasticsearch /data/elk_data/
?
(5)啟動elasticsearch是否成功開啟
systemctl start elasticsearch.service
netstat -antp | grep 9200
?
(6)查看節(jié)點信息
瀏覽器訪問 http://192.168.19.3:9200 、 http://192.168.19.4:9200 查看節(jié)點 Node1、Node2 的信息。瀏覽器訪問 http://192.168.19.3:9200/_cluster/health?pretty 、 http://192.168.19.4:9200/_cluster/health?pretty查看群集的健康情況,可以看到 status 值為 green(綠色), 表示節(jié)點健康運行。瀏覽器訪問 http://192.168.19.3:9200/_cluster/state?pretty 檢查群集狀態(tài)信息。#使用上述方式查看群集的狀態(tài)對用戶并不友好,可以通過安裝 Elasticsearch-head 插件,可以更方便地管理群集。
?
?
5.3?安裝 Elasticsearch-head 插件(node1為例)
- ES 在 5.0 版本后,插件需要作為獨立服務進行安裝,需要使用 npm 工具(NodeJS 的包管理工具)安裝。安裝 Elasticsarch-head 需要提前安裝好依賴軟件 node 和 phantomjs。
- node是一個基于 Chrome V8 引擎的 JavaScript 運行環(huán)境。
- phantomjs是一個基于 webkit 的 JavaScriptAPI,可以理解為一個隱形的瀏覽器,任何基于 webkit 瀏覽器做的事情,它都可以做到。
編譯安裝 node
#上傳軟件包 node-v8.2.1.tar.gz 到/opt
yum install gcc gcc-c++ make -y
?
cd /opt
tar zxvf node-v8.2.1.tar.gzcd node-v8.2.1/
./configure
make && make install
?
安裝 phantomjs(前端的框架)
#上傳軟件包 phantomjs-2.1.1-linux-x86_64.tar.bz2 到
cd /opt
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src/
cd /usr/local/src/phantomjs-2.1.1-linux-x86_64/bin
cp phantomjs /usr/local/bin
安裝 Elasticsearch-head 數據可視化工具
#上傳軟件包 elasticsearch-head.tar.gz 到/opt
cd /opt
tar zxvf elasticsearch-head.tar.gz -C /usr/local/src/
cd /usr/local/src/elasticsearch-head/
npm install
?
修改 Elasticsearch 主配置文件
vim /etc/elasticsearch/elasticsearch.yml
......
--末尾添加以下內容--
http.cors.enabled: true #開啟跨域訪問支持,默認為 false
http.cors.allow-origin: "*" #指定跨域訪問允許的域名地址為所有systemctl restart elasticsearch
啟動 elasticsearch-head 服務
#必須在解壓后的 elasticsearch-head 目錄下啟動服務,進程會讀取該目錄下的 gruntfile.js 文件,否則可能啟動失敗。
cd /usr/local/src/elasticsearch-head/
npm run start &> elasticsearch-head@0.0.0 start /usr/local/src/elasticsearch-head
> grunt serverRunning "connect:server" (connect) task
Waiting forever...
Started connect web server on http://localhost:9100#elasticsearch-head 監(jiān)聽的端口是 9100
netstat -natp |grep 9100
?
(6)通過 Elasticsearch-head 查看 Elasticsearch 信息
通過瀏覽器訪問 http://192.168.19.3:9100/ 地址并連接群集。如果看到群集健康值為 green 綠色,代表群集很健康。
注意:有的時候顯示未連接,這時將 localhost 改成 IP 地址即可
(7)插入索引
#通過命令插入一個測試索引,索引為 index-demo,類型為 test。//輸出結果如下:curl -X PUT 'localhost:9200/index-demo/test/1?pretty&pretty' -H 'content-Type: application/json' -d '{"user":"zhangsan","mesg":"hello world"}'
{
"_index" : "index-demo",
"_type" : "test",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"created" : true
}瀏覽器訪問 http://192.168.19.3:9100/ 查看索引信息,可以看見索引默認被分片5個,并且有一個副本。
點擊“數據瀏覽”,會發(fā)現在node1上創(chuàng)建的索引為 index-demo,類型為 test 的相關信息。
?
六、ELK Logstash 部署(在 Apache 節(jié)點上操作)?
- Logstash 一般部署在需要監(jiān)控其日志的服務器。在本案例中,Logstash 部署在 Apache 服務器上,用于收集 Apache 服務器的日志信息并發(fā)送到 Elasticsearch。
1.更改主機名
hostnamectl set-hostname apache2.安裝Apahce服務(httpd)
yum -y install httpd
systemctl start httpd3.安裝Java環(huán)境
yum -y install java
java -version4.安裝logstash
#上傳軟件包 logstash-5.5.1.rpm 到/opt目錄下
cd /opt
rpm -ivh logstash-5.5.1.rpm
systemctl start logstash.service
systemctl enable logstash.serviceln -s /usr/share/logstash/bin/logstash /usr/local/bin/
?
6.1?測試 Logstash?
Logstash 命令常用選項 | 說明 |
-f | 通過這個選項可以指定 Logstash 的配置文件,根據配置文件配置 Logstash 的輸入和輸出流 |
-e | 從命令行中獲取,輸入、輸出后面跟著字符串,該字符串可以被當做 Logstash 的配置(如果是空,則默認使用 stdin 作為輸入,stdout 作為輸出) |
-t | 測試配置文件是否正確,然后退出 |
定義輸入和輸出流:
#輸入采用標準輸入,輸出采用標準輸出(類似管道)
logstash -e 'input { stdin{} } output { stdout{} }'
#使用 rubydebug 輸出詳細格式顯示,codec 為一種編解碼器
logstash -e 'input { stdin{} } output { stdout{ codec=>rubydebug } }'
?
#使用 Logstash 將信息寫入 Elasticsearch 中
logstash -e 'input { stdin{} } output { elasticsearch { hosts=>["192.168.19.3:9200"] } }'
?
定義 logstash配置文件
Logstash 配置文件基本由三部分組成:input、output 以及 filter(可選,根據需要選擇使用)。
input:表示從數據源采集數據,常見的數據源如Kafka、日志文件等
filter:表示數據處理層,包括對數據進行格式化處理、數據類型轉換、數據過濾等,支持正則表達式
output:表示將Logstash收集的數據經由過濾器處理之后輸出到Elasticsearch。#格式如下:
input {...}
filter {...}
output {...}#在每個部分中,也可以指定多個訪問方式。例如,若要指定兩個日志來源文件,則格式如下:
input {file { path =>"/var/log/messages" type =>"syslog"}file { path =>"/var/log/httpd/access.log" type =>"apache"}
}#修改 Logstash 配置文件,讓其收集系統(tǒng)日志/var/log/messages,并將其輸出到 elasticsearch 中。
chmod +r /var/log/messages #讓 Logstash 可以讀取日志vim /etc/logstash/conf.d/system.conf
input {file{path =>"/var/log/messages" #指定要收集的日志的位置type =>"system" #自定義日志類型標識start_position =>"beginning" #表示從開始處收集}
}
output {elasticsearch { #輸出到 elasticsearchhosts => ["192.168.19.3:9200"] #指定 elasticsearch 服務器的地址和端口index =>"system-%{+YYYY.MM.dd}" #指定輸出到 elasticsearch 的索引格式}
}systemctl restart logstash 瀏覽器訪問 http://192.168.19.3:9100/ 查看索引信息
?
?
七、ELK-Kibana 部署(在 node1 節(jié)點上操作)
安裝 Kibanacd /optrz -E #上傳軟件包 kibana-5.5.1-x86_64.rpmrpm -ivh kibana-5.5.1-x86_64.rpm
?
設置 Kibana 的主配置文件cp /etc/kibana/kibana.yml /etc/kibana/kibana.yml.bak
#備份配置文件vim /etc/kibana/kibana.yml
##2行,取消注釋,kibana服務的默認監(jiān)聽端口為5601
server.port: 5601
##7行,取消注釋,設置kibana的監(jiān)聽地址,0.0.0.0代表所有地址
server.host: "0.0.0.0"
##21行,取消注釋,設置和ES建立連接的地址和端口
elasticsearch.url: "http://192.168.223.9:9200"
##30行,取消注釋,設置在ES中添加.kibana索引
kibana.index: ".kibana"
?
?
啟動 Kibana 服務
systemctl start kibana.service && systemctl enable kibana.service
netstat -natp | grep 5601
?
驗證 Kibana
瀏覽器訪問 http://192.168.19.3:5601第一次登錄需要添加一個 ES 索引點擊 create 創(chuàng)建索引添加完成后,點擊 Discover 按鈕可查看圖表信息及日志信息數據展示可以分類顯示,例如:在 Available Fileds 中的 host
?
將 Apache 服務器的日志(訪問的、錯誤的)添加到 ES 并通過 Kibana 顯示
apache 服務器[root@apache opt]# vim /etc/logstash/conf.d/apache_log.confnput {beats {port => "5044"}
}
output {elasticsearch {hosts => ["192.168.19.3:9200"]index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"}stdout {codec => rubydebug}
}[root@apache opt]# cd /etc/logstash/conf.d
[root@apache conf.d]# /usr/share/logstash/bin/logstash -f apache_log.conf
······
?
?
?
?
?
?
?
?