溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ELK日志分析系統(tǒng)

發(fā)布時間:2020-07-18 15:19:20 來源:網(wǎng)絡 閱讀:178 作者:wx5d3a7feeb53cc 欄目:云計算

ELK日志分析系統(tǒng)

ELK日志分析系統(tǒng)簡介

日志服務器
  • 提高安全性
  • 集中存放日志
  • 缺陷
    • 對日志的分析困難
      ELK日志分析系統(tǒng)

收集數(shù)據(jù):LogstashAgent

建立索引:ElasticSearchCluster

數(shù)據(jù)可視乎:KilbanaServer

簡單的結(jié)果拓撲

ELK日志分析系統(tǒng)

ELK日志分析系統(tǒng)

  • Elasticsearch
    是實時全文搜索和分析引擎
  • Logstash
    是一個用來搜集、分析、過濾日志的工具
  • Kibana
    是一個基于Web的圖形界面,用于搜索、分析和可視化存儲在 Elasticsearch指標中的日志數(shù)據(jù)

    日志處理步驟

  • 將日志進行集中化管理
  • 將日志格式化( Logstash )并輸出到Elasticsearch
  • 對格式化后的數(shù)據(jù)進行索引和存儲( Elasticsearch )
  • 前端數(shù)據(jù)的展示( Kibana )

    2、Elasticsearch介紹

    1、Elasticsearch的概述
  • 提供了一個分布式多用戶能力的全文搜索引擎
    2、Elasticsearch的概念
  • 接近實時
  • 集群
  • 節(jié)點
  • 索引:
    • 索引(庫)-->類型(表)-->文檔(記錄)
  • 分片和副本

3、Logstash介紹

1、Logstash介紹
  • 一款強大的數(shù)據(jù)處理工具,可以實現(xiàn)數(shù)據(jù)傳輸、格式處理、格式化輸出
  • 數(shù)據(jù)輸入、數(shù)據(jù)加工(如過濾,改寫等)以及數(shù)據(jù)輸出
    2、LogStash主要組件
  • Shipper
  • Indexer
  • Broker
  • Search and Storage
  • Web Interface

    4、Kibana介紹

    1、Kibana介紹
  • 一個針對Elasticsearch的開源分析及可視化平臺
  • 搜索、查看存儲在Elasticsearch索引中的數(shù)據(jù)
  • 通過各種圖表進行高級數(shù)據(jù)分析及展示
    2、Kibana主要功能
  • Elasticsearch無縫之集成
  • 整合數(shù)據(jù),復雜數(shù)據(jù)分析
  • 讓更多團隊成員受益
  • 接口靈活,分享更容易
  • 配置簡單,可視化多數(shù)據(jù)源
  • 簡單數(shù)據(jù)導出

5、部署ELK日志分析系統(tǒng)

1、需求描述
  • 配置ELK日志分析群集
  • 使用Logstash收集日志
  • 使用Kibana查看分析日志
    2、設備列表
    主機 操作系統(tǒng) 主機名/IP地址 主要軟件
    服務器 CentOS7-x86 node1/192.168.45.128 Elasticsearch、kibana
    服務器 CentOS7-x86 node2/192.168.45.129 Elasticsearch
    服務器 CentOS7-x86 apache/192.168.45.133 Logstatsh
    3、實驗拓撲

    ELK日志分析系統(tǒng)

    4、準備安裝環(huán)境
  • 關(guān)閉防火墻和Selinux
  • Node1、Node2節(jié)點內(nèi)存分配4G,Apache節(jié)點分配1G內(nèi)存
  • 通過VMware虛擬網(wǎng)絡Vmnet8連接

    第一步:配置ES節(jié)點1服務器

1.關(guān)閉防火墻及安全功能

systemctl stop firewalld.service  
setenforce 0

2.修改主機名配置文件

vim /etc/hosts
192.168.142.152 node1
192.168.142.153 node2

3.遠程掛載資源包

mount.cifs //192.168.142.1/elk /mnt

4.安裝軟件包

cd /mnt
rpm -ivh elasticsearch-5.5.0.rpm

5.加載系統(tǒng)服務

systemctl daemon-reload

6.開機自啟動服務

systemctl enable elasticsearch.service

7.備份配置文件

cd /etc/elasticsearch/
cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.bak

8.修改elasticsearch主配置文件

vim /etc/elasticsearch/elasticsearch.yml

#第17行,取消注釋并修改集群名稱
cluster.name: my-elk-cluster

#第23行,取消注釋修改節(jié)點名字
node.name: node1

#第33行,取消注釋修改數(shù)據(jù)存放路徑
path.data: /data/elk_data

#第37行,取消注釋修改日志存放路徑
path.logs: /var/log/elasticsearch/

#第43行,取消注釋并修改,取消在不啟動時鎖定內(nèi)存
bootstrap.memory_lock: false

#第55行,取消注釋并修改地址,放入所有的地址(0.0.0.0代表所有地址)
network.host: 0.0.0.0

#第59行,取消注釋,放開服務端口
http.port: 9200

#第68行,取消注釋修改節(jié)點名稱
discovery.zen.ping.unicast.hosts: ["node1", "node2"]

9.創(chuàng)建數(shù)據(jù)庫存放路徑

mkdir -p /data/elk_data

10.授權(quán)數(shù)據(jù)庫存放路徑

chown elasticsearch:elasticsearch /data/elk_data/

11.開啟elasticsearch服務

systemctl start elasticsearch.service 

12.查看端口服務狀態(tài)

netstat -ntap | grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      96970/java     

