ELK 企業內部日誌分析系統 項目實戰14—ELK 企業內部日誌分析系統

項目實戰14—ELK 企業內部日誌分析系統html

 
 

1、els、elk 的介紹

一、els,elk

els:ElasticSearch,Logstash,Kibana,Beats前端

elk:ElasticSearch,Logstash,Kibanajava

① ElasticSearch 搜索引擎node

  ElasticSearch 是一個基於Lucene的搜索引擎,提供索引,搜索功能。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java開發的,並做爲Apache許可條款下的開放源碼發佈,是當前流行的企業級搜索引擎。設計用於雲計算中,可以達到實時搜索,穩定,可靠,快速,安裝使用方便mysql

② Logstash 接收,處理,轉發日誌的工具linux

  Logstash 是一個開源的服務器端數據處理流水線,它能夠同時從多個數據源獲取數據,並將其轉換爲最喜歡的"存儲"(Ours is Elasticsearch, naturally.)git

③ Beats:採集日誌信息(加上beats 就是els),GO開發的,因此高效、很快github

  Filebeat:Log Filesweb

  Metricbeat:Metricsredis

  Packetbeat:Network Data

  Winlogbeat:Windows Event Logs

  Heartbeat:Uptime Monitoring

④ Kibana:獨立的、美觀的圖形數據展現界面

  Kibana 讓你可視化你的Elasticsearch數據並導航Elastic Stack,因此你能夠作任何事情,從凌晨2:00分析爲何你獲得分頁,瞭解雨水可能對你的季度數字形成的影響。

 

二、實驗前準備

實驗所須要的包(我用的是5.5.1版本),都放在個人網盤裏了,須要的私聊 https://pan.baidu.com/s/1c2An0Co

① 環境準備

機器名稱

IP配置

服務角色

els

192.168.1.101(私)

192.168.10.101(公)

elasticsearch(搜索引擎)

logstash

192.168.1.102(私)

192.168.10.102(公)

logstash(日誌處理)

redis(緩衝隊列)

filebeat

 

192.168.1.103(私)

192.168.10.103(公)

filebeat(日誌收集)

httpd/mysql(生成日誌)

kibana

192.168.1.104(私)

192.168.10.104(公)

kibana(展現界面)

② 修改主機名、hosts文件,確保節點直接能經過主機名連通

[root@els ~]# hostnamectl set-hostname els.along.com

[root@logstash ~]# hostnamectl set-hostname logstash.along.com

[root@filebeat ~]# hostnamectl set-hostname filebeat.along.com

[root@kibana ~]# hostnamectl set-hostname kibana.along.com

centos7 修改主機名:

[root@els ~]# hostnamectl set-hostname 主機名

 

③ 修改hosts

[root@els ~]# vim /etc/hosts

192.168.1.101 els.along.com

192.168.1.102 logstash.along.com

192.168.1.103 filebeat.along.com

192.168.1.104 kibana.along.com

互相測試

[root@els ~]# ping filebeat.along.com

 

④ 關閉防火牆、selinux

[root@els ~]# iptables -F

[root@els ~]# setenforce 0

 

⑤ 同步時間

[root@els ~]# systemctl restart chronyd

 

2、安裝搭建elasticsearch 和head 插件

一、安裝elasticsearch

  Elasticsearch 是一個分佈式的 RESTful 風格的搜索和數據分析引擎,可以解決不斷涌現出的各類用例。做爲 Elastic Stack 的核心,它集中存儲您的數據,幫助您發現意料之中以及意料以外的狀況

(1)官網下載,各類版本

https://www.elastic.co

 

(2)安裝java 環境

安裝JDK,至少1.8 以上的版本

由於是java 語言編寫的,需安裝JDK

[root@els ~]# yum install java-1.8.0-openjdk-devel -y

 

(3)安裝els

在網上找本身須要的版本,我下好了5.5.1 版本,在網盤裏

[root@els ~]# rpm -ivh elasticsearch-5.5.1.rpm

 

二、配置elasticsearch

(1)修改JVM 的配置

[root@els ~]# vim /etc/elasticsearch/jvm.options 修改分配的空間大小

-Xms1g #初始化大小

-Xmx1g #最大大小

注意:不要超過32G,若是空間大,多跑幾個實例,不要讓一個實例太大內存

生產環境,建議都給32;爲了實驗方便,我直接改爲了1g

 

(2)配置els

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

cluster.name: alongels    #集羣名字
node.name: els   #節點名
path.data: /els/data   #索引路徑
path.logs: /els/logs    #日誌存儲路徑
network.host: 192.168.10.101   #對外通訊的地址,依次修改成本身機器對外的IP
#http.port: 9200    #默認端口

 

(3)建立出所需的路徑,並修改權限

[root@els ~]# mkdir -pv /els/{data,logs} && chown -R elasticsearch.elasticsearch /els/*

 

(4)開啓服務

[root@els ~]# systemctl start elasticsearch.service

 

(5)測試elasticsearch

① 開啓服務,會打開9200 端口

② [root@els ~]# curl 192.168.10.101:9200

 

三、搭建elasticsearch 集羣(本身選擇)

我因機器缺乏,因此沒有作集羣;若機器夠用,建議作集羣

(1)配置els

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

複製代碼
cluster.name: alongels    #集羣名字
node.name: els   #節點名,依次修改成els2,els3
path.data: /els/data   #索引路徑
path.logs: /els/logs    #日誌存儲路徑
network.host: 192.168.10.101   #對外通訊的地址,依次修改成本身機器對外的IP
#http.port: 9200    #默認端口
discovery.zen.ping.unicast.hosts: ["els", "els2","els3"]   #發現方式,採用單播
discovery.zen.minimum_master_nodes: 2   #數量要大於集羣中節點的半數
複製代碼

 

(2)建立出所需的路徑,並修改權限

[root@els ~]# mkdir -pv /els/{data,logs} && chown -R elasticsearch.elasticsearch /els/*

[root@els2 ~]# mkdir -pv /els/{data,logs} && chown -R elasticsearch.elasticsearch /els/*

[root@els3 ~]# mkdir -pv /els/{data,logs} && chown -R elasticsearch.elasticsearch /els/*

 

(3)開啓3個節點的服務

[root@els3 ~]# systemctl start elasticsearch.service

 

四、安裝elasticsearch 的head插件(Web前端)

https://github.com/mobz/elasticsearch-head 這裏有github上的詳細步驟

(1)安裝head 插件

① 下載git 環境

[root@els ~]$ cd /usr/local/

[root@els local]$ yum -y install git

 

② git 克隆

[root@els local]$ git clone git://github.com/mobz/elasticsearch-head.git

[root@els local]$ cd elasticsearch-head/

 

③ 安裝npm 包

[root@els elasticsearch-head]$ yum -y install npm

 

④ 安裝npm 的各類模塊

[root@els elasticsearch-head]$ npm install

注意:需連網,安裝需一段時間

 

⑤ 中間會出錯,提示解壓一個包失敗,手動解開就好

Error: Command failed: tar jxf /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2

解決辦法:

bunzip2 /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2

tar -xvf /tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar

再次執行[root@els elasticsearch-head]$ npm install

成功

 

(2)再次修改配置文件,在最後加一個配置段

[root@els ~]$ vim /etc/elasticsearch/elasticsearch.yml

# ------------------------ Enable CORS in elasticsearch -------------------------
http.cors.enabled: true
http.cors.allow-origin: "*"      #授全部權限

 

(3)運行head

① 重啓elasticsearch 服務,打開了9100 端口

[root@els ~]$ service elasticsearch restart

 

② 啓動head

[root@els ~]# cd /usr/local/elasticsearch-head/

[root@els elasticsearch-head]# npm run start 前端運行

[root@els elasticsearch-head]# nohup npm run start & 後臺運行

[root@els elasticsearch-head]# jobs 查看後臺運行的任務

[1]+ Running nohup npm run start &

 

五、測試elasticsearch-head

網頁訪問http://192.168.1.101:9100/

 

六、elasticsearch-head 的全功能文本搜索引擎庫:lucene

https://lucene.apache.org/core/ 下載地址

  Apache Lucene 是一個徹底用Java編寫的高性能,全功能的文本搜索引擎庫。它幾乎適用於任何須要全文搜索的應用程序,特別是跨平臺的應用程序。

有經典的查詢分析器語法結構,根據本身須要安裝。

  

3、安裝介紹logstash

一、介紹

(1)定義

查看官方文檔 https://www.elastic.co/cn/products/logstash

① 官方介紹:Logstash is an open source data collection engine with real-time pipelining capabilities。簡單來講logstash就是一根具有實時數據傳輸能力的管道,負責將數據信息從管道的輸入端傳輸到管道的輸出端;與此同時這根管道還可讓你根據本身的需求在中間加上濾網,Logstash提供裏不少功能強大的濾網以知足你的各類應用場景。

 

