国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開(kāi)通VIP
日志分析利器elk與logback(log4j)實(shí)戰(zhàn)

在近期的項(xiàng)目中,由于其項(xiàng)目中記錄了許多日志,當(dāng)系統(tǒng)由于某些BUG掛掉時(shí),單純地通過(guò)命令來(lái)查詢錯(cuò)誤日志很不方便排除,且搜索起來(lái)很非常不方便,很花費(fèi)時(shí)間,對(duì)于一向不喜歡干重復(fù)單調(diào)很費(fèi)時(shí)間的我來(lái)說(shuō),如果沒(méi)有一種辦法來(lái)解決日志問(wèn)題是一件很痛苦的事情。那天偶然,公司的CTO說(shuō)解決這種事情,只需要ELK就能解決掉了(CTO果然見(jiàn)多識(shí)廣),對(duì)于一向喜歡新技術(shù)的我來(lái)說(shuō),我便在網(wǎng)上搜索了一些關(guān)于ELK的知識(shí),正好今天周六,我將此記錄一下,為方便以后查看和快速安裝ELK。

首先ELK到底是什么呢?通過(guò)在網(wǎng)上查詢相關(guān)信息了解到,其實(shí)ELK是由Elasticsearch、Logstash、Kibana這3個(gè)軟件的縮寫。

在以前的項(xiàng)目中日志的處理流程大致是這樣的:先由我們自己開(kāi)發(fā)的系統(tǒng)產(chǎn)生出日志,由其日志框架進(jìn)行處理,(在JAVAEE中這些日志框架如log4j,slf4j,logback)通過(guò)日志框架將日志打印到控制臺(tái)或輸出到指定的文件中,當(dāng)我們需要對(duì)日志文件進(jìn)行查看時(shí),通過(guò)vim等工具進(jìn)行查看。

L

那么有了ELK之后,其日志的處理流程就是在其上所述的基礎(chǔ)上,日志處理框架在輸出日志信息的時(shí)候,還將日志輸出到一個(gè)開(kāi)放了TCP端口的程序中,那么在ELK中,這個(gè)用于收集日志的程序便是Logstash,在Logstash收集到日志信息后,Logstash這個(gè)程序可以將這些日志再次包裝一下,也可以直接輸出到Elasticsearch這個(gè)程序中。

E

Elasticsearch這個(gè)名字猜想出,它是一個(gè)和搜索相關(guān)的程序,事實(shí)上也是這樣的,Elasticsearch是一個(gè)基于Lucene的搜索服務(wù)器,能在很快的時(shí)間內(nèi)檢索出你所想要查詢的信息。

K

Kibana是什么呢?個(gè)人理解的話,Kibana是一個(gè)用于操作Elasticsearch的一個(gè)圖形化界面,通過(guò)Kibana這個(gè)WEB界面,使得對(duì)于Elasticsearch的數(shù)據(jù)的檢索變得非常方便。

ELK流程

所有總結(jié)起來(lái),ELK的流程應(yīng)該是這樣的:Logback->Logstash->(Elasticsearch<->Kibana)

由我們自己的程序產(chǎn)生出日志,由日志框架進(jìn)行處理,將日志數(shù)據(jù)輸出到Logstash中,Logstash再將數(shù)據(jù)輸出到Elasticsearch中,Elasticsearch再與Kibana相結(jié)合展示給用戶。

ELK搭建過(guò)程

軟件準(zhǔn)備

在這里,以Centos7服務(wù)器為例,記錄下其ELK的搭建過(guò)程。

首先在服務(wù)器上下載好以下安裝包:

logstash-1.5.4-1.noarch.rpm
elasticsearch-1.7.3.noarch.rpm
kibana-4.1.2-linux-x64.tar.gz

當(dāng)然,由于以上軟件的運(yùn)行環(huán)境為JAVA,所以得要提前安裝好JDK。我這里安裝的是JDK1.8,并設(shè)好環(huán)境變量及JAVA_HOME



Logstash安裝

[root@Hadoop elk]# yum localinstall logstash-1.5.4-1.noarch.rpm

一直y 待安裝完成后,看看安裝到哪里了,并配置下log4j的
[root@Hadoop elk]# whereis logstashlogstash: /etc/logstash /opt/logstash/bin/logstash /opt/logstash/bin/logstash.bat[root@Hadoop elk]# cd /opt/logstash/bin[root@Hadoop bin]# lltotal 36-rwxrwxr-x. 1 logstash logstash 1046 Aug 20 2015 logstash-rw-rw-r--. 1 logstash logstash 689 Aug 20 2015 logstash.bat-rwxrwxr-x. 1 logstash logstash 4107 Aug 20 2015 logstash.lib.sh-rwxrwxr-x. 1 logstash logstash 439 Aug 20 2015 plugin-rw-rw-r--. 1 logstash logstash 251 Aug 20 2015 plugin.bat-rwxrwxr-x. 1 logstash logstash 322 Aug 20 2015 rspec-rw-rw-r--. 1 logstash logstash 245 Aug 20 2015 rspec.bat-rw-rw-r--. 1 logstash logstash 2165 Aug 20 2015 setup.bat

然后建立一個(gè)logstash的配置文件

mkdir config

vim  log4j_to_es.conf

在這里面插入如下內(nèi)容:

