centos下ELK5.4.1搭建部署詳解

ELK5.4.1搭建部署


大綱:

一、簡介

二、Elasticsearch 

Logstash

Kinaba

 

 

一、簡介

1、核心組成

ELKElasticsearchLogstashKibana三部分組件組成;

Elasticsearch是個開源分佈式搜索引擎,它的特點有:分佈式,零配置,自動發現,索引自動分片,索引副本機制,restful風格接口,多數據源,自動搜索負載等。

Logstash是一個完全開源的工具,它可以對你的日誌進行收集、分析,並將其存儲供以後使用

kibana 是一個開源和免費的工具,它可以爲 Logstash ElasticSearch 提供的日誌分析友好的 Web 界面,可以幫助您彙總、分析和搜索重要數據日誌。

2、四大組件

Logstash: logstash server端用來蒐集日誌;

Elasticsearch: 存儲各類日誌;

Kibana: web化接口用作查尋和可視化日誌;

Logstash Forwarder: logstash client端用來通過lumberjack 網絡協議發送日誌到logstash server

3ELK工作流程

在需要收集日誌的所有服務上部署logstash,作爲logstash agentlogstash shipper)用於監控並過濾收集日誌,將過濾後的內容發送到Redis,然後logstash indexer將日誌收集在一起交給全文搜索服務ElasticSearch,可以用ElasticSearch進行自定義搜索通過Kibana 來結合自定義搜索進行頁面展示。

wKioL1k3psfQOlrzAAG5FVmSTyk026.png

4ELK的幫助手冊

ELK官網下載:https://www.elastic.co/downloads/

ELK官網文檔:https://www.elastic.co/guide/index.html

ELK中文手冊:http://kibana.logstash.es/content/elasticsearch/monitor/logging.html

 

註釋

ELK有兩種安裝方式

(1)集成環境:Logstash有一個集成包,裏面包括了其全套的三個組件;也就是安裝一個集成包。

(2)獨立環境:三個組件分別單獨安裝、運行、各司其職。(比較常用)

本實驗也以第二種方式獨立環境來進行演示;單機版主機地址爲:10.254.21.18

 

 

二、Elasticsearch 

1.安裝java運行環境

ELK 5.4.1版本對JDK的最低要求是1.8,安裝java_1.8版本

解壓jdk-8u131-linux-x64.tar.gz

tar zxvf jdk-8u131-linux-x64.tar.gz

添加配置,在/etc/profile裏面添加如下:

export JAVA_HOME="/usr/local/jdk1.8.0_131"
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH


保存退出,在命令行輸入./etc/profile並回車使其生效。

 

2.關閉防火牆

service iptables stop
chkconfig iptables off

 

4.新建用戶

默認情況elasticsearch是不允許root用戶直接啓動的

groupadd elk
useradd elk -g elk


至此,前期準備工作結束。


5.安裝elasticsearch

官網下載的elasticsearch-5.4.1.tar.gz

新建/usr/local/elk/目錄,在該路目下解壓:

tar zxvf elasticsearch-5.4.1.tar.gz 
mv elasticsearch-5.4.1 elasticsearch


配置

cd elasticsearch
vim config/elasticsearch.yml 
network.host: 192.168.1.104 # 主機IP
http.port: 9200 # api接口url
# 以下兩個爲允許跨域,主要是5.1版本的head插件和以往安裝的不一樣
http.cors.enabled: true
http.cors.allow-origin: "*"


啓動(elasticsearch目錄下)

su elk
./bin/elasticsearch


 

若是沒有啓動成功,可以到/var/log/elasticsearch/elasticsearch.log裏看到這兩條錯誤日誌

max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
max number of threads [1024] for user [lishang] likely too low, increase to at least [2048]

解決第一個,編輯limits.conf

vi /etc/security/limits.conf 
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096


 

解決第二個,進入limits.d目錄下修改配置文件