13.安裝編譯環(huán)境

yum install gcc gcc-c++ make -y

14.解壓node節(jié)點軟件包

cd /mnt
tar zxvf node-v8.2.1.tar.gz -C /opt

15.配置node

cd /opt/node-v8.2.1/
./configure

16.編譯安裝

make && make install

第二步:安裝phantomjs前端框架

1.解壓phantomjs軟件包

cd /mnt
tar jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2 -C /usr/local/src 

2.切換目錄查看phantomjs命令

cd /usr/local/src/phantomjs-2.1.1-linux-x86_64//bin
ls
phantomjs

3.復制目錄到系統(tǒng)目錄

cp phantomjs /usr/local/bin/

第三步:安裝elasticsearch-head數(shù)據(jù)可視化工具

1.解壓elasticsearch-head軟件包

cd /mnt
tar zxvf elasticsearch-head.tar.gz -C /usr/local/src

2.安裝elasticsearch-head數(shù)據(jù)可視化工具
cd /usr/local/src/elasticsearch-head/
npm install

3.修改elasticsearch主配置文件

vim /etc/elasticsearch/elasticsearch.yml
#末行添加以下內(nèi)容
http.cors.enabled: true
http.cors.allow-origin: "*"

4.開啟elasticsearch服務

systemctl restart elasticsearch.service

5.啟動后臺運行

npm run start &

6.查看服務端口狀態(tài)

netstat -ntap | grep 9100

tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      50105/grunt         
[root@node1 elasticsearch-head]# netstat -ntap | grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      96970/java   

第四步:ES節(jié)點2服務器 與節(jié)點1的配置一樣,重復執(zhí)行上述操作即可!!!


第五步:使用瀏覽器輸入192.168.142.152:9100網(wǎng)址,并連接另一節(jié)點的地址,檢查群集健康狀態(tài)ELK日志分析系統(tǒng)ELK日志分析系統(tǒng)


第六步:創(chuàng)建索引

ELK日志分析系統(tǒng)回到概覽即可看到創(chuàng)建好的索引!
ELK日志分析系統(tǒng)

第七步:配置Apache服務器,安裝 logstash 搜集日志搜集

#安裝Apache服務
yum install -y httpd

#遠程掛載資源包
mount.cifs //192.168.142.1/elk /mnt

#切換到掛載點
cd /mnt

#安裝logstash
rpm -ivh logstash-5.5.1.rpm 

#開機自啟動logstash服務
systemctl enable logstash.service

#啟動logstash服務
systemctl start logstash.service

#建立命令軟鏈接到系統(tǒng)
ln -s /usr/share/logstash/bin/logstash /usr/local/bin

#切換日志目錄
cd /var/log

#授予他人讀取權(quán)限
chmod o+r messages 

#查看權(quán)限
ll

#切入logstash配置目錄
cd /etc/logstash/conf.d/

#編輯文件
vim system.conf

#寫入以下內(nèi)容,用以收集系統(tǒng)日志
input {
        file{
        path => "/var/log/messages"
        type => "system"
        start_position => "beginning"
        }
}
output {
        elasticsearch {
        #地址指向node1節(jié)點
        hosts => ["192.168.142.152:9200"]
        index => "system-%{+YYYY.MM.dd}"
        }
}

#重啟服務
systemctl restart logstash.service

第八步:查看收集到的日志信息

ELK日志分析系統(tǒng)ELK日志分析系統(tǒng)


第九步:回到node1節(jié)點安裝kibana

#切入掛載點
cd /mnt

#安裝kibana
rpm -ivh kibana-5.5.1-x86_64.rpm 

#切入kibana目錄
cd /etc/kibana/

#備份kibana.yml文件
cp kibana.yml kibana.yml.bak

#修改kibana.yml文件
vim kibana.yml

#取消第2行的注釋,放開5601端口
server.port: 5601

#取消第7行的注釋并修改地址,放入所有的地址(0.0.0.0代表所有地址)
server.host: "0.0.0.0"

#取消第21行的注釋并指向node1節(jié)點的url
elasticsearch.url: "http://192.168.142.152:9200"

#取消第30行注釋,放開kibana首頁
kibana.index: ".kibana"

#啟動kibana服務
systemctl start kibana.service

第十步:測試kibana展現(xiàn)日志數(shù)據(jù),使用瀏覽器訪問192.168.142.152:5601

ELK日志分析系統(tǒng)
ELK日志分析系統(tǒng)


第十一步:對接Apache主機的所有Apache日志文件(在Apache服務器上操作)

#編輯Apache日志配置文件
vim apache_log.conf

input {
        file{
        path => "/etc/httpd/logs/access_log"
        type => "access"
        start_position => "beginning"
        }
        file{
        path => "/etc/httpd/logs/error_log"
        type => "error"
        start_position => "beginning"
        }
}
output {
        if [type] == "access" {
        elasticsearch {
        hosts => ["192.168.142.152:9200"]
        index => "apache_access-%{+YYYY.MM.dd}"
        }
    }   
        if [type] == "error" {
        elasticsearch {
        hosts => ["192.168.142.152:9200"]
        index => "apache_error-%{+YYYY.MM.dd}"
        }
    }
}

#重啟服務,稍等片刻!
logstash -f apache_log.conf

第十二步:測試Apache日志信息展現(xiàn)

ELK日志分析系統(tǒng)ELK日志分析系統(tǒng)
ELK日志分析系統(tǒng)ELK日志分析系統(tǒng)

以上就是ELK日志分析系統(tǒng)的全部內(nèi)容了,謝謝閱讀!!!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI