開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),鐘山企業(yè)網(wǎng)站建設(shè),鐘山品牌網(wǎng)站建設(shè),網(wǎng)站定制,鐘山網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,鐘山網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

 

 

一、前言

日志主要包括系統(tǒng)日志、應(yīng)用程序日志和安全日志。系統(tǒng)運(yùn)維和開發(fā)人員可以通過日志了解服務(wù)器軟硬件信息、檢查配置過程中的錯(cuò)誤及錯(cuò)誤發(fā)生的原因。經(jīng)常分析日志可以了解服務(wù)器的負(fù)荷,性能安全性,從而及時(shí)采取措施糾正錯(cuò)誤。

通常,日志被分散的儲(chǔ)存不同的設(shè)備上。如果你管理數(shù)十上百臺(tái)服務(wù)器,你還在使用依次登錄每臺(tái)機(jī)器的傳統(tǒng)方法查閱日志。這樣是不是感覺很繁瑣和效率低下。當(dāng)務(wù)之急我們使用集中化的日志管理,例如:開源的syslog,將所有服務(wù)器上的日志收集匯總。

集中化管理日志后,日志的統(tǒng)計(jì)和檢索又成為一件比較麻煩的事情,一般我們使用grep、awk和wc等Linux命令能實(shí)現(xiàn)檢索和統(tǒng)計(jì),但是對(duì)于要求更高的查詢、排序和統(tǒng)計(jì)等要求和龐大的機(jī)器數(shù)量依然使用這樣的方法難免有點(diǎn)力不從心。

開源實(shí)時(shí)日志分析ELK平臺(tái)能夠完美的解決我們上述的問題,ELK由ElasticSearch、Logstash和Kiabana三個(gè)開源工具組成。官方網(wǎng)站:https://www.elastic.co/products

 

Elasticsearch是個(gè)開源分布式搜索引擎,它的特點(diǎn)有:分布式,零配置,自動(dòng)發(fā)現(xiàn),索引自動(dòng)分片,索引副本機(jī)制,restful風(fēng)格接口,多數(shù)據(jù)源,自動(dòng)搜索負(fù)載等。

Logstash是一個(gè)完全開源的工具,他可以對(duì)你的日志進(jìn)行收集、分析,并將其存儲(chǔ)供以后使用(如,搜索)。

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

二、準(zhǔn)備工作

準(zhǔn)備3臺(tái)機(jī)器:

192.168.2.61(安裝Elasticsearch,kibana,Logstash)

192.168.2.83(收集umember日志)

192.168.2.93(收集Nginx日志,安裝Logstash)

 

操作系統(tǒng):Centos 6.5 x64

 

下載安裝包

Elasticsearch:

https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.tar.gz

Logstash:

https://artifacts.elastic.co/downloads/logstash/logstash-5.3.0.tar.gz

 

kibana:

https://artifacts.elastic.co/downloads/kibana/kibana-5.3.0-linux-x86_64.tar.gz

 

安裝第三方epel源

rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

 

安裝JDK環(huán)境(所有機(jī)器)

http://120.52.72.24/download.oracle.com/c3pr90ntc0td/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

 

cd /usr/local
tar -zxf jdk-8u131-linux-x64.tar.gz
ln -sv jdk1.8.0_131/ jdk

 

vi /etc/profile.d/jdk.sh

添加以下內(nèi)容

export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:/usr/local/jdk/bin

~

chmod 755 /etc/profile.d/jdk.sh
. /etc/profile.d/jdk.sh

 

查看是否生效

java –version

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

修改ulimit限制

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

*       soft  nproc        10240
*       hard   nproc        10240
*       soft  nofile        65536
*       hard   nofile        65536

vi /etc/sysctl.conf

添加下面內(nèi)容

vm.max_map_count = 262144

然后執(zhí)行以下命令

sysctl -p

三、ElasticSearch安裝配置

創(chuàng)建一個(gè)ELK目錄,把安裝包都放這個(gè)目錄下。

[unilife@cdh4 ~]$ mkdir elk
[unilife@cdh4 ~]$ cd elk/

解壓ElasticSearch安裝包

[unilife@cdh4 elk]$ tar -zxfelasticsearch-5.3.0.tar.gz

 

安裝Head插件

yum install npm git  #安裝node.js
git clonegit://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install
npm run start &  或者 grunt server 啟動(dòng)

通過http://192.168.2.61:9100/ 登錄

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

然后編輯ES的配置文件:

vi config/elasticsearch.yml

修改以下配置項(xiàng):

cluster.name: my-application
node.name: node-1
path.data: /tmp/elasticsearch/data
path.logs: /tmp/elasticsearch/logs
network.host=0.0.0.0
network.port=9200
http.cors.enabled: true
http.cors.allow-origin: "*"

 

其他的選項(xiàng)保持默認(rèn),然后啟動(dòng)ES:

[unilife@cdh4 elk]$ /home/unilife/elk/elasticsearch-5.3.0/bin/elasticsearch &

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

可以看到,它跟其他的節(jié)點(diǎn)的傳輸端口為9300,接受HTTP請(qǐng)求的端口為9200。

 

然后,通過網(wǎng)頁打開http://192.168.2.61:9200/ ,可以看到以下內(nèi)容

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

返回展示了配置的cluster_name和name,以及安裝的ES的版本等信息。

四、Logstash安裝

Logstash功能如下:

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

