ELK 6.2.4搭建

開源實時日志分析ELK平臺能夠完美的解決我們上述的問題,ELK由ElasticSearch、Logstash和Kiabana三個開源工具組成。

官方網站:https://www.elastic.co/products

  • Elasticsearch是個開源分布式搜索引擎,它的特點有:分布式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。

  • Logstash是一個完全開源的工具,他可以對你的日志進行收集、過濾,并將其存儲供以后使用(如,搜索)。

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

ELK下載:https://www.elastic.co/downloads/

ELK工作原理:

?

ElasticSearch

配置ElasticSearch:

1

2

unzip elasticsearch-6.2.4.zip

cd?elasticsearch-6.2.4

然后編輯ES的配置文件:

1

vi?config/elasticsearch.yml

修改以下配置項:

1

2

3

4

5

6

7

cluster.name=es_cluster

node.name=node0

path.data=/tmp/elasticsearch/data

path.logs=/tmp/elasticsearch/logs

#當前hostname或IP,我這里是node1

network.host=node1

network.port=9200

其他的選項保持默認,然后啟動ES:

1

nohup?sh elasticsearch >?nohup.log &

注意:

1.需要添加用戶elk,ES不能以root用戶進行啟動

2.可能出現的錯誤:

  • max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

1

2

3

vi?/etc/security/limits.conf

elk soft nofile 819200?

elk hard nofile 819200

  • max number of threads [1024] for user [work] likely too low, increase to at least [2048]

1

2

3

4

vi?/etc/security/limits.d/90-nproc.conf

*????????? soft??? nproc???? 1024

#修改為:

*????????? soft??? nproc???? 2048

  • max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]

1

2

3

4

5

vi?/etc/sysctl.conf

#增加改行配置:

vm.max_map_count=655360?

#保存退出后,執行:?

sysctl -p

  • 另外再配置ES的時候,threadpool.bulk.queue_size 已經變成了thread_pool.bulk.queue_size ,ES_HEAP_SIZE,ES_MAX_MEM等配置都變為ES_JAVA_OPTS這一配置項,如限制內存最大最小為1G:

1

export?ES_JAVA_OPTS="-Xms1g -Xmx1g"

然后可以打開頁面http://node1:9200/,將會看到以下內容:(我是通過外部訪問虛擬機,因此為了簡單沒有配置host文件,直接用ip訪問)

Logstash

配置Logstash:

1

2

tar?-zxvf logstash-6.2.4.tar.gz

cd?logstash-6.2.4

編寫配置文件(名字和位置可以隨意,這里我放在config目錄下,取名為log_app.conf):

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

vi?config/log_app.config

#以下為內容

input {

????????file?{

????????????????path =>?"/usr/local/software/elk/app.log"

????????????????start_position =>?"beginning"?#從文件開始處讀寫

????????}

#?????? stdin {}? #可以從標準輸入讀數據

}

filter {

??#Only matched data are send to output.

}

output {

??# For detail config for elasticsearch as output,

??# See: https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html

??elasticsearch {

????action =>?"index"??????????#The operation on ES

????hosts? =>?"node1:9200"?????#ElasticSearch host, can be array.

????index? =>?"applog"?????????#The index to write data to.

??}

}

其他的選項保持默認,然后啟動Logstash:

1

2

# -f為指定配置文件

nohup?sh ./bin/logstash?-f ../config/log_app.config >?nohup.log &

日志:

?

Kibana

配置Kibana:

1

2

tar?-zxvf kibana-6.2.4-linux-x86_64.tar.gz

cd?kibana-6.2.4-linux-x86_64

修改以下幾項(由于是單機版的,因此host的值也可以使用localhost來代替,這里僅僅作為演示):

1

2

3

4

server.port: 5601

server.host: “node1”

elasticsearch.url: http://node1:9200

kibana.index: “.kibana”

啟動kibana:

1

nohup?sh ./bin/kibana?>?nohup.log &

啟動后界面:

然后需要創建index,步驟如下:

①點擊左邊iscover出現以下界面


?

