ELK日誌分析平臺搭建

1.下載安裝JDK,並配置環境變量css

vim /etc/profile

將下面的內容添加至文件末尾:linux

JAVA_HOME=/usr/local/jdk1.8.0_111
JRE_HOME=/usr/local/jdk1.8.0_111/jre
CLASSPATH=.:$JAVA_HOME/lib:/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$PATH:$JAVA_HOME/bin
export  JAVA_HOME
export  JRE_HOMEnginx

ulimit -u 4096redis

source /etc/profile

配置limit相關參數vim

vim /etc/security/limits.conf

添加如下內容瀏覽器

* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536ruby

關閉防火牆:服務器

iptables -F

建立運行ELK的用戶app

groupadd elk
useradd -g elk elk

建立ELK運行目錄elasticsearch

mkdir /elk
chown -R elk:elk /elk

2.準備ELK安裝包

下載ELK安裝包:https://www.elastic.co/downloads,並上傳到服務器且解壓,解壓命令:tar -xzvf 包名

下載kibana5.2.2 (下載地址:https://artifacts.elastic.co/downloads/kibana/kibana-5.2.2-linux-x86_64.tar.gz)

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

下載elasticsearch (下載地址:https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.2.2.tar.gz)

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

下載logstash (下載地址:https://artifacts.elastic.co/downloads/logstash/logstash-5.2.2.tar.gz)

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

3.配置

3.1 配置Elasticsearch

vim config/elasticsearch.yml

修改以下內容:

保存退出

啓動Elasticsearch

bin/elasticsearch &

查看是否啓動成功

netstat -ant

用瀏覽器訪問:http://192.168.199.179:9200/

Elasticsearch安裝完畢

3.2 安裝配置logstash 

簡單說明:

logstash的配置文件須包含三個內容:

input{}:此模塊是負責收集日誌,能夠從文件讀取、從redis /kafka讀取或者開啓端口讓產生日誌的業務系統直接寫入到logstash

filter{}:此模塊是負責過濾收集到的日誌,並根據過濾後對日誌定義顯示字段

output{}:此模塊是負責將過濾後的日誌輸出到elasticsearch或者文件、redis等

mkdir config.d
vim nginx_accss.conf

配置文件中添加下面內容:

input {
    file {
        type => "app-log"
        path => [ "/home/youlan/software/taskSchedule/logs/taskSchedule-log*.log" ]
        codec => multiline {
                pattern => "^\["
                negate => true
                what => "previous"
        }
        start_position => "beginning"
    }
}
 
filter {
    grok {
        match => [
            "message","%{TIMESTAMP_ISO8601}\s*%\[{USER}\] \[%{USERNAME}\] \[%{USERNAME}\] - %{NOTSPACE}, IP:%{IP:ip}"
        ]
    }
    grok {
        match => [
            "message","%{TIMESTAMP_ISO8601:date1}\s*%\[{USER:level}\] \[%{USERNAME}\] \[%{USERNAME}\] - %{NOTSPACE:request}"
        ]
    }
    date {
        locale => "en"
        match => ["timestamp" , "dd/MMM/YYYY:HH:mm:ss.Z"]
 
   }
}
output {
    elasticsearch {
        hosts => ["192.168.199.179:9200"]
        index => "%{type}-%{+YYYY.MM.dd}"
        action => "index"
        template_name => "%{type}"
    }
    stdout {codec => rubydebug}
}
View Code

測試配置文件是否有問題:

/usr/local/elk/logstash-5.2.2/bin/logstash -t -f /usr/local/elk/logstash-5.2.2/config.d/nginx_accss.conf

 

啓動 logstash:

nohup /usr/local/elk/logstash-5.2.2/bin/logstash -f /usr/local/elk/logstash-5.2.2/config.d/nginx_accss.conf &

查看是否啓動成功

tail -f nohup.out 

 

出現以上內容表示啓動成功

3.3 安裝配置kibana

vim kibana.yml

保存退出

啓動kibana

bin/kibana &

訪問kibana:http://192.168.199.179:9988

相關文章
相關標籤/搜索