ELK日志分析平臺(tái)集群搭建

2018年8月16日16:25:52 發(fā)表評(píng)論 7,002 ℃

一、準(zhǔn)備工作

架構(gòu)圖

ELK日志分析平臺(tái)集群搭建

1、準(zhǔn)備三臺(tái)虛擬機(jī),系統(tǒng)版本:CentOS Linux release 7.5.1804

master 192.168.133.128

node1  192.168.133.129

node2  192.168.133.130

2、系統(tǒng)初始化操作

a.關(guān)閉seLinux

setenforce 0

修改/etc/selinux/config將SELINUX=enforcing改為SELINUX=disabled

b.關(guān)閉防火墻

systemctl stop firewalld

systemctl disable firewalld

c.配置hostname

hostname master

echo 'master' > /etc/hostname

分別修改node1和node2的hostname

d.配置hosts,三臺(tái)主機(jī)分別執(zhí)行

cat <<EOF >> /etc/hosts

192.168.133.128 master

192.168.133.129 node1

192.168.133.130 node2

EOF

3、配置yum源

a.配置centos7阿里云yum源

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

b.配置ES官方源

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

cat <<EOF > /etc/yum.repos.d/elastic.repo

[elasticsearch-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

EOF

二、通用軟件安裝

1、三臺(tái)主機(jī)分別安裝jdk1.8

yum install -y java-1.8.0-openjdk

2、三臺(tái)主機(jī)分別安裝elasticsearch (當(dāng)前最新版本6.3.2)

yum install -y elasticsearch

3、配置elasticsearch 

[root@master ~]#vim /etc/elasticsearch/elasticsearch.yml  # 增加或更改以下內(nèi)容

cluster.name: master #集群中的名稱(chēng)

node.name: master  #該節(jié)點(diǎn)名稱(chēng)

node.master: true  #意思是該節(jié)點(diǎn)為主節(jié)點(diǎn)

node.data: false  #表示這不是數(shù)據(jù)節(jié)點(diǎn)

network.host: 0.0.0.0  #監(jiān)聽(tīng)全部ip,在實(shí)際環(huán)境中應(yīng)設(shè)置為一個(gè)安全的ip

http.port: 9200  #es服務(wù)的端口號(hào)

discovery.zen.ping.unicast.hosts: ["master", "node1", "node2"] # 配置自動(dòng)發(fā)現(xiàn)

將配置文件分別復(fù)制到node1和node2

[root@master ~]#scp /etc/elasticsearch/elasticsearch.yml node1:/etc/elasticsearch/

[root@master ~]#scp /etc/elasticsearch/elasticsearch.yml node2:/etc/elasticsearch/

修改node1配置文件

[root@node1 ~]# vim /etc/elasticsearch/elasticsearch.yml

node.name: node1

node.master: false

node.data: true

修改node2配置文件

[root@node1 ~]# vim /etc/elasticsearch/elasticsearch.yml

node.name: node2

node.master: false

node.data: true

4、三臺(tái)主機(jī)啟動(dòng)elasticsearch服務(wù)

systemctl start elasticsearch && systemctl enable elasticsearch

啟動(dòng)成功查看9200端口和9300端口是否監(jiān)聽(tīng) ss -tnl

ELK日志分析平臺(tái)集群搭建

5、curl查看ES集群情況

集群的健康檢查:

[root@master ~]# curl http://master:9200/_cluster/health?pretty

{

  "cluster_name" : "master",

  "status" : "green",  # 為green則代表健康沒(méi)問(wèn)題,如果是yellow或者red則是集群有問(wèn)題

  "timed_out" : false, # 是否有超時(shí)

  "number_of_nodes" : 3,  # 集群中的節(jié)點(diǎn)數(shù)量

  "number_of_data_nodes" : 2, # 集群中data節(jié)點(diǎn)的數(shù)量

  "active_primary_shards" : 0,

  "active_shards" : 0,

  "relocating_shards" : 0,

  "initializing_shards" : 0,

  "unassigned_shards" : 0,

  "delayed_unassigned_shards" : 0,

  "number_of_pending_tasks" : 0,

  "number_of_in_flight_fetch" : 0,

  "task_max_waiting_in_queue_millis" : 0,

  "active_shards_percent_as_number" : 100.0

}

查看集群詳細(xì)信息

curl http://master:9200/_cluster/state?pretty

三、Master安裝kibana(當(dāng)前最新版本6.3.2)

1、yum安裝

[root@master ~]#yum install -y kibana

2、配置kibana

[root@master ~]#vim /etc/kibana/kibana.yml  # 增加以下內(nèi)容

server.port: 5601  # 配置kibana的端口

server.host: master  # 配置監(jiān)聽(tīng)ip

elasticsearch.url: "http://master:9200"  # 配置es服務(wù)器的ip,如果是集群則配置該集群中主節(jié)點(diǎn)的ip

logging.dest: /var/log/kibana.log  # 配置kibana的日志文件路徑,不然默認(rèn)是messages里記錄日志

3、啟動(dòng)kibana服務(wù)

systemctl start kibana && systemctl enable kibana

啟動(dòng)成功ss -tnl查看5601端口是否監(jiān)聽(tīng)

ELK日志分析平臺(tái)集群搭建

通過(guò)瀏覽器訪問(wèn)masterIP 192.168.133.128:5601可以查看web頁(yè)面。

ELK日志分析平臺(tái)集群搭建


四、node所有節(jié)點(diǎn)安裝logstash(當(dāng)前最新版本1:6.3.2-1)

1、node1和node2分別安裝

[root@node1 ~]# yum install -y logstash

[root@node2 ~]# yum install -y logstash

2、創(chuàng)建一個(gè)軟連接,每次執(zhí)行命令的時(shí)候不用在寫(xiě)安裝路徑(默認(rèn)安裝在/usr/share下)

ln -s /usr/share/logstash/bin/logstash /bin/

3、配置logstash收集syslog日志進(jìn)行測(cè)試

[root@node1 ~]# vim /etc/logstash/conf.d/syslog.conf  # 加入如下內(nèi)容

input {  # 定義日志源

  syslog {

    type => "system-syslog"  # 定義類(lèi)型

    port => 10514    # 定義監(jiān)聽(tīng)端口

  }

}

output {  # 定義日志輸出

  stdout {

    codec => rubydebug  # 將日志輸出到當(dāng)前的終端上顯示

  }

}

4、檢測(cè)配置文件是否有錯(cuò)

ogstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit

    --path.settings 用于指定logstash的配置文件所在的目錄

    -f 指定需要被檢測(cè)的配置文件的路徑

    --config.test_and_exit 指定檢測(cè)完之后就退出,不然就會(huì)直接啟動(dòng)了

或者運(yùn)行 logstash -e 'input { stdin { } } output { stdout {} }'

如果報(bào)錯(cuò):

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N

需要vim /etc/logstash/jvm.options 添加 -XX:ParallelGCThreads=1 ,原因是我的虛擬機(jī)只設(shè)置了單核CPU。

    -XX:ParallelGCThreads=n 默認(rèn)值:隨JVM運(yùn)行平臺(tái)不同而異 配置并行收集器的線程數(shù),即:同時(shí)多少個(gè)線程一起進(jìn)行垃圾回收。此值最好配置與處理器數(shù)目相等。

5、配置kibana服務(wù)器的ip以及配置的監(jiān)聽(tīng)端口:

vim /etc/rsyslog.conf

*.* @@node1:10514

6、指定配置文件,啟動(dòng)logstash:

logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf

7、然后在別的機(jī)器ssh登錄到這臺(tái)機(jī)器上,測(cè)試一下有沒(méi)有日志輸出:

ELK日志分析平臺(tái)集群搭建

8、配置logstash

a.配置讓收集的日志信息輸出到es服務(wù)器中

[root@node1 ~]# vim /etc/logstash/conf.d/syslog.conf # 更改為如下內(nèi)容

input {

  syslog {

    type => "system-syslog"

    port => 10514

  }

}

output {

  elasticsearch {

    hosts => ["master:9200"]  # 定義ES服務(wù)器的IP

    index => "system-syslog-%{+YYYY.MM}" # 定義索引

  }

}

b.更改目錄權(quán)限:

chown -R logstash:logstash /var/lib/logstash/

chown -R logstash:logstash /var/log/logstash/

c.配置logstash本地監(jiān)聽(tīng)I(yíng)P

vim /etc/logstash/logstash.yml

http.host: "node1"

d.檢測(cè)配置文件有沒(méi)有錯(cuò):

logstash --path.setings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit

如果沒(méi)有報(bào)錯(cuò),啟動(dòng)logstash

systemctl start logstash  && systemctl enable logstash


五、kibana上查看日志

1、kibana服務(wù)器上查看日志,執(zhí)行以下命令可以獲取索引信息:

ELK日志分析平臺(tái)集群搭建

2、獲取指定索引詳細(xì)信息:

curl -XGET 'master:9200/system-syslog-2018.03?pretty'

3、kibana頁(yè)面上配置索引:

瀏覽器直接輸入masterIP:5601,然后使用通配符,進(jìn)行批量匹配:

ELK日志分析平臺(tái)集群搭建

下一步

ELK日志分析平臺(tái)集群搭建

4、配置成功后點(diǎn)擊 “Discover” 就可以查看系統(tǒng)日志。

ELK日志分析平臺(tái)集群搭建

EFK日志管理搭建參考:

fluentd代替logstash搭建EFK日志管理系統(tǒng)

相關(guān)推薦:

fluentd對(duì)java(log4j2)日志多行匹配采集格式化

【騰訊云】云服務(wù)器、云數(shù)據(jù)庫(kù)、COS、CDN、短信等云產(chǎn)品特惠熱賣(mài)中

發(fā)表評(píng)論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: