elasticsearch5.5+kibana5.5+logstash5.5+redis+xpack組件 搭建日誌平臺

記錄一下本身的搭建經歷,先看一下圖片記錄下整理結構node

這裏主要講述elk套件的配置,其它前置環境的安裝請自行百度或者腦補,linux

前置條件:JKD1.8(注意必須1.8或者以上),Redis(單點或者Cluster)nginx

1.下載安裝elasticsearchredis

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip
unzip elasticsearch-5.5.0.zip
cd elasticsearch-5.5.0/ 
./bin/elasticsearch  #測試使用
正式由於須要後臺運行 
./bin/elasticsearch -d  或者 nohup ./elasticsearch&

配置 elasticsearch.ymlbootstrap

#這裏指定的是集羣名稱,須要修改成對應的,開啓了自發現功能後,ES會按照此集羣名稱進行集羣發現
cluster.name: my-application
node.name: node-1

#目錄須要手動建立
path.data: /data/elk/data
path.logs: /data/elk/logs

#ES監聽地址任意IP均可訪問
network.host: 0.0.0.0
http.port: 9200

#如果集羣,可在裏面引號中添加,逗號隔開
discovery.zen.ping.unicast.hosts: [「192.168.1.101」]

# enable cors,保證_site類的插件能夠訪問es    
http.cors.enabled: true             #手動添加
http.cors.allow-origin: 「*」         #手動添加

# Centos6不支持SecComp,而ES5.2.0默認bootstrap.system_call_filter爲true進行檢測,因此致使檢測失敗,失敗後直接致使ES不能啓動
bootstrap.memory_lock: false        #手動添加
bootstrap.system_call_filter: false     #手動添加

配置jvm參數  conf/jvm.options  默認佔用2g內存,由於測試緣由我改成了256mvim

注:ES啓動的時候回佔用特別大的資源因此須要修改下系統參數,若不修改資源啓動會異常退出tomcat

sysctl -w vm.max_map_count=262144

若是報錯:安全

ERROR: bootstrap checks failed
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]

修改資源參數app

vim /etc/security/limits.conf
*   soft    nofile  65536
*   hard        nofile  131072  
*   soft        nproc   65536
*   hard        nproc   131072 
//修改後須要註銷從新登陸或者重啓才生效

若是報錯:cors

max number of threads [1024] for user [es] likely too low, increase to at least [2048]
vi /etc/security/limits.d/90-nproc.conf
找到以下內容:
* soft nproc 1024
#修改成
* soft nproc 2048

測試啓動成功後,能夠先停掉了,直接ctrl+c

注意:不建議使用root用戶安裝運行,若是須要的話

vi  bin/elasticsearch
#容許root用戶啓動,修改啓動文件,添加下面一行
ES_JAVA_OPTS="-Des.insecure.allow.root=true"

2.安裝Logtash (注意:這裏要用Redis了,若是和Elastic 不在一塊兒JDK1.8也須要安裝)

首先安裝Server端,主要任務:從redis讀取數據,而後存入Elastic

wget https://artifacts.elastic.co/downloads/logstash/logstash-5.5.1.tar.gz
tar -zxvf logstash-5.5.1.tar.gz
vi 安裝目錄/etc/logstash.conf  #文件目錄和文件本身新建

//logtash 的日誌必定要處理 很大...
input {
  redis {
    host => "127.0.0.1"
    port => "6379"
    password => "test123!"
    key => "logstash-ucenter"
    data_type => "list"
    type=> "ucenter_warn"
  }
}


output {
  elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "logstash-%{type}-%{+YYYY.MM.dd}"
        document_type => "%{type}"
  }
}

上面redis地址密碼須要根據實際狀況修改,elastic密碼我修改了,若是沒修改能夠使用 changeme(默認密碼)

而後安裝客戶端,主要任務:收集應用日誌並寫入redis

input {
  file {
    path=>"/data/log/tomcat/ucenter_warn.log"
    codec => multiline {
            pattern => "^.*\["
            negate => true
            what => "previous"
    }
  }
}

output {
  redis{
    data_type =>"list"
    key=>"logstash-ucenter"
    host=>"redisIp"
    port=>6379
    password => "test123!"
  }
}

3.安裝Kibana

wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-linux-x86_64.tar.gz
tar -zxvf kibana-5.5.0-linux-x86_64.tar.gz 
cd kibana-5.5.0-linux-x86_64/
vim config/kibana.yml

# 將默認配置改爲以下:

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.2.41:9200"
kibana.index: ".kibana"

4.上面的都安裝完成後,剩下的是依次啓動(注意:防火牆各個接口請自行打開,redis默認是啓動狀態)

# 啓動 elastic
bin/elasticsearch -d
# 啓動logstash server端
nohup bin/logstash -f etc/ >/dev/null&
# 啓動logstash client 端
nohup bin/logstash -f etc/ >/dev/null&
#啓動 Kibana
nohup bin/kibana >/dev/null&

這個是本身回憶寫的,可能有漏掉的細節歡迎指出。這個是入門版,接下來有時間的話,會寫一篇高可用版本的。

補充:x-pack安裝(前提 elasticsearch和kibana安裝完成)

x-pack是elasticsearch的一個擴展包,將安全,警告,監視,圖形和報告功能捆綁在一個易於安裝的軟件包中,雖然x-pack被設計爲一個無縫的工做,可是你能夠輕鬆的啓用或者關閉一些功能

bin/elasticsearch-plugin install x-pack

bin/kibana-plugin install x-pack

裝了 x-pack 以後訪問受到限制,這裏默認的用戶名:elastic,密碼:changeme。能夠經過 curl 修改默認密碼

curl -XPUT -u elastic 'localhost:9200/_xpack/security/user/elastic/_password' -d '{
  "password" : "123456"
}

這時候有兩個地方須要修改:

logstash server端的配置文件

input {
  redis {
    host => "127.0.0.1"
    port => "6379"
    password => "test123!"
    key => "logstash-ucenter"
    data_type => "list"
    type=> "ucenter_warn"
  }
}


output {
  elasticsearch {
        hosts => ["127.0.0.1:9200"]
        index => "logstash-%{type}-%{+YYYY.MM.dd}"
        document_type => "%{type}"
        user => "elastic" //這裏須要帳號和密碼了
        password => "test123!"
  }
}

kibana的配置文件

vim config/kibana.yml

# 將默認配置改爲以下:

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.url: "http://192.168.2.41:9200"
kibana.index: ".kibana"
elasticsearch.username: "elastic" //這裏的帳戶密碼
elasticsearch.password: "test123!"
# 這裏帳戶密碼要和 elastic一致

補充kibana關閉小技巧:

fuser -n tcp 5601
kill -9  端口

定時刪除指定索引(由於資源佔用較多,本身選擇)

經過crontab  -e定時執行腳本實現,固然也能夠本身安裝 curator

#!/bin/sh
# delete old index by date s刪除兩天前的一天
today=`date -d -2days '+%Y.%m.%d'`
echo $today
curl  -u elastic:qq2017!  -XDELETE "http://127.0.0.1:9200/logstash-nginx-"${today} > /tmp/elk_clean.txt

echo "ok"

qq技術交流羣:208779755

相關文章
相關標籤/搜索