日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

快速搭建ELK,以及简单故障处理

發(fā)布時間:2025/5/22 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 快速搭建ELK,以及简单故障处理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

ELK是三個開源軟件的縮寫,分別表示:Elasticsearch , Logstash, Kibana , 它們都是開源軟件。新增了一個FileBeat,它是一個輕量級的日志收集處理工具(Agent),Filebeat占用資源少,適合于在各個服務(wù)器上搜集日志后傳輸給Logstash,官方也推薦此工具。

Elasticsearch是個開源分布式搜索引擎,提供搜集、分析、存儲數(shù)據(jù)三大功能。它的特點有:分布式,零配置,自動發(fā)現(xiàn),索引自動分片,索引副本機制,restful風(fēng)格接口,多數(shù)據(jù)源,自動搜索負載等。

Logstash 主要是用來日志的搜集、分析、過濾日志的工具,支持大量的數(shù)據(jù)獲取方式。一般工作方式為c/s架構(gòu),client端安裝在需要收集日志的主機上,server端負責(zé)將收到的各節(jié)點日志進行過濾、修改等操作在一并發(fā)往elasticsearch上去。

Kibana 也是一個開源和免費的工具,Kibana可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助匯總、分析和搜索重要數(shù)據(jù)日志。

一. ElasticSearch 的安裝與運行

ES 是一個基于 Lucene 的使用 Java 開發(fā)的開源搜索引擎,因此其運行是基于 JVM 的,因此在安裝之前需要保證已經(jīng)安裝了 Java 環(huán)境。ES 要求使用 Java8 或者更高版本的 Java 環(huán)境。

確定機器已經(jīng)安裝了 Java 環(huán)境后,就可以安裝 ES 了。官網(wǎng)提供了壓縮包可以直接下載,

# 下載壓縮包 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz # 解壓 tar -xzf elasticsearch-6.2.2.tar.gz # 進入文件 cd elasticsearch-6.2.2/

  • 下載解壓完成后進入目錄,啟動命令在 bin 目錄下,直接運行命令就可以啟動了

注意: 啟動報錯

解決方法:es不能用root啟動,先建立一個es用戶,并給與啟動文件權(quán)限 useradd *** ? ? ? chown -R ?**:** ? ././(es的文件路徑)

切換到es用戶

bin/elasticsearch


ElasticSearch 的默認啟動端口是 9200。手動訪問出現(xiàn)如下信息說明啟動成功。

二. FileBeats 與 LogStash 的安裝

LogStash 可以用來對日志進行收集并進行過濾整理后輸出到 ES 中,FileBeats 是一個更加輕量級的日志收集工具。

現(xiàn)在最常用的方式是通過 FileBeats 收集目標日志,然后統(tǒng)一輸出到 LogStash 做進一步的過濾,在由 LogStash 輸出到 ES 中進行存儲。

1. LogStash 的安裝運行

官方提供了壓縮包下載, https://www.elastic.co/downloads/logstash 。 下載完成后解壓即可。

tar zxvf logstash-6.2.2.tar.gz # 進入目錄 cd logstash-6.2.2

LogStash 的運行需要指定一個配置文件,來指定數(shù)據(jù)的流向,我們在當前目錄下創(chuàng)建一個 first.conf 文件,其內(nèi)容如下:

# 配置輸入為 beats

input { ??

????beats {

? ? ? ? ?? port => "5044"

?? }

}

# 數(shù)據(jù)過濾

filter {

?? grok {

? ? ? ? ?? match => { "message" => "%{COMBINEDAPACHELOG}" }

?? }

?? geoip {

? ? ? ? ?? source => "clientip"

?? }

}

# 輸出到本機的 ES

output {

?? elasticsearch {

? ? ? ? ?? hosts => [ "localhost:9200" ?]

?? }

}


配置完成后就可以通過如下方式啟動 LogStash 了

bin/logstash -f first.conf --config.reload.automatic

#--config.reload.automatic選項啟用自動配置重新加載,因此每次修改配置文件時都不必停止并重新啟動Logstash

注意:

NameError: cannot link Java class org.apache.logging.log4j.core.config.LoggerConfig needs Java 8 (java.lang.UnsupportedClassVersionError: org/logstash/log/LogstashLogEventFactory : Unsupported major.minor version 52.0)

顯示version版本問題,應(yīng)該是JDK版本沒有更新 ? ?java -version查看版本是否為1.8.

如果為1.7則需要:1.去網(wǎng)站下載jdk18*版本

?2.tar -zxvf jdk-8u181-linux-x64.tar

?3.sudo mv jdk1.8.0_181 ?/usr/local/java

4.vim /etc/profile

export JAVA_HOME=/usr/local/java(此處根據(jù)自己jdk安裝的目錄來寫) export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=.:${JAVA_HOME}/bin:$PATH

