日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
基于CentOS6.9搭建ELK環(huán)境指南

無論是甲方還是一方都需要面對大量日志處理的情況,之前分析的時(shí)候用基本的shell命令進(jìn)行處理,但是面對大量數(shù)據(jù)的時(shí)候則有些力不從心,而且面對純文字也不大直觀。后來有人推薦了ELK,最近ELK升級到了版本五。E, L, K三大組件統(tǒng)一了版本號,花了一段時(shí)間總算搭好了。

創(chuàng)新互聯(lián)建站自2013年創(chuàng)立以來,先為通州等服務(wù)建站,通州等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為通州企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

基本環(huán)境信息:

Linux操作系統(tǒng):centos 6.9 x64

Java版本號:1.8.0_131

ELK: 5.5

0×01 安裝java

ELK需要最新的java1.8.CentOS自帶了openjdk1.7,刪了重新安裝Oracle Java

yum remove java

然后從oracle官網(wǎng)(http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html)下載java的源碼包

mkdir /usr/java
tar -zxvf jdk-8u131-linux-x64.tar.gz -C  /usr/java/

編輯/etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_131

JRE_HOME=/usr/java/jdk1.8.0_131/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME:$JRE_HOME:$CLASSPATH

創(chuàng)建java的軟連接

cd /usr/bin

ln -s /usr/java/jdk1.8.0_131/bin/java java

如圖,安裝成功

2. 安裝elasticsearch

去elk官網(wǎng)下載elasticsearch的rpm包,

直接安裝

rpm -ivh elasticsearch-5.5.0.rpm

啟動(dòng)測試

/etc/init.d/elasticsearch start

如圖,安裝成功

清空elasticsearch的數(shù)據(jù)

curl -XDELETE 'http://127.0.0.1:9200/logstash-*'

配置一下權(quán)限

 

cd /var/lib

chmod -R 777 logstash

 

3. 安裝kibana

還是從官網(wǎng)下載kibana的二進(jìn)制包

rpm -ivh kibana-5.5.0-x86_64.rpm

啟動(dòng)

/etc/init.d/kibana start

如圖所示,kibaba也安裝成功了,現(xiàn)在kibana只能從本地訪問,為了方便調(diào)試,利用nginx做一下反向代理

yum install nginx

#/etc/nginx/conf.d/default.conf