② Logstash的事件(logstash將數據流中等每一條數據稱之爲一個event)處理流水線有三個主要角色完成:inputs –> filters –> outputs:

  • inpust:必須,負責產生事件(Inputs generate events),經常使用:File、syslog、redis、beats(如:Filebeats)
  • filters:可選,負責數據處理與轉換(filters modify them),經常使用:grok、mutate、drop、clone、geoip
  • outpus:必須,負責數據輸出(outputs ship them elsewhere),經常使用:elasticsearch、file、graphite、statsd

 

(2)有本身的搜索模式,事先定義好的

所謂的搜索模式就是像變量同樣,把用的較多的事先定義好,便於屢次引用

[root@centos7-1 conf.d]# rpm -ql logstash |grep pattern

[root@centos7-1 conf.d]# less /usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-4.1.1/patterns/grok-patterns

/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-patterns-core-4.1.1/patterns

例如:httpd 的搜索模式

 

(3)文檔,有較詳細的用法介紹

選擇對應版本

① input

② filter

③ output

 

二、下載安裝

① 去官網下載對應版本的logstash ,我下載的是5.5.1版本

https://www.elastic.co/cn/downloads/logstash

[root@centos7-1 els]# rpm -ivh logstash-5.5.1.rpm

 

② 修改環境變量,能夠直接使用logstash 命令

[root@centos7-1 els]# vim /etc/profile.d/logstash.sh

export PATH=$PATH:/usr/share/logstash/bin/

[root@centos7-1 els]# . /etc/profile.d/logstash.sh

 

4、logstash 演示用法

進入自配置文件的目錄

[root@centos7-1 logstash]# cd /etc/logstash/conf.d/

 

一、示例1:標準輸入輸出

input => 標準輸入

filter => 無

output => 標準輸出

① 編輯配置文件

[root@centos7-1 conf.d]# vim test.conf

複製代碼
input {
        stdin {}
}

output {
        stdout {
                codec => rubydebug
        }
} 
複製代碼

② -t 測試語法,這個命令級慢

[root@centos7-1 conf.d]# logstash -f ./test.conf -t

 

③ 執行

[root@centos7-1 conf.d]# logstash -f ./test.conf

 

二、示例2:從文件輸入數據,經grok 拆分插件過濾以後輸出至標準輸出

input => 文件輸入

filter => grok、date 模塊

  grok:拆分字段

  date:修改時間格式

output => 標準輸出

 

(1)事前準備,生成日誌

① 下載開啓httpd 服務

[root@centos7-1 ~]# yum install httpd

[root@centos7-1 ~]# systemctl start httpd

 

② 生成一個主頁

[root@centos7-1 ~]# vim /var/www/html/index.html

Home Page

 

③ 生成20個測試頁面

[root@centos7-1 ~]# for i in {1..20}; do echo "Test Page ${i}" > /var/www/html/test${i}.html; done

 

④ 測試頁面正常訪問

 

⑤ 循環生成httpd 日誌

[root@centos7-1 ~]# for i in {1..200}; do j=$[$RANDOM%20+1]; curl http://192.168.1.102:80/test${j}.html; done

 

(2)編輯配置文件

[root@centos7-1 conf.d]# vim test2.conf

複製代碼
input {
        file {
              path => ["/etc/httpd/logs/access_log"]
              start_position => "beginning"
}

filter {
    grok {    #拆分message 字段
         match => {      #指定匹配哪一個字段
             "message" => "%{COMBINEDAPACHELOG}"   #引用定義好的搜索模式
         }
              remove_field => "message"    #刪除message 字段
    }
    date {    #改變時間格式
              match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]
              remove_field => "timestamp"    #刪除原有的時間字段
    }
}

output {
        stdout {
                codec => rubydebug
        }
}
複製代碼

 

(3)執行

[root@centos7-1 conf.d]# logstash -f test2.conf -t

[root@centos7-1 conf.d]# logstash -f test2.conf

 

三、示例3:filter 的date、mutate 插件

input => 標準輸入

filter => date、mutate 模塊

  mutate:修改字段

output => 標準輸出

① 編輯配置文件,因爲input、output仍是標準輸入輸出,就沒有貼出

[root@centos7-1 conf.d]# vim test3.conf

