成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

搭建ELK日志分析系統(tǒng)詳解

日志分析是我們運(yùn)維解決系統(tǒng)故障、發(fā)現(xiàn)問(wèn)題的主要手段。為了可以集中管理多臺(tái)服務(wù)器的日志記錄,開(kāi)源實(shí)時(shí)日志分析ELK平臺(tái)應(yīng)用而生,ELK由Elasticsearch、Logstash和Kibana三個(gè)開(kāi)源工具組成,這三個(gè)工具可以分別部署在不同的服務(wù)器上,并且相互關(guān)聯(lián),不過(guò)需要收集哪臺(tái)服務(wù)器的日志,就必須在該服務(wù)器上部署Logstash。ELK的官網(wǎng)是:https://www.elastic.co/cn/
.

卓資ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話(huà)聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!

ELK的工作原理如下(懂得其中原理,才可部署一個(gè)高可用的ELK平臺(tái)):
Logstash收集APPServer(應(yīng)用服務(wù)器)產(chǎn)生的log,并存放到Elasticsearch群集中,而Kibana則從Elasticsearch群集中查詢(xún)數(shù)據(jù)生成圖表,在返回給browser(瀏覽器)。簡(jiǎn)單來(lái)說(shuō),進(jìn)行日志處理分析,一般需要以下幾個(gè)步驟:

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

搭建ELK平臺(tái):

一、準(zhǔn)備工作:
搭建ELK日志分析系統(tǒng)詳解

1、Node1、Node2節(jié)點(diǎn)內(nèi)存最少分配4G,Apache節(jié)點(diǎn)無(wú)所謂。
2、下載所需軟件包:https://pan.baidu.com/s/1aP7GDiRBdXzCZBbgiP1fAw
提取碼:spuh
復(fù)制這段內(nèi)容后打開(kāi)百度網(wǎng)盤(pán)手機(jī)App,操作更方便哦三臺(tái)服務(wù)器都要掛載我提供的.iso文件。
3、修改節(jié)點(diǎn)服務(wù)器名稱(chēng),并通過(guò)本地/etc/hosts配置域名解析,檢查Java環(huán)境,必須是Java 1.8或更高的版本
4、放行防火墻相關(guān)端口的流量,為了方便我直接關(guān)閉了防火墻。
5、所有服務(wù)器的時(shí)間最好同步,可以搭建時(shí)間同步服務(wù)器,也可手動(dòng)同步。
node1節(jié)點(diǎn)配置:

[root@node1 /]# hostname                       # 修改主機(jī)名
node1
[root@node1 /]# vim /etc/hosts               # 配置解析文件,添加如下兩行
............................
192.168.1.10    node1
192.168.1.20    node2
[root@node1 /]# java -version              # 檢查Java環(huán)境
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

node2節(jié)點(diǎn)配置(跟node1基本相似):

[root@node2 /]# hostname           # 修改主機(jī)名
node2
[root@node2 /]# vim /etc/hosts           # 編寫(xiě)解析配置文件
..............................
192.168.1.10    node1                  # 添加
192.168.1.20    node2                  # 添加
[root@node2 /]# java -version             # 檢查Java環(huán)境
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)

二、安裝Elasticsearch:
1、node1配置:

