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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

ELK

發布時間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ELK 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ELK簡介:

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

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

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

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

一、安裝Logstash

1)在安裝Logstash之前,確保已經安裝了Java的運行環境

2)在官網(https://www.elastic.co/)下載:

Logstash-2.3.4(https://download.elastic.co/logstash/logstash/logstash-2.3.4.tar.gz)

3)下載完成之后,解壓(無須編譯),并復制到local目錄下,這個是我正式部署的目錄:/usr/local/logstash-2.3.4

tar xf logstash-2.3.4.tar.gz -C /usr/local/

4)測試運行

[root@localhost?download]#?/usr/local/logstash-2.3.4/bin/logstash?-e?'input?{?stdin?{?}?}?output?{?stdout?{}?}'??

Settings:?Default?pipeline?workers:?1??

Pipeline?main?started??

c++??

2016-08-18T09:39:26.267Z?localhost.localdomain?c++??

? ? ? ? 我們可以看到,我們輸入什么內容logstash按照某種格式輸出,其中-e參數參數允許Logstash直接通過命令行接受設置。這點尤其快速的幫助我們反復的測試配置是否正確而不用寫配置文件。使用CTRL-C命令可以退出之前運行的Logstash。

? ? ? ? 使用-e參數在命令行中指定配置是很常用的方式,不過如果需要配置更多設置則需要很長的內容。這種情況,我們首先創建一個簡單的配置文件,并且指定logstash使用這個配置文件。 例如:在 logstash 安裝目錄下創建一個“基本配置”測試文件 logstash-test.conf, 文件內容如下:

#?mkdir -p /usr/local/logstash-2.3.4/conf

#vim?/usr/local/logstash-2.3.4/conf/logstash-simple.conf??

input?{?stdin?{?}?}??

output?{??

??stdout?{?codec=>?rubydebug?}??

}??

? ? ? ? Logstash 使用 input 和 output 定義收集日志時的輸入和輸出的相關配置,本例中 input 定義了一個叫 "stdin" 的 input , output 定義一個叫 "stdout" 的 output 。無論我們輸入什么字符, Logstash 都會按照某種格式來返回我們輸入的字符,其中 output 被定義為 "stdout" 并使用了 codec 參數來指定 logstash 輸出格式。

#/usr/local/logstash-2.3.4/bin/logstash?-f?/usr/local/logstash-2.3.4/conf/logstash-simple.conf??

{??

???????"message"?=>?"C++",??

????? "@version"?=>?"1",??

??"@timestamp"?=>?"2016-08-18T10:05:47.352Z",??

???????"host"?=>?"localhost.localdomain"??

}??

5)長期運行Logstash

#nohup?/usr/local/logstash-2.3.4/bin/logstash?-f?/usr/local/logstash-2.3.4/conf/logstash-simple.conf?&?>?/dev/null?2>&1??

?

二、安裝Elasticsearch

1)下載,并解壓(無須編譯),Elasticsearch2.3.5(https://download.elastic.co/elasticsearch/release/org/elasticsearch/distribution/tar/elasticsearch/2.3.5/elasticsearch-2.3.5.tar.gz

tar xf elasticsearch-2.3.5.tar.gz -C /usr/local/

? ? ? 復制到local目錄下,正式物理目錄:/usr/local/elasticsearch-2.3.5

2)啟動Elasticsearch

注意,我使用root權限來運行,但是Java拋出了Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root,

因此必須使用普通帳號運行。

#/usr/local/elasticsearch-2.3.5/bin/elasticsearch??

如果需要后臺執行,執行以下命令:

#nohup?/usr/local/elasticsearch-2.3.5/bin/elasticsearch?&?>?/dev/null?2>&1??

檢查是否成功運行:

[lizhibin@localhost?local]$?netstat?-nat?|?grep?9200??

tcp6???????0??????0?127.0.0.1:9200??????????:::*????????????????????LISTEN??

?

3)配置logstash,并將結果輸出到elasticsearch

修改logstash 的配置文件:

#vim /usr/local/logstash-2.3.4/conf/logstash-simple.conf

input?{?stdin?{?}?}??

output?{??

elasticsearch?{hosts?=>?"localhost"?}??

stdout?{?codec=>?rubydebug?}??

}??

?執行logstash:/usr/local/logstash-2.3.4/bin/logstash -f /usr/local/logstash-2.3.4/conf/logstash-simple.conf

并測試輸入日志記錄

使用curl命令發送請求elasticsearch是否接受到了數據:

[root@localhost?conf]#?curl?'http://localhost:9200/_search?pretty'??

{??

??"took"?:?47,??

??"timed_out"?:?false,??

?"_shards"?:?{??

????"total"?:?5,??

????"successful"?:?5,??

????"failed"?:?0??

??},??

??"hits"?:?{??

????"total"?:?4,??

????"max_score"?:?1.0,??

????"hits"?:?[?{??

??????"_index"?:?"logstash-2016.08.19",??

??????"_type"?:?"logs",??

??????"_id"?:?"AVah8wW7qomkeCHVJDgC",??

??????"_score"?:?1.0,??

??????"_source"?:?{??

????????"message"?:?"C++",??

???????"@version"?:?"1",??

????????"@timestamp"?:?"2016-08-19T08:37:46.727Z",??

????????"host"?:?"localhost.localdomain"??

??????}??

????},?{??

??????"_index"?:?"logstash-2016.08.19",??

?

三、安裝Kibana

1)下載,解壓(無須編譯)

? ? ? 下載(Kibana-4.5.4):https://download.elastic.co/kibana/kibana/kibana-4.5.4-linux-x64.tar.gz

? ? ? 正式物理目錄:/usr/local/kibana-4.5.4-linux-x64

tar xf kibana-4.5.4-linux-x64.tar.gz -C /usr/local/

2)啟動kibana

#nohup?/usr/local/kibana-4.5.4-linux-x64/bin/kibana?&?>?/dev/null?2>&1??-=['

?

3)使用Kibana

使用 http://kibanaServerIP : 5601 訪問 Kibana ,登錄后,首先,配置一個索引,默認, Kibana 的數據被指向 Elasticsearch ,使用默認的 logstash-* 的索引名稱,并且是基于時間的,點擊“ Create ”即可。

點擊“ Discover ”,可以搜索和瀏覽 Elasticsearch 中的數據,默認搜索的是最近 15分鐘的數據。可以自定義選擇時間。

?

?

在CentOS 6.5 上運行Elasticsearch 2.3,異常如下:

Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root. at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:93) at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:144) at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:270) at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:35)Refer to the log for complete error details.

?

異常描述為不能以root權限運行Elasticsearch.解決辦法是運行時加上參數:

bin/elasticsearch -Des.insecure.allow.root=true

或者修改bin/elasticsearch,加上ES_JAVA_OPTS屬性:

ES_JAVA_OPTS="-Des.insecure.allow.root=true"

保存之后重啟Elasticsearch。

總結

以上是生活随笔為你收集整理的ELK的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。