複製代碼
filter {
        grok {
                match => {
                "message" => "%{HTTPD_COMBINEDLOG}"
        }
}
        date {
                match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]
        }
        mutate {
                rename => {
                        "agent" => "user_agent"
                }
        }
} 
複製代碼

② 執行

[root@centos7-1 conf.d]# logstash -f test3.conf -t

[root@centos7-1 conf.d]# logstash -f test3.conf

 

四、示例4:filter 的geoip 模塊

input => 標準輸入

filter => geoip 模塊

  geoip:利用這個模塊解析ip的地址,利於後邊kibana 的地理位置展現圖

output => 標準輸出

(1)準備ip 數據庫

  網上下載數據庫,由於是記錄世界的IP 地址,因此常常有變更,能夠寫一個計劃任務,每隔一週去網上下載一次,解包,連接到maxmind 下

[root@centos7-1]# tar -xvf GeoLite2-City.tar.gz

[root@centos7-1]# mv GeoLite2-City_20170704/ /etc/logstash/

[root@centos7-1 logstash]# mv GeoLite2-City_20170704/ maxmind

 

(2)模擬一個公網ip 訪問

[root@centos7-1 ~]# echo '112.168.1.102 - - [08/Feb/2018:15:28:53 +0800] "GET /test6.html HTTP/1.1" 200 12 "-" "curl/7.29.0"' >> /var/log/httpd/access_log

 

(3)執行

① 編輯配置文件,因爲input、output仍是標準輸入輸出,就沒有貼出

[root@centos7-1 conf.d]# vim tes4.conf

複製代碼
filter {
        grok {
                match => {
                "message" => "%{HTTPD_COMBINEDLOG}"
        }
}
        geoip {
                source => "clientip"   #哪一個源ip 字段,轉換爲地理位置
                target => "geoip"   #目標信息存儲時的健名
                database => "/etc/logstash/maxmind/GeoLite2-City.mmdb"    #數據庫路徑
        }
}
複製代碼

 

② 執行

[root@centos7-1 conf.d]# logstash -f test4.conf -t

[root@centos7-1 conf.d]# logstash -f test4.conf

 

③ 若是是內網地址,會顯示失敗

[root@centos7-1 ~]# echo '192.168.1.102 - - [08/Feb/2018:15:28:53 +0800] "GET /test6.html HTTP/1.1" 200 12 "-" "curl/7.29.0"' >> /var/log/httpd/access_log

 

五、示例5:output 輸出給elasticsearch

input => 來自httpd 的訪問日誌

filter => geoip 模塊

output => 輸出給elasticsearch

(1)執行

① 編輯配置文件

[root@centos7-1 conf.d]# vim test5.conf

複製代碼
input {
        file {
                path => ["/var/log/httpd/access_log"]
                start_position => "beginning"
        }
}

filter {
        grok {
                match => {
                "message" => "%{HTTPD_COMBINEDLOG}"
        }
}
        geoip {
                source => "clientip"
                target => "geoip"
                database => "/etc/logstash/maxmind/GeoLite2-City.mmdb"
        }
}

output {
        elasticsearch {  
                hosts => ["http://192.168.10.101:9200/"]   #主機
                index => "logstash-%{+YYYY.MM.dd}"   #索引
                document_type => "apache_logs"    #文檔類型標識,本身定義
        }
}  
複製代碼

② 執行

logstash -f test5.conf

 

(2)驗證

① 網頁登陸到elasticsearch,能夠查看到

② 搜索查詢的演示

(a)基於2個字段CN 的搜索

(b)響應碼前綴搜索

(c)範圍搜索

 

六、示例6:output 輸出給redis

input => 來自httpd 的訪問日誌

filter => geoip 模塊

output => 輸出給redis

 

(1)準備redis 服務

[root@logstash]# vim /etc/redis.conf

bind 0.0.0.0   #監聽全部端口

requirepass ilinux.io   #加密碼,爲了安全運行

其餘一些優化配置:

① 只作隊列,不必持久存儲,性能更好

② 把內存的淘汰策略關掉

③ 把內存空間最大,調大一點

④ 把全部持久化功能關掉:AOF 快照

 

開啓redis

[root@centos7-1 conf.d]# systemctl start redis   打開6379 端口

 

(2)運行logstash

① 配置文件

[root@centos7-1 conf.d]# vim test6.conf