②按照注釋配置,然后點擊Next step,在第二頁 選擇@timestamp點擊create創建



③創建完成之后,可以看到以下一個界面,紅框內是 自動生成的域,也可以理解為 跟數據庫中的字段類似,其中有一個message字段,就是我們想要的日志信息。



④再次點擊Discover出現以下界面,可以看到默認搜索的是最后15分鐘的日志,可以通過點擊設置搜索的時間范圍.



⑤可以點擊右側域的add設置需要顯示的字段



添加完成之后,日志顯示如下:

?

參考:https://my.oschina.net/itblog/blog/547250

  ? ?https://blog.csdn.net/abcd_d_/article/details/53018927

  ? ?https://blog.csdn.net/qq_34021712/article/details/79364592

? ? ? ? ?https://www.cnblogs.com/yincheng/p/logstash.html

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/386922.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/386922.shtml
英文地址,請注明出處:http://en.pswp.cn/news/386922.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

vim打開退出命令

打開文件方法:cd /Users/liuchang/.jenkins/secrets && vim initialAdminPassword 退出方法:先按ESC,再輸入冒號,在輸入命令時,直接輸入"q!",如圖。 轉載于:https://www.cnblogs.com/sma…

RUNNOOB python練習題 28 遞歸 數列

用來練手的python練習題其28,原題鏈接:python練習實例28 題干: 有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比…

使用Spring Task完成定時任務

1. 前言 上一篇我們學習了Quartz作為定時任務的框架的使用, 這一篇我們來學習Spring全家桶的SpringTask, 對于主張簡單易用的Spring家族來說, SpringTask無疑也是一個輕量級的框架,他比Quartz更容易上手. 2. pom.xml依賴 <dependencies> <dependency> …

python 讀寫文件

https://www.cnblogs.com/evablogs/p/6725242.html 文件的打開讀寫關閉&#xff08;文件使用完畢后必須關閉&#xff0c;因為文件對象會占用操作系統的資源&#xff09; 123456789#寫文件with open(rD:\Test\1.txt,w) as f: #with比<strong>try....finally<…

RUNOOB python練習題29

用來練手的python練習題其29&#xff0c;原題鏈接:python練習實例29 題干 : 給一個不多于5位的正整數&#xff0c;要求&#xff1a;一、求它是幾位數&#xff0c;二、逆序打印出各位數字。 實際這個正整數無論位數&#xff0c;在python3中都很容易實現。源代碼如下: def ent…

定時任務(Spring Cloud Task)

引入依賴 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> </dependency> <dependency> <groupId>org.sprin…

P3357 最長k可重線段集問題 網絡流

P3357 最長k可重線段集問題 題目描述 給定平面 x-O-yx?O?y 上 nn 個開線段組成的集合 II&#xff0c;和一個正整數 kk 。試設計一個算法&#xff0c;從開線段集合 II 中選取出開線段集合 S\subseteq IS?I ,使得在 xx 軸上的任何一點 pp&#xff0c;SS 中與直線 xpxp 相交的開…

服務被人當肉雞了,叫一路賺錢 xig

網上看了一下&#xff0c;說有專門人研究服務 個人懷疑是阿里云內部人干的&#xff0c;因為買了服務器后&#xff0c;沒有安裝對外使用的地址性質的網站&#xff0c;IP開通了之后只有阿里的人知道&#xff0c;上面還有阿里云盾。 看了下進程地址&#xff0c;上面的啟動命令 x…

RUNOOB python練習題30 回文數

用來練手的python練習題 30。原題鏈接:python練習實例30 題干 : 一個5位數&#xff0c;判斷它是不是回文數。即12321是回文數&#xff0c;個位與萬位相同&#xff0c;十位與千位相同。 與上一個例題類似&#xff0c;判斷一個數是不是回文數&#xff0c;我們使用字符串類型更加…

高并發與負載均衡-keepalived-概念介紹

keepalived是用戶空間的程序&#xff0c;這個程序會同時在主的lvs和備用的lvs啟動 轉載于:https://www.cnblogs.com/LXL616/p/10793790.html