?5.生效配置文件sourc /etc/profile

?6.java -version

重新啟動logstash

可以看到命令行會打印出如下信息, 可以看到 LogStash 默認端口為 5044:

2. 安裝運行 FileBeats

FileBeats 也提供了下載包,地址為 https://www.elastic.co/downloads/beats/filebeat 。找到系統(tǒng)對應(yīng)的包下載后解壓即可。

tar zxvf filebeat-6.2.2-darwin-x86_64.tar.gz cd filebeat-6.2.2-darwin-x86_64

進入目錄編輯 filebeat.yml 找到對應(yīng)的配置項,配置如下

- type: log ? # Change to true to enable this prospector configuration. ? ?enabled: True ? ?# Paths that should be crawled and fetched. Glob based paths. ? ?# 讀取 Nginx 的日志 ? ?paths: ? ? ?- /usr/local/nginx/logs/*.log(想監(jiān)控的日志目錄都可以添加進去)

?- /var/log/message/*.log #----------------------------- Logstash output -------------------------------- # 輸出到本機的 LogStash output.logstash: ?# The Logstash hosts ?hosts: ["localhost:5044"]

配置完成后執(zhí)行如下命令,啟動 FileBeat 即可

# FileBeat 需要以 root 身份啟動,因此先更改配置文件的權(quán)限 sudo chown root filebeat.yml sudo ./filebeat -e -c filebeat.yml -d "publish"(通過./filebeat -c -e測試配置的FileBeat腳本.-d“publish”顯示所有“publish”相關(guān)的消息。)

啟動成功。

三. Kibana 的安裝運行

Kibana 也提供了對應(yīng)的安裝包下載,鏈接為 https://www.elastic.co/downloads/kibana , Mac、Linux、Win 都有對應(yīng)的安裝包,直接下載解壓即可

tar zxvf kibana-6.2.2-darwin-x86_64.tar.gz cd kibana-6.2.2-darwin-x86_64 # 直接啟動即可 bin/kibana

Kibana 默認鏈接了本機的 9200 端口,其綁定的端口為 5601,啟動成功后直接訪問 127.0.0.1:5601 端口即可,界面如下。

注意:有時本地啟動kibana之后打開界面127.0.0.1:5601會出現(xiàn)這樣的情況。

有可能是因為本地的瀏覽器不兼容問題之類的。可以試著打開遠程連接。用別的設(shè)備遠程訪問.

1.打開Kibana配置文件: vim /usr/local/kibana-6.3.2-linux-x86_64/config/kibana.yml

2.修改訪問參數(shù):server.host修改為本機網(wǎng)卡的地址。

3.重啟kibana服務(wù)。

4.訪問成功。

開始建立索引模式。

注意:有的時候會出現(xiàn)索引模式不能建立的情況。(不能點下一步)

一般為數(shù)據(jù)回傳異常。先檢查filebeat、logstash、elasticsearch、kibana服務(wù)啟動是不是都正常。

檢查filebeat的配置文件。/usr/local/filebeat/config/filebeat.yml.檢查配置。

我上次就是因為配置文件里的output.logstash模塊的端口寫錯。

修改完之后重啟服務(wù)就可以了。

這里選定一個時間戳,使用默認的 timestamp 即可,設(shè)置完成后我們可以根據(jù)時間范圍篩選數(shù)據(jù)。

設(shè)置完成后創(chuàng)建后顯示如下

這時在點擊 Discover 就可以看到我們創(chuàng)建的索引了,此時輸入 UnicodeEncodeError 已經(jīng)返回了匹配到的日志信息。

注意:如果你覺得英語看起來很不舒服,可以考慮漢化。不過提前說明一下,漢化過程是不可逆的。

# 下載并解壓 wget https://artifacts.elastic.co/downloads/kibana/kibana-6.3.0-linux-x86_64.tar.gz tar -zxf kibana-6.3.0-linux-x86_64.tar.gz


漢化

github漢化項目:

https://github.com/anbai-inc/Kibana_Hanization

# 下載并解壓 wget https://github.com/anbai-inc/Kibana_Hanization/archive/master.zip unzip master.zip cd master # 漢化 python main.py Kibana目錄 # 啟動elasticsearch cd elasticsearch-6.3.0/bin elasticsearch -d # 啟動kibana cd kibana-6.3.0-linux-x86_64/bin kibana

瀏覽器訪問 localhost:5601

注意:最后再說一句ELK平臺的啟動可以按照filebeat--> elasticsearch ---> ?logstash---> ?kibana這個順序啟動,不會那么容易出問題。



轉(zhuǎn)載于:https://blog.51cto.com/12283048/2159115

總結(jié)

以上是生活随笔為你收集整理的快速搭建ELK,以及简单故障处理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。