複製代碼
output {
        redis {
                batch => true    #批量寫入
                host => "192.168.10.102"   #主機
                password => "ilinux.io"   #密碼
                port => 6379  #端口
                #db => 0     #默認就是0號庫
                data_type => "list"   #數據格式,列表
                key => "apachelogs"   #本身定義的鍵
        }       
}
複製代碼

②  [root@logstash]# logstash -f test6.conf

 

(3)測試

[root@centos7-1 ~]# redis-cli -a ilinux.io

127.0.0.1:6379> KEYS *

127.0.0.1:6379> LLEN apachelogs

127.0.0.1:6379> LINDEX apachelogs 1

 

(4)注:logstash 開啓的方法:

① logstash 指令指定配置文件啓動

logstash -f test.conf

② systemctl start logstash  命令啓動

此命令啓動,要確保/etc/logstash/conf.d 目錄下沒有其餘多餘的配置文件。

 

5、Beats 輕量型數據採集器

Beats 平臺集合了多種單一用途數據採集器。這些採集器安裝後可用做輕量型代理,從成百上千或成千上萬臺機器向 Logstash 或 Elasticsearch 發送數據。

一、下載

去官網下載對應版本

[root@centos7-1 ~]# rpm -ivh filebeat-5.5.1-x86_64.rpm

 

二、示例1:配置filebeats,目標elasticsearch

源 => 本機httpd 的日誌

目標 => 直接給elasticsearch

(1)配置文件

[root@filebeat ~]# vim /etc/filebeat/filebeat.yml