它就是一個(gè)收集器而已,我們需要為它指定Input和Output(當(dāng)然Input和Output可以為多個(gè))。由于我們需要把Java項(xiàng)目中Log4j的日志輸出到ElasticSearch中,因此這里的Input就是Log4j,而Output就是ElasticSearch。

tar -zxf logstash-5.3.0.tar.gz
cd logstash-5.3.0

 

編寫配置文件

vi config/log4j_to_es.conf

 

# For detail structure of this file
# Set:https://www.elastic.co/guide/en/logstash/current/configuration-file-structure.html
input {
  #For detail config for log4j as input,
  #See: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-log4j.html
 log4j {
   mode => "server"
   host => "192.168.2.61"
   port => 4567
  }
}
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  =>"192.168.2.61:9200"    #ElasticSearch host, can be array.
   index  =>"dubbo"               #Theindex to write data to, can be any string.
  }

 

啟動(dòng)Logstash

[unilife@cdh4 logstash-5.3.0]$./bin/logstash -f config/log4j_to_es.conf &

用 -f 選項(xiàng)指定配置文件

 

修改Java項(xiàng)目的log4j.properties,將Log4j的日志輸出到SocketAppender

 

log4j.rootCategory=debug, stdout, R, E, socket
 
# appender socket
log4j.appender.socket=org.apache.log4j.net.SocketAppender
log4j.appender.socket.Port=4567
log4j.appender.socket.RemoteHost=192.168.2.61
log4j.appender.socket.layout=org.apache.log4j.PatternLayout
log4j.appender.socket.layout.ConversionPattern=%d[%-5p] [%l] %m%n
log4j.appender.socket.ReconnectionDelay=10000

最后重新啟動(dòng)Java服務(wù)

 

用Head插件查看ES狀態(tài)和內(nèi)容

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

 

上面使用了ES的Head插件觀察了ES集群的狀態(tài)和數(shù)據(jù),但這只是個(gè)簡單的用于跟ES交互的頁面而已,并不能生成報(bào)表或者圖表什么的,接下來使用Kibana來執(zhí)行搜索并生成圖表。

五、Kiabana安裝

解壓安裝包

tar -zxf kibana-5.3.0.tar.gz
cd kibana-5.3.0

 

配置kibana

[unilife@cdh4 kibana-5.3.0]$ viconfig/kibana.yml

 

修改以下內(nèi)容

server.host: "0.0.0.0"
elasticsearch.url: http://192.168.2.61:9200

啟動(dòng)Kiabana

[unilife@cdh4 kibana-5.3.0]$ ./bin/kibana &

 

通過http://192.168.2.61:5601/ 訪問Kibana

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

為了后續(xù)使用Kibana,需要配置至少一個(gè)Index名字或者Pattern,它用于在分析時(shí)確定ES中的Index。這里我輸入之前配置的Index名字dubbo,Kibana會(huì)自動(dòng)加載該Index下doc的field,并自動(dòng)選擇合適的field用于圖標(biāo)中的時(shí)間字段:

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

 

接下來切換到Discover標(biāo)簽上,就能看到ES中的數(shù)據(jù)了:

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

六、Logstash收集日志

6.1、Logstash收集Nginx日志

192.168.2.93上操作

mkdir /home/unilife/elk
cd /home/unilife/elk

解壓文件

tar -zxf logstash-5.3.0.tar.gz
cd logstash-5.3.0

 

編寫配置文件

[unilife@localhost bin]$ vi/home/unilife/elk/logstash-5.3.0/config/nginx_to_es.conf

 

添加以下內(nèi)容

input {
 file {
    type => "nginx_access"
    path => ["/usr/local/nginx/logs/access.log"]
 
  }
}
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  =>"192.168.2.61:9200"    #ElasticSearch host, can be array.
   index  =>"nginx"               #Theindex to write data to, can be any string.
  }
}

啟動(dòng)Logstash

[unilife@localhost bin]$ ./bin/logstash -fconfig/nginx_to_es.conf &

 

用ElasticSearch的Head插件查看ES狀態(tài)和內(nèi)容,

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

可以看到nginx日志已經(jīng)存儲(chǔ)到ES

然后通過Kibana為nginx創(chuàng)建一個(gè)index

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

Kibana上能看到nginx數(shù)據(jù)了。

開源日志分析系統(tǒng)ELK平臺(tái)搭建部署

6.2、Logstash通過kafka收集日志信息

編輯配置文件

[unilife@localhost bin]$ vi/home/unilife/elk/logstash-5.3.0/config/kafka_to_elasticsearch.conf

 

添加以下內(nèi)容

input {
 
    kafka {
      topics => "unilife_nginx_production"
      group_id => "flume_unilife_nginx_production"
      bootstrap_servers =>"192.168.2.240:9092,192.168.2.241:9093,192.168.2.242:9094,192.168.2.243:9095,192.168.2.244:9096"
  }
 
}

output {
 
    elasticsearch {
      action => "index"
      hosts  =>["192.168.2.240:9200","192.168.2.241:9200","192.168.2.242:9200","192.168.2.243:9200","192.168.2.244:9200"]
      index  => "nginx"
  }
 
}

 

 

啟動(dòng)Logstash

[unilife@localhost bin]$ ./bin/logstash -fconfig/kafka_to_elasticsearch.conf &

 

 

當(dāng)前標(biāo)題:開源日志分析系統(tǒng)ELK平臺(tái)搭建部署
URL鏈接:http://muchs.cn/article38/gdissp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、企業(yè)網(wǎng)站制作、虛擬主機(jī)、網(wǎng)站收錄云服務(wù)器、企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)