input { tcp { port => 4567 }}filter {}output { stdout { codec => rubydebug }}
其意思就是,開(kāi)放本地的4567端口,通過(guò)此端口接收日志數(shù)據(jù)

output代表輸出,將日志數(shù)據(jù)輸出配置 stdout codec代表按照rubydebug方式把日志包裝下

然后再啟動(dòng)下logstash,為了省事,先防火墻關(guān)掉

[root@Hadoop ping]# systemctl stop firewalld

然后再執(zhí)行啟動(dòng),并以config目錄下的log4j_to_es.conf為配置文件

[root@Hadoop bin]# ./logstash -f config/log4j_to_es.conf 


提示startup completed就證明啟動(dòng)OK了!

Logback配置

logstash的配置已經(jīng)好了之后,我再測(cè)試下,能否把JAVAEE的日志輸出到logstash上去呢。
先添加jar包的maven依賴
net.logstash.logback logstash-logback-encoder 4.4
再在logback.xml中添加如下內(nèi)容:
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n 192.168.31.222 4567

其中remoteHost指定了logstash的IP地址,port為logstash的端口
這樣就配置好了logback,然后再啟動(dòng)我們的程序,看看logstash是否能接收到日志數(shù)據(jù)。

OK!從logstash上可以看到logstash已經(jīng)接收到數(shù)據(jù)了,這就證明成功了一大半,接下來(lái)配置下elasticsearch 和kibana就完了。

elasticsearch安裝與配置

[root@Hadoop elk]# yum localinstall elasticsearch-1.7.3.noarch.rpm
# 重載所有修改過(guò)的配置文件
[root@Hadoop elk]# systemctl daemon-reload 
#設(shè)為開(kāi)機(jī)啟動(dòng)
[root@Hadoop elk]# systemctl enable elasticsearch.service  
#開(kāi)啟elasticsearch
[root@Hadoop elk]# systemctl start elasticsearch.service

elasticsearch默認(rèn)會(huì)開(kāi)啟9200端口,為了驗(yàn)證elasticsearch是否成功啟動(dòng)了,在瀏覽器上驗(yàn)證下


OK,顯示為以上畫面,證明啟動(dòng)OK了!
如果需要對(duì)elasticsearch的相關(guān)配置修改下,可以修改elasticsearch的配置文件
查詢出elasticsearch的配置文件,再根據(jù)需要修改就好
rpm -qc elasticsearch


kibana安裝與配置

#執(zhí)行解壓
[root@Hadoop elk]# tar -zxvf kibana-4.1.2-linux-x64.tar.gz 
修改配置文件

在kibana.yml中可以修改kibana的端口和要關(guān)聯(lián)的elasticsearch地址


完成好后,wq保存下,然后啟動(dòng)kibana

執(zhí)行kibana解壓目錄下的kibana就好
然后在瀏覽器中打開(kāi)此安裝服務(wù)器5601端口

Ok,證明kibana的啟動(dòng)也成功了。

ELK配置關(guān)聯(lián),并測(cè)試

在上面的安裝中,為了測(cè)試方便,是分別對(duì)單個(gè)程序的安裝,并沒(méi)有將logstash收集到的日志轉(zhuǎn)給elasticserach進(jìn)行處理,所以最后再將logstash的配置文件修改下,重新啟動(dòng)下logstash就好!
[root@Hadoop config]# vim log4j_to_es.conf input { tcp { port => 4567 }}filter {}output { elasticsearch { host => localhost } stdout { codec => rubydebug }}~~~~~~~~~~~~~~:wq

添加elasticsearch配置,制定host的位置,然后重新啟動(dòng)logstash 
[root@Hadoop bin]# ./logstash -f config/log4j_to_es.conf 


啟動(dòng)完成后,在JAVAEE項(xiàng)目中輸出幾條日志,然后再在kibana中查詢一下
為了測(cè)試方便,我在javaee工程中新建了一個(gè)controller,用它來(lái)打印日志
@Controller@RequestMapping('test')public class TestController { private Logger logger = LoggerFactory.getLogger(getClass()); private static int i = 0; @RequestMapping(value = 'hello') public ResponseEntity helloWorld() { logger.debug('[ResponseEntity]:{}', 'i am debug' + i); logger.info('[ResponseEntity] i am info' + i); logger.error('[ResponseEntity]i am error' + i); logger.warn('[ResponseEntity]i am warn' + i); i++; String responseStr = 'OK'; ResponseEntity responseEntity = new ResponseEntity<>(responseStr, HttpStatus.OK); return responseEntity; }}
啟動(dòng)測(cè)試的WEB工程后,訪問(wèn)測(cè)試的controller,并在kibana中查看下日志



OK!在kibana中也能看到了!ELK最簡(jiǎn)單的配置就這樣完成了!

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Spring Boot 搭建 ELK,這才是正確看日志的方式!
手把手教你搭建ELK
入門級(jí)ELK環(huán)境搭建及使用教程
ELK學(xué)習(xí)001:Elastic Stack簡(jiǎn)介
【日志可視化】ELK in Docker 安裝、配置和效果展示|SECTONG|賽克通博客
利用 ELK系統(tǒng)分析Nginx日志并對(duì)數(shù)據(jù)進(jìn)行可視化展示
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服