[root@node1 /]# mount /dev/sr0 /media/             # 掛載elk軟件包
[root@node1 /]# cd /media/
[root@node1 media]# cp * /usr/src/            # 復(fù)制所有文件
[root@node1 media]# cd /usr/src/
[root@node1 src]# rpm -ivh elasticsearch-5.5.0.rpm           # 安裝
[root@node1 src]# systemctl daemon-reload 
[root@node1 src]# systemctl enable elasticsearch.service 
[root@node1 /]# vim /etc/elasticsearch/elasticsearch.yml   #修改主配置文件
#修改如下,注意刪除注釋符號(hào)
cluster.name: my-elk-cluster                #群集名字
node.name: node1                              #節(jié)點(diǎn)名字
path.data: /data/elk_data                     #數(shù)據(jù)存放路徑
path.logs: /var/log/elasticsearch/         #日志存放路徑
bootstrap.memory_lock: false             #在啟動(dòng)的時(shí)候不鎖定內(nèi)存
network.host: 0.0.0.0                          #提供服務(wù)綁定的IP地址,0.0.0.0代表所有地址
http.port: 9200                                      #偵聽(tīng)端口
discovery.zen.ping.unicast.hosts: ["node1", "node2"]             #群集發(fā)現(xiàn)通過(guò)單播實(shí)現(xiàn)
[root@node1 /]# mkdir -p /data/elk_data             #創(chuàng)建數(shù)據(jù)存放目錄    
[root@node1 /]# chown elasticsearch:elasticsearch            #更改屬主及屬組 /data/elk_data/
[root@node1 /]# systemctl start elasticsearch.service            # qi'do啟動(dòng)服務(wù)
[root@node1 /]# netstat -anpt | grep 9200        #端口號(hào)不會(huì)立馬看到,啟動(dòng)服務(wù)后再等待十秒左右才可查看到     
tcp6       0      0 :::9200                 :::*                    LISTEN      3992/java           

2、node2配置:

[root@node2 /]# mount /dev/sr0 /media/          # 掛載elk軟件包
[root@node2 /]# cd /media/
[root@node2 media]# cp * /usr/src/
[root@node2 /]# cd /usr/src/
[root@node2 src]# rpm -ivh elasticsearch-5.5.0.rpm           # 安裝
[root@node2 src]# systemctl daemon-reload 
[root@node2 src]# systemctl enable elasticsearch.service 
[root@node2 /]# scp root@192.168.1.10:/etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/               # 將node1配置文件復(fù)制過(guò)來(lái)
The authenticity of host '192.168.1.10 (192.168.1.10)' can't be established.
ECDSA key fingerprint is 68:df:0f:ac:c7:75:df:02:88:7d:36:6a:1a:ae:27:23.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.10' (ECDSA) to the list of known hosts.
root@192.168.1.10's password:          # 輸入密碼
elasticsearch.yml                                    100% 2853     2.8KB/s   00:00    
[root@node2 /]# vim /etc/elasticsearch/elasticsearch.yml           #稍作修改
node.name: node2                #就更改一下節(jié)點(diǎn)名稱(chēng)即可,其余不變
[root@node2 /]# mkdir -p /data/elk_data                # 創(chuàng)建數(shù)據(jù)存放目錄
[root@node2 /]# chown elasticsearch:elasticsearch  /data/elk_data/               # 設(shè)置屬主屬組
[root@node2 /]# systemctl start elasticsearch.service 
[root@node2 /]# netstat -anpt | grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      4074/java

3、查看節(jié)點(diǎn)信息:
node1:
搭建ELK日志分析系統(tǒng)詳解
node2:
搭建ELK日志分析系統(tǒng)詳解
訪問(wèn)http://192.168.1.10:9200/_cluster/health?pretty 查看群集的健康狀態(tài):
搭建ELK日志分析系統(tǒng)詳解
訪問(wèn)http://192.168.1.10:9200/_cluster/state?pretty 查看群集的狀態(tài)信息:
搭建ELK日志分析系統(tǒng)詳解
通過(guò)以上方式查看群集狀體對(duì)我們顯示的并不友好,可以通過(guò)安裝Elasticsearch-head插件,可以更方便的管理群集:
.
在node1安裝Elasticsearch-head插件(需要提前安裝node和phantomjs):

[root@node1 /]# cd /usr/src/
[root@node1 src]# tar zxf node-v8.2.1.tar.gz             # 解壓node源碼包
[root@node1 src]# cd node-v8.2.1/
[root@node1 node-v8.2.1]# ./configure && make && make install 
#安裝,時(shí)間較長(zhǎng),約需40分鐘左右
[root@node1 src]# tar jxf  phantomjs-2.1.1-linux-x86_64.tar.bz2 
[root@node1 src]# cd phantomjs-2.1.1-linux-x86_64/bin/
[root@node1 bin]# cp phantomjs /usr/local/bin/            #復(fù)制該文件到指定目錄
[root@node1 src]# tar zxf elasticsearch-head.tar.gz 
[root@node1 src]# cd elasticsearch-head/
[root@node1 elasticsearch-head]# npm install             # 安裝依賴(lài)包
[root@node1 elasticsearch-head]# vim /etc/elasticsearch/elasticsearch.yml                 
#編輯主配置文件,在任意位置添加如下兩行:
http.cors.enabled: true                #添加該行,開(kāi)啟跨域訪問(wèn)支持
http.cors.allow-origin: "*"             #添加該行,跨域訪問(wèn)允許的域名地址
[root@node1 elasticsearch-head]# systemctl restart elasticsearch.service               # 重啟服務(wù)使配置生效
[root@node1 elasticsearch-head]# npm run start &        
#設(shè)置服務(wù)后臺(tái)啟動(dòng),如果前臺(tái)啟動(dòng),一旦關(guān)閉中斷,服務(wù)也將關(guān)閉。
#并且啟動(dòng)服務(wù)時(shí),必須在解壓后的elasticsearch-head下啟動(dòng)服務(wù),
#進(jìn)程會(huì)讀取該目錄下的一個(gè)文件,否則可能啟動(dòng)失敗。
[root@node1 /]# netstat -anpt | grep 9100
tcp        0      0 0.0.0.0:9100            0.0.0.0:*               LISTEN      49967/grunt         
[root@node1 /]# netstat -anpt | grep 9200
tcp6       0      0 :::9200                 :::*                    LISTEN      49874/java          

通過(guò)瀏覽器訪問(wèn)http://192.168.1.10:9100 來(lái)查看群集信息:
搭建ELK日志分析系統(tǒng)詳解
4、安裝Kibana(可單獨(dú)安裝在一臺(tái)服務(wù)器上,本人囊中羞澀、資源有限,所以安裝在了node1上):

[root@node1 /]# cd /usr/src/
[root@node1 src]# rpm -ivh kibana-5.5.1-x86_64.rpm 
[root@node1 src]# systemctl enable kibana.service 
[root@node1 src]# vim /etc/kibana/kibana.yml 
........................              // 省略部分內(nèi)容
server.port: 5601          #Kibana打開(kāi)的端口
server.host: "0.0.0.0"               #Kibana偵聽(tīng)的地址,0.0.0.0代表該主機(jī)上的所有地址
elasticsearch.url: "http://192.168.1.10:9200"                   #和Elasticsearch建立連接
kibana.index: ".kibana"                      #在Elasticsearch中添加.kibana索引
[root@node1 src]# systemctl start kibana.service 

5、配置apache服務(wù)器(自行搭建網(wǎng)站):

[root@Web ~]# systemctl start httpd         #啟動(dòng)httpd服務(wù)
[root@Web ~]# java -version                  #檢查Java環(huán)境是否為1.8
openjdk version "1.8.0_102"
OpenJDK Runtime Environment (build 1.8.0_102-b14)
OpenJDK 64-Bit Server VM (build 25.102-b14, mixed mode)
[root@Web ~]# mount /dev/cdrom /media           #掛載我提供的.iso文件
mount: /dev/sr0 寫(xiě)保護(hù),將以只讀方式掛載
[root@Web ~]# cd /media
[root@Web media]# rpm -ivh logstash-5.5.1.rpm                #安裝logstash
[root@Web media]# systemctl daemon-reload  
[root@Web media]# systemctl enable logstash.service         #設(shè)置開(kāi)機(jī)自啟動(dòng)
[root@Web media]# cd /etc/logstash/conf.d/               #切換至指定路徑
[root@Web conf.d]# vim apache_log.conf        #編輯采集apache日志文件和系統(tǒng)日志
#以下就以系統(tǒng)日志為例做解釋?zhuān)溆嗟恼罩鴣?lái)就行,格式都差不多
input {
      file{
        path => "/var/log/messages"             #指定要收集的日志文件
  type => "system"  #指定類(lèi)型為system,可以自定義,type值和output{ } 中的type對(duì)應(yīng)即可
        start_position => "beginning"       #從開(kāi)始處收集
        }
      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] == "system" {           #如果type為system,
           elasticsearch {                  #就輸出到Elasticsearch服務(wù)器
             hosts => ["192.168.1.10:9200"]               #Elasticsearch監(jiān)聽(tīng)地址及端口
             index => "system-%{+YYYY.MM.dd}"           #指定索引格式
                }
             }
        if [type] == "access" {
  elasticsearch {
             hosts => ["192.168.1.10:9200"]
             index => "apache_access-%{+YYYY.MM.dd}"
               }
             } 
        if [type] == "error" {
          elasticsearch {
             hosts => ["192.168.1.10:9200"]
             index => "apache_error-%{+YYYY.MM.dd}"
             }
          }  
        } 
