天天看點

ELK-6日志分析平台環境部署

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

一、介紹

通過官網網站了解到:

Kibana 能夠以圖表的形式呈現資料,并且具有可擴充的使用者界面,供您全方位配置和管理 Elastic Stack。

Elasticsearch 是基于 JSON 的分布式搜尋和分析引擎,專為實作水準可擴充性、高可靠性和管理便捷性而設計。

Logstash 是動态資料收集管道,擁有可擴充的插件生态系統,能夠與 Elasticsearch 産生強大的協同作用。

Beats 是一個面向輕量型采集器的平台,這些采集器可從邊緣機器向 Logstash 和 Elasticsearch 發送資料。

二、架構部署

由于目前日志量不大,是以沒有使用redis或kafka等隊列工具,也沒有使用叢集。後續可以根據實際負載情況加入緩存和叢集

ELK-6日志分析平台環境部署

三、安裝

JDK安裝

Elasticsearch-6依賴于jdk-1.8,請確定需要安裝的機器jdk版本不低于1.8.0_73

使用yum安裝Openjdk

yum -y install java-1.8.0-openjdk*

配置JAVA環境變量:vim /etc/profile 追加:(将下面的内容添加至檔案末尾)

export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

然後再執行  source /etc/profile  使JDK設定生效

Elasticsearch 安裝

采用yum方式安裝:

安裝許可:  rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

添加yum源:  vim /etc/yum.repos.d/elasticsearch.repo

[esticsearch-6.x]

name=Elasticsearch repository for 6.x packages

baseurl=https://artifacts.elastic.co/packages/6.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

安裝:yum install -y elasticsearch

等待安裝完成之後,修改相應配置檔案,配置檔案路徑:  /etc/elasticsearch/elasticsearch.yml

修改其中的幾項配置即可

# cluster.name: es_cluster #叢集名,依此識别并組成叢集

# node.name: node-1 #節點名,叢集内每個節點名不同

# network.host: 192.168.0.1 #配置本機ip,以便外網通路

如果是叢集,添加防腦裂配置(因為elc預設是一個區域網路内能搜尋到的就是一個叢集,一些原因會導緻分成幾個叢集)

discovery.zen.ping.multicast.enabled: false

discovery.zen.ping_timeout: 120s

client.transport.ping_timeout: 60s

discovery.zen.ping.unicast.hosts: ["cdh2","cdh1","cdh4"]

因單一節點設定該節點為叢集主節點資料節點

node.master: true #設定充當master節點

node.data: true #設定充當data節點,預設為true

ES啟動的時候回占用特别大的資源是以需要修改下系統參數,若不修改資源啟動會異常退出

配置資源參數:  vim /etc/security/limits.conf

*        soft        nofile        65536

*        hard        nofile        131072  

*        soft        nproc        65536

*        hard        nproc        131072 

配置使用者資源參數:  vim /etc/security/limits.d/*-nproc.conf

elk     soft    nproc       65536

設定ES啟動 JVM堆大小:  vim /etc/elasticsearch/jvm.options

-Xms2g

-Xmx2g

es不能用root使用者啟動,先更改elasticsearch檔案夾的所有者 建立下列目錄并授權

建立使用者并賦權:

useradd elk

groupadd elk

useradd elk -g elk

mkdir /var/run/elasticsearch

mkdir /var/lib/elasticsearch

chmod –R 777  /var/lib/elasticsearch

chmod -R 777 /var/run/elasticsearch

服務啟動停止指令:

service elasticsearch start

service elasticsearch stop

驗證安裝:通路http://localhost:9200/ 有傳回即可

或者使用指令 curl -XGET http://localhost:9200 有傳回即可

安裝kibana

采用yum安裝

安裝授權    rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

建立yum源 vi /etc/yum.repos.d/kibana.repo

[kibana-6.x]

name=Kibana repository for 6.x packages

baseurl=https://artifacts.elastic.co/packages/6.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

安裝kibana: yum install -y kibana

安裝後修改配置檔案:vim /etc/kibana/kibana.yml

#server.host  預設localhost,隻能本機通路kibana

#server.name 此kibana服務的名稱

#elasticsearch.url  es位址

修改完畢之後,啟動服務指令:

service kibana start

service kibana stop

安裝驗證:通路http://localhost:5601/

安裝Logstash

采用yum方式安裝

建立yum源:  vim /etc/yum.repos.d/logstash.repo

[logstash-6.x]

name=Elastic repository for 6.x packages

baseurl=https://artifacts.elastic.co/packages/6.x/yum

gpgcheck=1

gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch

enabled=1

autorefresh=1

type=rpm-md

安裝:  yum install logstash -y

安裝後修改配置檔案:  vim /etc/logstash/logstash.yml

node.name: elk

path.data: /var/lib/logstash

path.config: /etc/logstash/conf.d/*.conf

http.host: "0.0.0.0"

http.port: 9600

path.logs: /var/log/logstash

上述配置一個啟動rest服務端口9600的logstash,配置檔案可以多個conf檔案,存放位置在/etc/logstash/conf.d目錄下

修改完畢之後,啟動服務指令:

service logstash start

service logstash stop

如果使用的是CentOS6的話,上面的指令是無效的,使用如下指令:

initctl start logstash

initctl stop logstash

安裝驗證:http://localhost:9600/

安裝Filebeat

安裝:

官網下載下傳filebeat-6.5.1的rpm

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.1-x86_64.rpm

rpm -ivh filebeat-6.5.1-x86_64.rpm

配置:  vim /etc/filebeat/filebeat.yml

#=========================== Filebeat inputs =============================

filebeat.inputs:

- type: log

  enabled: true

  paths:

    - /opt/testelk/logs/*.log

  fields:

    appname: 'elklog4jfile'

  multiline.pattern: '^[0-9]{4}'

  multiline.negate: true

  multiline.match: after

#============================= Filebeat modules ===============================

filebeat.config.modules:

  path: ${path.config}/modules.d/*.yml

  reload.enabled: true

  reload.period: 10s

#----------------------------- Logstash output --------------------------------

output.logstash:

  hosts: ["localhost:9610"]

此配置抓取日志:

log4j産生的日志,日志目錄在/opt/testelk/logs/*.log

服務啟動filebeat:service filebeat start

背景啟動:nohup ./filebeat-6.5.1-linux-x86_64/filebeat start &

啟動後,可以在ES中檢視到相應的索引資訊,在KIBANA可進行檢索

繼續閱讀