vi /etc/security/limits.d/90-nproc.conf
修改如下內容:
* soft nproc 1024
#修改爲
* soft nproc 2048


如果虛擬機內存小,也是啓動不起來的,需加大內存。

 

elasticsearch安裝使用常見問題及解決:http://xiumin.blog.51cto.com/6205237/1933174


6.安裝elasticsearch-head插件

 5.4版本的elasticsearch沒有提供直接插件安裝方法,但在該github上該插件作者給出了方法

git clone git://github.com/mobz/elasticsearch-head.git

如果虛擬機上沒有安裝node,則要安裝nodenpmgrunt

wget https://nodejs.org/dist/v6.11.0/node-v6.11.0-linux-x64.tar.xz

解壓node-v6.11.0-linux-x64.tar.xz

tar.xz文件分兩步解壓

xz -d node-v6.10.3-linux-x64.tar.xz
tar xvf node-v6.10.3-linux-x64.tar


#設置軟連接

ln -s /usr/local/elk/node-v6.10.3-linux-x64/bin/node /usr/sbin/
ln -s /usr/local/elk/node-v6.10.3-linux-x64/lib/node_modules/grunt/bin/grunt /usr/sbin/


# 設置npm代理鏡像

npm config set registry https://registry.npm.taobao.org

# 安裝、配置grunt

npm install -g grunt
ln -s /usr/local/elk/node-v6.10.3-linux-x64/lib/node_modules/grunt/bin/grunt /usr/sbin/grunt

安裝head

npm install

修改_site/app.js

// 把localhost改爲ip
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.254.21.18:9200";

 

修改Gruntfile.js

connect: {
    server: {
        options: {                                                                                                                                                                                                                                                    
            hostname: "0.0.0.0", #這裏
            port: 9100,
            base: '.',
            keepalive: true
        }   
    }   
}


 

啓動(後臺運行)

nohup grunt server &

wKiom1k3rpegVQvuAADRsYXqyqo862.png-wh_50

 

Logstash

1.安裝logstash-5.4.1.tar.gz

在/usr/local/elk/目錄下:

tar zxvf logstash-5.4.1.tar.gz
mv logstash-5.4.1 logstash

2.寫入elasticsearch

cd logstash
vim conf/elastic.conf
input {
    file {
        path => "/usr/local/openresty/nginx/logs/access.log"  #要收集的日誌文件
    }
}
output {
    elasticsearch {
        hosts => "10.254.21.18"
        index => "nginx-access-%{+YYYY.MM.dd}"
    }
    stdout {
        codec => rubydebug
    }
}


3.文件方式啓動

/usr/local/elk/logstash/bin/logstash -f /usr/local/elk/logstash/config/elastic.conf


4.在elasticsearch中查看

wKioL1k3r7yj1nX_AAHbvth19BU871.png

 

四、Kinaba

1.解壓kibana-5.4.1-linux-x86_64.tar.gz

在/usr/local/elk/目錄下,

tar zxvf kibana-5.4.1-linux-x86_64.tar.gz
mv kibana-5.4.1-linux-x86_64 kibana


2.配置

cd /usr/local/elk/kibana/config
vim kibana.yml
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://10.254.21.18:9200"


3.啓動(後臺運行)

cd /usr/local/elk/kibana/bin/
nohup ./kibana &


4.kibana索引模式配置

Kibana在網頁打開後會自動跳轉管理頁面,配置索引模式

wKiom1k3sL6hEvCFAAGRoTfJ828031.png

                                    圖1

wKioL1k3sL_AQ80fAAAqM4DRrEE303.png

                                         圖2 

上面兩圖中紅框中index索引必須一致,圖一中的create按鈕纔會出現。然後點擊create後大功告成。

 如有不明白之處,參見:kibana創建新的index patterns


5.效果圖

wKiom1k3sQXC4NYBAAI4rNayor0771.png-wh_50


至此ELK搭建已大功告成。


 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章