複製代碼
#================= Filebeat prospectors =====================
filebeat.prospectors:
  paths:
    - /var/log/httpd/*log

#exclude_lines: ["^DBG"]    黑名單
#include_lines: ["^ERR", "^WARN"]   白名單

#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
  # Array of hosts to connect to.
  hosts: ["192.168.10.101:9200"]    #主機和端口
  #protocol: "https"     #若是是https
  #username: "elastic"    #用戶,若是elasticsearch設置的有的話
  #password: "changeme"    #密碼
複製代碼

 

(2)啓動服務

[root@centos7-1 filebeat]# systemctl start filebeat.service

 

(3)生成httpd 日誌

① 下載開啓httpd 服務

[root@centos7-1 ~]# yum install httpd

[root@centos7-1 ~]# systemctl start httpd

 

② 生成一個主頁

[root@centos7-1 ~]# vim /var/www/html/index.html

Home Page

 

③ 生成20個測試頁面

[root@centos7-1 ~]# for i in {1..20}; do echo "Test Page ${i}" > /var/www/html/test${i}.html; done

 

④ 測試頁面正常訪問

 

⑤ 循環生成httpd 日誌

[root@centos7-1 ~]# for i in {1..20}; do j=$[$RANDOM%20+1]; curl http://192.168.1.102:80/test${j}.html; done

 

(4)測試

直接訪問elasticsearch 頁面,能夠查看到

 

三、示例2:完整的ELK —> 配置filebeat,目標給logstash

(1)配置filebeat

[root@filebeat ~]# vim /etc/filebeat/filebeat.yml

複製代碼
filebeat.prospectors:
- input_type: log
  paths:
    - /var/log/httpd/*log

output.logstash:
  hosts: ["192.168.10.102:5044"]
複製代碼

 

啓動服務

[root@centos7-1 filebeat]# systemctl start filebeat.service

 

(2)在logstash 服務器上配置

input => 來自filebeat

filter => geoip 模塊

output => 輸出給elasticsearch

① 配置

[root@logstash conf.d]# vim /etc/logstash/conf.d/apachelogs.conf

複製代碼
input {
        beats {
                port => 5044
        }
}

filter {
        grok {
                match => {
                "message" => "%{HTTPD_COMBINEDLOG}"
                }
        }
}

output {
        elasticsearch {
                hosts => ["http://192.168.10.101:9200/"]
                index => "logstash-%{+YYYY.MM.dd}"
                document_type => "apache_logs"
        }
} 
複製代碼

② 運行logstash

[root@centos7-1 conf.d]# logstash -f apachelogs.conf -t 測試

重啓filebeat

[root@centos7-1 filebeat]# systemctl restart filebeat.service

 

(3)測試

 

四、示例3:完整的els搭建

(1)配置filebeat,目標給redis

[root@filebeat ~]# vim /etc/filebeat/filebeat.yml

複製代碼
filebeat.prospectors:
- input_type: log
  paths:
    - /var/log/httpd/*log
#----------------------------- Redis output --------------------------------
output.redis:
  hosts: ["192.168.10.102"]
  password: "ilinux.io"
  key: "httpdlogs"
  datatype: "list"
  db: 0
  timeout: 5
複製代碼

 

(2)redis 服務器查詢測試

[root@centos7-1 conf.d]# redis-cli -a ilinux.io 查詢有key值,有數據

 

(3)配置logstash

input => 來自redis

filter => geoip 模塊

output => 輸出給elasticsearch

① 配置

[root@logstash conf.d]# vim /etc/logstash/conf.d/apachelogs.conf

複製代碼
input {
        redis {
                host => "192.168.10.102"
                port => "6379"
                password => "ilinux.io"
                data_type => "list"
                key => "httpdlogs"
                threads => 2
        }
}

filter {
        grok {
                match => {
                        "message" => "%{HTTPD_COMBINEDLOG}"
                }
        }
        date {
                match => ["timestamp","dd/MMM/YYYY:H:m:s Z"]
                remove_field => "timestamp"
        }
}

output {
        elasticsearch {
                hosts => ["http://192.168.10.101:9200/"]
                index => "logstash-%{+YYYY.MM.dd}"
                document_type => "apache_logs"
        }
} 
複製代碼

② 啓動logstash

[root@filebeat ~]# systemctl start logstash

 

(4)用192.168.1.101 機器生成訪問日誌,測試

 

6、kibana

一、介紹

  kibana 是您走進 Elastic Stack 的窗口,Kibana 讓您可以可視化 Elasticsearch 中的數據並操做Elastic Stack,所以您能夠在這裏解開任何疑問:例如,爲什麼會在凌晨 2:00 被傳呼,雨水會對季度數據形成怎樣的影響。

① 一張圖片賽過千萬行日誌

  Kibana 讓您可以自由地選擇如何呈現您的數據。或許您一開始並不知道本身想要什麼。不過藉助Kibana 的交互式可視化,您能夠先從一個問題出發,看看可以從中發現些什麼。

② 從基礎入手

  Kibana 核心搭載了一批經典功能:柱狀圖、線狀圖、餅圖、環形圖,等等。它們充分利用了Elasticsearch 的聚合功能。

③ 將地理數據融入任何地圖

  利用咱們的 Elastic Maps Services 來實現地理空間數據的可視化,或者發揮創意,在您本身的地圖上實現自定義位置數據的可視化。

④ 時間序列也在菜單之列

  您能夠利用 Timelion,對您 Elasticsearch 中的數據執行高級時間序列分析。您能夠利用功能強大、簡單易學的表達式來描述查詢、轉換和可視化。

⑤ 利用 graph 功能探索關係

  憑藉搜索引擎的相關性功能,結合 graph 探索,揭示您 Elasticsearch 數據中極其常見的關係。

 

二、安裝搭建

(1)安裝

從官網上下載對應的版本https://www.elastic.co/cn/downloads/kibana

[root@kibana ~]#rpm -ivh kibana-5.5.1-x86_64.rpm

(2)配置

vim /etc/kibana/kibana.yml

server.port: 5601
server.host: "0.0.0.0"
server.name: "kibana.along.com"
elasticsearch.url: "http://192.168.10.101:9200"

 

(3)開啓服務

[root@kibana ~]# systemctl start kibana.service

 

三、配置使用kibana

(1)打開網頁 http://192.168.1.104:5601,選擇logstash 發送的日誌,就直接顯示效果了

 

(2)設置效果展現圖

 

① 能夠建立各類圖形,面積圖,線裝圖,餅狀圖......

我以餅狀圖爲例,建立top5 來源ip、top10 請求點擊頁面 的餅狀圖

 

② 作出top5 來源ip 的餅狀圖

選擇對什麼進行聚合圖形,我選擇對本身設置的terms 詞條進行聚合,再選擇clientip.keyword 的key鍵值,最後展現

 

③ 同理,作出top10 請求點擊頁面的餅狀圖

 

④ 能夠將多個圖形呈如今一個儀表盤上

點擊儀表盤,添加所須要展現的圖形便可

 

⑤ 根據ip 顯示地理位置

 

(3)其餘字段均可進行設置,多種圖案,也可將多個圖形放在一塊兒展現

四、kibana 用法詳解

可參考http://blog.csdn.net/qq_23598037/article/details/79560639

相關文章
相關標籤/搜索