#寫(xiě)完保存退出即可。
[root@Web ~]# chmod o+r /var/log/messages           #賦予該目錄其他人的讀權(quán)限        
[root@Web conf.d]# ln -s /usr/share/logstash/bin/logstash /usr/local/bin/ 
#創(chuàng)建命令軟連接
[root@Web conf.d]# systemctl start logstash             #啟動(dòng)服務(wù)
[root@Web conf.d]# logstash -f apache_log.conf &    
#指定剛才編寫(xiě)文件為L(zhǎng)ogstash的配置文件,并且在后臺(tái)運(yùn)行

6、創(chuàng)建索引:
1、通過(guò)瀏覽器訪問(wèn) http://192.168.1.10:9100 查看索引是否創(chuàng)建:
搭建ELK日志分析系統(tǒng)詳解
關(guān)于索引,有幾個(gè)很重要的概念:

  • 索引:類(lèi)似于關(guān)系數(shù)據(jù)庫(kù)中的“庫(kù)”;
  • Type(編寫(xiě)Logstash時(shí)指定的type):類(lèi)似于關(guān)系數(shù)據(jù)庫(kù)中的“表”;

剛才創(chuàng)建的索引,在我標(biāo)記紅框中,可以看到node1和node2對(duì)應(yīng)的位置,都有綠色背景的0、1、2、3、4、5表示是該索引被分為了5個(gè)分片,其中因?yàn)樵贚ogstash中指定的Elasticsearch服務(wù)器是node1,所以node1的分片是主分片,node2會(huì)自動(dòng)同步node1的分片,node2的分片為備份分片,稱(chēng)為副本,用來(lái)提供數(shù)據(jù)冗余及負(fù)載分擔(dān)。默認(rèn)情況下,Elasticsearch自動(dòng)對(duì)索引請(qǐng)求進(jìn)行負(fù)載分擔(dān)。

.
現(xiàn)在訪問(wèn)http://192.168.1.10:5601 登錄到Kibana,添加索引:
搭建ELK日志分析系統(tǒng)詳解
搭建ELK日志分析系統(tǒng)詳解
搭建ELK日志分析系統(tǒng)詳解
搭建ELK日志分析系統(tǒng)詳解
關(guān)于apache的錯(cuò)誤日志索引,自行添加即可,添加完畢后,單擊“discover”即可,在下面的下拉列表選擇一個(gè)索引,如apache_access-,可以查看相應(yīng)的圖表及日志信息:
搭建ELK日志分析系統(tǒng)詳解

名稱(chēng)欄目:搭建ELK日志分析系統(tǒng)詳解
本文來(lái)源:http://jinyejixie.com/article16/podjgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、企業(yè)建站、云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計(jì)、建站公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
宣恩县| 镇巴县| 黑水县| 冷水江市| 梨树县| 乌审旗| 德州市| 句容市| 谢通门县| 桐梓县| 兰溪市| 长治市| 电白县| 喀喇沁旗| 旺苍县| 历史| 固始县| 兴隆县| 原阳县| 丹棱县| 宜君县| 甘谷县| 麻江县| 阿荣旗| 廊坊市| 丰宁| 芮城县| 广宗县| 乌拉特后旗| 沙坪坝区| 淮北市| 台南市| 丘北县| 遂川县| 额尔古纳市| 读书| 洛隆县| 定南县| 龙井市| 沙河市| 恩平市|