server {

    listen 80;

    location / {

        proxy_pass [http://localhost:5601](http://localhost:5601);

    }

}

4. 安裝logstash

安裝logstash和之前的步驟一樣,但是logstash是沒有獨(dú)立的守護(hù)服務(wù)的

安裝后的路徑

/usr/share/logstash/

創(chuàng)建config的軟連接

cd /usr/share/logstash

ln -s /etc/logstash ./config

Logstash配置文件是JSON格式,放在/etc/logstash/conf.d 。 該配置由三個(gè)部分組成:輸入,過濾器和輸出。

input 數(shù)據(jù)輸入端,可以接收來自任何地方的源數(shù)據(jù)。

file:從文件中讀取

syslog:監(jiān)聽在514端口的系統(tǒng)日志信息,并解析成RFC3164格式。

redis:從redis-server list 中獲取

beat:接收來自Filebeat的事件

Filter 數(shù)據(jù)中轉(zhuǎn)層,主要進(jìn)行格式處理,數(shù)據(jù)類型轉(zhuǎn)換、數(shù)據(jù)過濾、字段添加,修改等,常用的過濾器如下。

grok: 通過正則解析和結(jié)構(gòu)化任何文本。Grok 目前是logstash最好的方式對非結(jié)構(gòu)化日志數(shù)據(jù)解析成結(jié)構(gòu)化和可查詢化。logstash內(nèi)置了120個(gè)匹配模式,滿足大部分需求。

mutate: 在事件字段執(zhí)行一般的轉(zhuǎn)換??梢灾孛?、刪除、替換和修改事件字段。

drop: 完全丟棄事件,如debug事件。

clone: 復(fù)制事件,可能添加或者刪除字段。

geoip: 添加有關(guān)IP地址地理位置信息。

output 是logstash工作的最后一個(gè)階段,負(fù)責(zé)將數(shù)據(jù)輸出到指定位置,兼容大多數(shù)應(yīng)用,常用的有:

elasticsearch: 發(fā)送事件數(shù)據(jù)到 Elasticsearch,便于查詢,分析,繪圖。

file: 將事件數(shù)據(jù)寫入到磁盤文件上。

mongodb:將事件數(shù)據(jù)發(fā)送至高性能NoSQL mongodb,便于永久存儲(chǔ),查詢,分析,大數(shù)據(jù)分片。

redis:將數(shù)據(jù)發(fā)送至redis-server,常用于中間層暫時(shí)緩存。

graphite: 發(fā)送事件數(shù)據(jù)到graphite。http://graphite.wikidot.com/

statsd: 發(fā)送事件數(shù)據(jù)到 statsd。

其中input和output是必須的,logstash由一個(gè)e參數(shù),可以在終端調(diào)試配置文件

最簡單的輸入輸出

/usr/share/logstash/bin# ./logstash -e 'input { stdin { } } output { stdout {} }'

采用格式化輸出

logstash -e 'input { stdin { } } output { stdout { codec => rubydebug } }'

這邊,我們是從終端輸入,同時(shí)也從終端輸出,但在實(shí)際狀況中幾乎不可能這么做,那先打通輸出環(huán)節(jié)吧,把輸出的內(nèi)容發(fā)送到

Elasticsearch

首先啟動(dòng)Elasticsearch,確保9200端口開著,前邊已經(jīng)啟動(dòng)了。然后執(zhí)行

./logstash -e 'input { stdin { } } output { elasticsearch { hosts => localhost } }'

確認(rèn)一下

curl 'http://localhost:9200/_search?pretty'

logstash的e參數(shù)調(diào)試是很方便,但是內(nèi)容多的話就不方便了,logstash還有一個(gè)f參數(shù),用來從配置文件中讀取信息,簡單示例

#logstash_simple.conf

input { stdin { } }

output {

  elasticsearch { hosts => localhost }

}

# ./logstash -f ../config/logstash_simple.conf

![75879570.png](http://image.3001.net/images/20170708/14995011356598.png!small)

![75898507.png](http://image.3001.net/images/20170708/14995011414518.png!small)

然后說一下過濾器

#logstash.conf

input { stdin {} }

filter {

 grok {

 match => ["message", "%{COMBINEDAPACHELOG}"]

 }

}

output { 

   elasticsearch { hosts => localhost } 

}

filter 以何種規(guī)則從字符串中提取出結(jié)構(gòu)化的信息,grok是logstash里的一款插件,可以使用正則表達(dá)式匹配日志,上文中的%{COMBINEDAPACHELOG}是內(nèi)置的正則,用來匹配apache access日志.

測試信息

127.0.0.1 - - [11/Dec/2013:00:01:45 -0800] "GET /xampp/status.php HTTP/1.1" 200 3891 "http://cadenza/xampp/navi.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:25.0) Gecko/20100101 Firefox/25.0"
curl 'http://localhost:9200/_search?pretty'

分析本地的apache日志文件

首先啟動(dòng)elasticsearch

/etc/init.d/elasticsearch start

然后創(chuàng)建logstash的json文件

#logstash_apache.conf

input {

    file {

        path => "/tmp/access.log"

        type => "apache"

        start_position => "beginning"

    }

}

filter { 

    grok { 

        match => {

            "message" => "%{COMBINEDAPACHELOG}"

        }

    }

    date {

        match => [ "timestamp" , "dd/MMM/YYYY:HH:mm:ss Z"]

    }

}

output {

   elasticsearch { hosts => localhost }

}

啟動(dòng)logstash

./logstash -f ../config/logstash_apache.conf

根據(jù)日志的時(shí)間修改一下時(shí)間段

然后是我最喜歡的功能,基于IP的地理位置顯示


當(dāng)前題目:基于CentOS6.9搭建ELK環(huán)境指南
文章鏈接:http://www.dlmjj.cn/article/dhicojp.html