asp.net2.0跨域問題

什么叫跨域&#xff1f; 簡單理解就是不同服務器&#xff0c;不同域名之間的訪問。 1 如何設置asp.net web程序的跨域&#xff1f; 在web.config中添加如下代碼 1 <system.webServer> <httpProtocol> <customHeaders> <add name&qu…

RUNOOB python練習題31 根據已輸入的字符判斷星期幾

用來練手的python練習題31&#xff0c; 原題鏈接 : python練習實例31 題干 : 請輸入星期幾的第一個字母來判斷一下是星期幾&#xff0c;如果第一個字母一樣&#xff0c;則繼續判斷第二個字母。 一個條件語句練習題&#xff0c;非常簡單了可以說&#xff0c;就是把所有的條件都…

解決FTPClient上傳文件為空,顯示0字節

JAVA使用FTPClient上傳文件時總是為空&#xff0c;而使用FileZilla客戶端時卻不會。 后來查了下資料&#xff0c;FTP服務器有被動模式和主動模式。&#xff08;具體查另外資料&#xff09; 在JAVA中將FTPClient設置為被動模式即可解決問題。 import org.apache.commons.net.f…

軟件工程——結對編程第二次作業

目錄 1. 題目及要求2. 功能的設計3. GUI&#xff08;圖形用戶界面&#xff09;的設計4. 容錯機制的設計4.1 選擇運算符的容錯處理4.2 最大值和題目數輸入的容錯處理4.3 打開文件容錯處理4.4 打印的容錯處理5. 程序的運行效果6. 對領航員的評價7. 總結本次作業所開發的程序已上傳…

RUNOOB python練習題 32 列表的中括號符號小tips

用來練手的python練習題&#xff0c;原題鏈接: python練習實例32 題干: 按相反的順序輸出列表的值 拿到題目首先寫下如下代碼: a [1,2,3,4] for i in range(len(a)):print(a[len(a)-i-1])輸出結果如下: 使用一個簡單的循環就可以完成這個操作。但其實python有利用中括號操…

redis啟動后出現WARNING you have Transparent Huge Pages (THP) support enabled in your kernel問題...

問題描述&#xff1a;啟動redis后出現&#xff1a;WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command echo never > /sys/kernel/mm/trans…

Anaconda安裝第三方包(whl文件)

先說下環境 Anaconda 對應Python3.5的版本 win7,64位系統。 step1&#xff1a;下載whl文件 step2&#xff1a;打開‘Anaconda Command Prompt‘&#xff0c; 如下圖&#xff1a; step3&#xff1a;命令行窗口pip安裝&#xff0c;代碼如下&#xff1a; pip install 路徑whl…

RUNOOB python練習題33 使用join方法實現用逗號分隔列表

用來練手的python練習題&#xff0c;原題鏈接:python練習實例33 題干: 按逗號分隔列表 用逗號分隔列表&#xff0c;我們就想到了join方法。 str.join(sequence)可以用自定的str字符串分隔一個序列&#xff0c;這個序列可以是字符串&#xff0c;列表&#xff0c;元組&#xff…

Use Vim as a Python IDE

Use Vim as a Python IDE I love vim and often use it to write Python code. Here are some useful plugins and tools for building a delightful vim python environment, escpecially for Vim8: 我喜歡vim&#xff0c;經常用它來編寫Python代碼。以下是一些有用的插件和工…

sql2008“備份集中的數據庫備份與現有的xx數據庫不同”解決方法 因為是在另一臺電腦對同名數據庫做的備份,用常規方法還原,提示不是相同數據庫,不讓還原,在網上找到下面的方法解決了: 一、右擊系

sql2008“備份集中的數據庫備份與現有的xx數據庫不同”解決方法 因為是在另一臺電腦對同名數據庫做的備份&#xff0c;用常規方法還原&#xff0c;提示不是相同數據庫&#xff0c;不讓還原&#xff0c;在網上找到下面的方法解決了&#xff1a; 一、右擊系統數據庫master&…