中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

ELK大數據分析課程

發布時間:2020-07-20 15:27:23 來源:網絡 閱讀:770 作者:廣通學院 欄目:大數據

ELK大數據分析課程

文檔出自:廣通學院    版本:1.0  

QQ:430696786   微信號:winlone


官方資料:

beats文件采集:https://www.elastic.co/products/beats

logstash日志分析:https://www.elastic.co/products/logstash

elasticsearch日記存儲:https://www.elastic.co/products/elasticsearch

kibana日志展示界面:https://www.elastic.co/products/kibana



一、概述:

ELK大數據分析課程


Beats:分布在每個應用服務器的采集器

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


Logstash:接收Beats傳過來的數據,分析數據,并發送到存儲日志的地方

Logstash是一款輕量級的日志搜集處理框架,可以方便的把分散的、多樣化的日志搜集起來,并進行自定義的處理,然后傳輸到指定的位置,比如某個服務器或者文件。


Elasticsearch:用來存儲格式化好的統計數據

Elasticsearch是一個基于Lucene的搜索和數據分析工具,它提供了一個分布式服務。Elasticsearch是遵從Apache開源條款的一款開源產品,是當前主流的企業級搜索引擎。


Kibana:把統計數據通過圖表形式展現出來

Kibana 是一款開源的數據分析和可視化平臺,它是 Elastic Stack 成員之一,設計用于和 Elasticsearch 協作。您可以使用 Kibana 對 Elasticsearch 索引中的數據進行搜索、查看、交互操作。您可以很方便的利用圖表、表格及地圖對數據進行多元化的分析和呈現。


二、安裝:

2.1 準備工作

* 系統環境:Centos7.4

* 安裝必備軟件:

yum  install  java-1.8.0-openjdk

* 新建目錄:

mkdir /tools
mkdir /tools/install/
mkdir /tools/download/

ELK大數據分析課程

* 新建es用戶:

groupadd es              #增加es組
useradd es  -g es -p es  #增加es用戶并附加到es組
chown -R es:es /usr/lib/jvm/               #java也需要分配給es用戶訪問權限
chown -R es:es /tools/   #安裝目錄分配權限
su es   #切換到es用戶


2.2 安裝Elasticsearch

2.2.1 Elasticsearch下載:

cd /tools/download/
wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.3.tar.gz

2.2.2 解壓Elasticsearch程序包:

tar -xzf elasticsearch-6.4.3.tar.gz
mv /tools/download/elasticsearch-6.4.3 /tools/install/elasticsearch-6.4.3
chown -R es:es /tools/install/elasticsearch-6.4.3

2.2.3 Elasticsearch的配置

* 進入elasticsearch-6.4.3目錄

  cd /tools/install/elasticsearch-6.4.3

* 設置jvm虛擬內存:

vi config/jvm.options
-Xms512m
-Xms512m

ELK大數據分析課程

* elasticsearch.yml配置:

vi config/elasticsearch.yml

如需遠程主機需訪問該elasticsearch服務,需配置對外出口ip和端口:

ELK大數據分析課程

指定路徑:可以不指定,默認當前路徑的data和logs,指定路徑后要配置es組的權限

ELK大數據分析課程

配置下載:

* 啟動elasticsearch

./bin/elasticsearch -d

* 停止elasticsearch

ps -ef |grep elasticsearch
kill -9 進程id

* 啟動配置服務可能會出現的幾個錯誤

1. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

vi /etc/security/limits.conf

加入:

es soft nofile 65536
es hard nofile 65536

ELK大數據分析課程

執行命令:ulimit -Hn

ELK大數據分析課程

2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

ELK大數據分析課程

3.max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]

ELK大數據分析課程

vi /etc/security/limits.d/90-nproc.conf

4. system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

ELK大數據分析課程

bootstrap.system_call_filter: false

2.2.4 啟動成功的訪問地址

curl 'http://localhost:9200/?pretty'

ELK大數據分析課程


2.3 安裝Kibana

2.3.1 Kibana下載:

cd /tools/download/
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.3-linux-x86_64.tar.gz


2.3.2 解壓Kibana程序包:

tar -xzf kibana-6.4.3-linux-x86_64.tar.gz
mv /tools/download/kibana-6.4.3-linux-x86_64 /tools/install/kibana-6.4.3-linux-x86_64
chown -R es:es /tools/install/kibana-6.4.3-linux-x86_64


2.3.3 Kibana配置:

* 配置Kibana, 配置server.host地址,需遠程連接,因此配置服務器內網IP即可。

vi config/kibana.yml

配置如下:

server.port: 5601
server.host: "172.16.151.119"
elasticsearch.url: "http://localhost:9200"

配置下載:

* 啟動kibana

nohup ./bin/kibana &


* 訪問kibana

訪問:http://172.16.151.119:5601
外網:http://外網IP:5601


2.4 安裝Filebeat

2.4.1 Filebeat下載:

cd /tools/download/
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.4.3-linux-x86_64.tar.gz


2.4.2 解壓Filebeat程序包:

tar -xzf filebeat-6.4.3-linux-x86_64.tar.gz
mv /tools/download/filebeat-6.4.3-linux-x86_64 /tools/install/filebeat-6.4.3-linux-x86_64
chown -R es:es /tools/install/filebeat-6.4.3-linux-x86_64


2.4.3 配置filebeat.yml文件

#=========================== Filebeat inputs =============================
filebeat.inputs:
- type: log
  enabled: true
  paths:
    - /data/logs/*.log
  fields_under_root: true
  fields:
    alilogtype: applog
#============================= Filebeat modules ===============================
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
#==================== Elasticsearch template setting ==========================
setup.template.settings:
  index.number_of_shards: 3
#----------------------------- Logstash output --------------------------------
output.logstash:
  hosts: ["localhost:5044"]

配置下載:


2.4.4 啟動filebeat

nohup ./filebeat -c ./filebeat.yml &


2.5 安裝logstash

2.5.1 logstash下載:

cd /tools/download/
wget https://artifacts.elastic.co/downloads/logstash/logstash-6.4.3.tar.gz


2.5.2 解壓logstash程序包:

tar -xzf logstash-6.4.3.tar.gz
mv /tools/download/logstash-6.4.3 /tools/install/logstash-6.4.3
chown -R es:es /tools/install/logstash-6.4.3


2.5.3 配置logstash.conf文件

vi config/logstash.conf

配置如下:

input {
  beats {
    port => 5044
  }
}
filter {
        grok {
                patterns_dir => ["/tools/install/logstash-6.4.3/patterns"]
                match => {
                        "message" => "%{IPORHOST:forwordip}.*%{HTTPDATE:logtime}.*"
                }
                remove_field => ["message", "host", "tags", "input", "@timestamp", "offset", "host", "@version", "beat"]
        }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "beat-mylog"
    #user => "elastic"
    #password => "changeme"
  }
  stdout { codec => rubydebug }
}

配置下載:

正則配置:


2.5.4 配合jvm.options虛擬內存

-Xms1g
-Xmx1g


2.5.5 配置logstash.yml文件

vi config/logstash.yml
node.name: test
pipeline.id: main
pipeline.workers: 2
pipeline.batch.size: 125
pipeline.batch.delay: 50
pipeline.unsafe_shutdown: false
path.config: /tools/install/logstash-6.4.3/config/logstash.conf
http.host: "127.0.0.1"
http.port: 9600-9700

配置下載:

設置

描述

默認值

node.name

節點的描述性名稱

機器的主機名

path.data

Logstash及其插件用于任何持久需求的目錄

LOGSTASH_HOME/data

pipeline.id

管道的ID

main

pipeline.workers

將并行執行管道的過濾和輸出階段的工人數量,如果你發現事件正在備份,或者CPU沒有飽和,請考慮增加這個數字,以更好地利用機器處理能力

主機CPU核心的數量

pipeline.batch.size

在嘗試執行過濾器和輸出之前,單個工作線程將從輸入中收集的最大事件數,更大的批處理大小通常更高效,但代價是增加內存開銷,你可能需要增加jvm.options配置文件中的JVM堆空間,有關更多信息,請參閱Logstash配置文件

125

pipeline.batch.delay

當創建管道事件批處理時,在向管道工作人員發送一個較小的批處理之前,等待每個事件的時間為多少毫秒

50

pipeline.unsafe_shutdown

當設置為true時,即使內存中仍然存在游離事件,也會在關閉期間強制Logstash退出,默認情況下,Logstash將拒絕退出,直到所有接收到的事件都被推送到輸出,啟用此選項可能導致關閉期間的數據丟失

false

path.config

主管道的Logstash配置路徑,如果指定目錄或通配符,配置文件將按字母順序從目錄中讀取

特定于平臺的,請參閱Logstash目錄布局

config.string

包含要用于主管道的管道配置的字符串,使用與配置文件相同的語法

None

config.test_and_exit

當設置為true時,檢查配置是否有效,然后退出,注意,在此設置中沒有檢查grok模式的正確性,Logstash可以從一個目錄中讀取多個配置文件,如果你把這個設置和log.level: debug結合起來,Logstash將對合并后的配置文件進行日志記錄,并用它來自的源文件注解每個配置塊

false

config.reload.automatic

當設置為true時,定期檢查配置是否已更改,并在更改配置時重新加載配置,這也可以通過SIGHUP信號手動觸發

false

config.reload.interval

Logstash多久檢查一次配置文件以查看更改

3s

config.debug

當設置為true時,將完整編譯的配置顯示為debug日志消息,你還必須設置log.level: debug,警告:日志消息將包含傳遞給插件配置的任意密碼選項,可能會導致明文密碼出現在日志中!

false

config.support_escapes

當設置為true時,引號中的字符串將處理以下轉義序列:\n變成文字換行符(ASCII 10),\r變成文字回車(ASCII 13),\t變成文字制表符(ASCII 9),\\變成字面反斜杠\\"變成一個文字雙引號,\'變成文字引號

false

modules

當配置時,modules必須位于上表中描述的嵌套YAML結構中

None

queue.type

用于事件緩沖的內部隊列模型,為基于內存中的遺留隊列指定memory,或者persisted基于磁盤的ACKed隊列(持久隊列

memory

path.queue

啟用持久隊列時存儲數據文件的目錄路徑(queue.type: persisted

path.data/queue

queue.page_capacity

啟用持久隊列時使用的頁面數據文件的大小(queue.type: persisted),隊列數據由分隔成頁面的僅追加的數據文件組成

64mb

queue.max_events

啟用持久隊列時隊列中未讀事件的最大數量(queue.type: persisted

0(無限)

queue.max_bytes

隊列的總容量(字節數),確保磁盤驅動器的容量大于這里指定的值,如果queue.max_eventsqueue.max_bytes都指定,Logstash使用最先達到的任何標準

1024mb(1g)

queue.checkpoint.acks

當啟用持久隊列時,在強制執行檢查點之前的最大ACKed事件數(queue.type: persisted),指定queue.checkpoint.acks: 0設置此值為無限制

1024

queue.checkpoint.writes

啟用持久隊列時強制執行檢查點之前的最大寫入事件數(queue.type: persisted),指定queue.checkpoint.writes: 0設置此值為無限制

1024

queue.drain

啟用時,Logstash會一直等到持久隊列耗盡后才關閉

false

dead_letter_queue.enable

標記指示Logstash以插件支持的DLQ特性

false

dead_letter_queue.max_bytes

每個dead letter隊列的最大大小,如果條目將增加dead letter隊列的大小,超過此設置,則刪除條目

1024mb

path.dead_letter_queue

存儲dead letter隊列數據文件的目錄路徑

path.data/dead_letter_queue

http.host

指標REST端點的綁定地址

"127.0.0.1"

http.port

指標REST端點的綁定端口

9600

log.level

日志級別,有效的選項是:fatalerrorwarninfodebugtrace

info

log.format

日志格式,設置為json日志以JSON格式,或plain使用Object#.inspect

plain

path.logs

Logstash將其日志寫到的目錄

LOGSTASH_HOME/logs

path.plugins

哪里可以找到自定義插件,你可以多次指定此設置以包含多個路徑,插件應該在特定的目錄層次結構中:PATH/logstash/TYPE/NAME.rbTYPEinputsfiltersoutputscodecsNAME是插件的名稱

特定于平臺的,請參閱Logstash目錄布局


2.5.6 logstash啟動

nohup ./bin/logstash -f ./config/logstash.conf &


參數

說明

舉例

-e

立即執行,使用命令行里的配置參數啟動實例

./bin/logstash -e "input {stdin {}} output {stdout {}}"

-f

指定啟動實例的配置文件

./bin/logstash -f config/test.conf

-t

測試配置文件的正確性

./bin/logstash -f config/test.conf -t

-l

指定日志文件名稱

./bin/logstash -f config/test.conf -l logs/test.log

-w

指定filter線程數量,默認線程數是5

./bin/logstash -f config/test.conf -w 8


2.5.7 相關地址

input監聽:0.0.0.0:5044
Logstash API endpoint:http://127.0.0.1:9600


訪問:http://127.0.0.1:9600

{"host":"iZbp1f69c0ocoflj7y2nlxZ","version":"6.4.3","http_address":"127.0.0.1:9600","id":"de36d17d-ca9d-4123-a33b-c2b9af00dcd9","name":"test","build_date":"2018-10-31T00:19:35Z","build_sha":"17e7a50dfb0beb05f5338ee5a0e8338e68eb130b","build_snapshot":false}


三、格式化日志:

3.1 nginx日志參數配置:

nginx日志輸出參數配置:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent $request_body "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for" $request_time';


nginx日志內容:

* POST:

219.135.135.2 - - [29/Nov/2018:18:41:13 +0800] "POST /portal/users/cartList HTTP/1.1" 302 5 ?appName=luckwine-portal-web&channelCode=01&traceId=1712884f4c9e4d8ad9bdb843824dd197& "http://47.106.219.117:8010/home?a=1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0" "-" 0.008

* GET:

219.135.135.2 - - [29/Nov/2018:18:16:32 +0800] "GET /portal/common/needLogin?dd=23 HTTP/1.1" 200 96 - "http://47.106.219.117:8010/home?a=1" "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0" "-" 0.002


nginx日志參數:

$args                    #請求中的參數值
$query_string            #同 $args
$arg_NAME                #GET請求中NAME的值
$is_args                 #如果請求中有參數,值為"?",否則為空字符串
$uri                     #請求中的當前URI(不帶請求參數,參數位于$args),可以不同于瀏覽器傳遞的$request_uri的值,它可以通過內部重定向,或者使用index指令進行修改,$uri不包含主機名,如"/foo/bar.html"。
$document_uri            #同 $uri
$document_root           #當前請求的文檔根目錄或別名
$host                    #優先級:HTTP請求行的主機名>"HOST"請求頭字段>符合請求的服務器名.請求中的主機頭字段,如果請求中的主機頭不可用,則為服務器處理請求的服務器名稱
$hostname                #主機名
$https                   #如果開啟了SSL安全模式,值為"on",否則為空字符串。
$binary_remote_addr      #客戶端地址的二進制形式,固定長度為4個字節
$body_bytes_sent         #傳輸給客戶端的字節數,響應頭不計算在內;這個變量和Apache的mod_log_config模塊中的"%B"參數保持兼容
$bytes_sent              #傳輸給客戶端的字節數
$connection              #TCP連接的序列號
$connection_requests     #TCP連接當前的請求數量
$content_length          #"Content-Length" 請求頭字段
$content_type            #"Content-Type" 請求頭字段
$cookie_name             #cookie名稱
$limit_rate              #用于設置響應的速度限制
$msec                    #當前的Unix時間戳
$nginx_version           #nginx版本
$pid                     #工作進程的PID
$pipe                    #如果請求來自管道通信,值為"p",否則為"."
$proxy_protocol_addr     #獲取代理訪問服務器的客戶端地址,如果是直接訪問,該值為空字符串
$realpath_root           #當前請求的文檔根目錄或別名的真實路徑,會將所有符號連接轉換為真實路徑
$remote_addr             #客戶端地址
$remote_port             #客戶端端口
$remote_user             #用于HTTP基礎認證服務的用戶名
$request                 #代表客戶端的請求地址
$request_body            #客戶端的請求主體:此變量可在location中使用,將請求主體通過proxy_pass,fastcgi_pass,uwsgi_pass和scgi_pass傳遞給下一級的代理服務器
$request_body_file       #將客戶端請求主體保存在臨時文件中。文件處理結束后,此文件需刪除。如果需要之一開啟此功能,需要設置client_body_in_file_only。如果將次文件傳 遞給后端的代理服務器,需要禁用request body,即設置proxy_pass_request_body off,fastcgi_pass_request_body off,uwsgi_pass_request_body off,or scgi_pass_request_body off
$request_completion      #如果請求成功,值為"OK",如果請求未完成或者請求不是一個范圍請求的最后一部分,則為空
$request_filename        #當前連接請求的文件路徑,由root或alias指令與URI請求生成
$request_length          #請求的長度 (包括請求的地址,http請求頭和請求主體)
$request_method          #HTTP請求方法,通常為"GET"或"POST"
$request_time            #處理客戶端請求使用的時間,單位為秒,精度毫秒; 從讀入客戶端的第一個字節開始,直到把最后一個字符發送給客戶端后進行日志寫入為止。
$request_uri             #這個變量等于包含一些客戶端請求參數的原始URI,它無法修改,請查看$uri更改或重寫URI,不包含主機名,例如:"/cnphp/test.php?arg=freemouse"
$scheme                  #請求使用的Web協議,"http" 或 "https"
$server_addr             #服務器端地址,需要注意的是:為了避免訪問linux系統內核,應將ip地址提前設置在配置文件中
$server_name             #服務器名
$server_port             #服務器端口
$server_protocol         #服務器的HTTP版本,通常為 "HTTP/1.0" 或 "HTTP/1.1"
$status                  #HTTP響應代碼
$time_iso8601            #服務器時間的ISO 8610格式
$time_local              #服務器時間(LOG Format 格式)
$cookie_NAME             #客戶端請求Header頭中的cookie變量,前綴"$cookie_"加上cookie名稱的變量,該變量的值即為cookie名稱的值
$http_NAME               #匹配任意請求頭字段;變量名中的后半部分NAME可以替換成任意請求頭字段,如在配置文件中需要獲取http請求頭:"Accept-Language",$http_accept_language即可
$http_cookie
$http_host               #請求地址,即瀏覽器中你輸入的地址(IP或域名)
$http_referer            #url跳轉來源,用來記錄從那個頁面鏈接訪問過來的
$http_user_agent         #用戶終端瀏覽器等信息
$http_x_forwarded_for    #當前端有代理服務器時,設置web節點記錄客戶端地址的配置,此參數生效的前提是代理服務器也要進行相關的http_x_forwarded_for設置
$sent_http_NAME          #可以設置任意http響應頭字段;變量名中的后半部分NAME可以替換成任意響應頭字段,如需要設置響應頭Content-length,$sent_http_content_length即可


3.2 Logstash捕獲字段:

3.2.1 input組件

input {
  beats {
    port => 5044
  }
}


3.2.2 output組件

output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "beat-mylog"
    #user => "elastic"
    #password => "changeme"
  }
  stdout { codec => rubydebug }
}


3.2.3 filter組件

官方文檔:https://www.elastic.co/guide/en/logstash/6.4/filter-plugins.html

完整規格:

filter {
  #正則捕獲字段
  grok {}
  #字段類型轉換
  mutate {}
  #時間數據賦值到另外字段
  date {}
  #刪除數據
  drop {}
}


3.2.3.1、Grok匹配日志字段:

a、新建分析nginx日志的配置logstash.conf

filter {
        grok {
                patterns_dir => ["/tools/install/logstash-6.4.3/patterns"]
                match => {
                        "message" => "%{nginx_log}"
                }
                remove_field => ["message"]
        }
        date {
             match => [ "logtime", "dd/MMM/yyyy:HH:mm:ss Z"]
             target => "@timestamp"
        }
}


b、捕獲方法名 正則表達式

* 規則如下:

nginx_log %{IPORHOST:clientip} - %{USER:user} \[%{HTTPDATE:logtime}\] "(?:%{WORD:method} %{URIPATH:requestURI}(%{URIPARAM:parms}|)(?: HTTP/%{NUMBER:httpversion})?|%{DATA:rawrequest})" %{NUMBER:status} %{NUMBER:bytes} (%{URIPARAM:parms}|-) %{QS:referrer} %{QS:agent} "(%{IPORHOST:forwordip}|-)" %{NUMBER:reqtime}


grok正則捕獲:

https://github.com/elastic/logstash/blob/v1.4.2/patterns/grok-patterns


kinbana測試正則捕獲是否正確:

ELK大數據分析課程


3.2.3.2、Mutate字段轉換

Mutate轉化器文檔:

https://www.elastic.co/guide/en/logstash/current/plugins-filters-mutate.html#plugins-filters-mutate-convert

https://blog.csdn.net/cromma/article/details/52919742


Mutate作用:用于每個輸出的字段作后續轉換操作


convert:

將字段的值轉換為另一種類型,如將字符串轉換為整數。如果字段值是數組,則將轉換所有成員。如果字段是散列,則不采取任何操作

mutate {
    convert => {
      "bytes" => "integer"
      "reqtime" => "float"
    }
}


lowercase & uppercase:

大小寫轉換,數組類型,字段名字作為數據元素。

mutate {
    lowercase => [ "fieldname" ]
}


join:數組的分割字符串

使用固定連接符號,連接數組內的元素,如果給定的字段不是數組類型,什么也不做。

mutate {
  split => ["message", "|"]
    }
mutate {
  join => ["message", ","]
}
#join處理前
"message" => “1|2|3|4”

#join處理后
"message" => “1,2,3,4”


merge:拼接字符串

字符串 + 字符串

數組 + 字符串

操作邏輯:把追加字段的字符拼接到目標字段字符上

mutate {
     merge => { "目標字段" => "追加字段" }
}


split: 分割字符為數組

使用分隔符將字段拆分為數組。只對字符串字段有效。

mutate {
     split => { "fieldname" => "," }
}


#split處理前
"message" => “1|2|3|4”

#split處理后
"message" => [
        [0] "1",
        [1] "2",
        [2] "3",
        [3] "4"
]


gsub:替換字符串

數組類型,沒有默認設置。

該參數設置只針對string類型,如果不是string類型的,什么也不做。

mutate {
    gsub => [
      "agent", "\"", "",
      "referrer", "\"", ""
    ]
}


strip:

從字段中刪除空白。注意:這只適用于開頭和結尾的空格。

mutate {
     strip => ["field1", "field2"]
}


3.2.3.3、IP庫:

geoip {
            source => "clientip"
            target => "geoip"
}


獲取到的IP數據:

lat:維度   lon:經度

"geoip" => {
         "country_code3" => "CN",
              "latitude" => 39.9289,
           "region_name" => "Beijing",
              "location" => {
            "lat" => 39.9289,
            "lon" => 116.3883
}


3.2.3.4、Drop刪除過濾器:

說明:把url中包含圖片、css樣式、js等文件不要錄入日志統計

if ([requestURI] =~ "jpg|png|gif|css|js|ico"){
      drop {}
}


3.2.3.5、使用新的配置文件啟動:

nohup ./bin/logstash -f ./config/logstash.conf &


3.3 kibana界面配置:

界面配置:

https://www.elastic.co/guide/cn/kibana/current/tutorial-visualizing.html

ELK大數據分析課程



1. 網站PV統計:

ELK大數據分析課程

ELK大數據分析課程

ELK大數據分析課程


搜索統計條件:

ELK大數據分析課程


配置搜索文件beat*:

ELK大數據分析課程


2. 時間段訪問字節匯總

ELK大數據分析課程

配置Pie圖形

ELK大數據分析課程


統計方式:統計數量、匯總總數、排行統計等

ELK大數據分析課程


統計的相關字段:可以統計多個字段,約束“時間”基礎上再約束“字節數”

ELK大數據分析課程


3. 耗時頁面統計

ELK大數據分析課程


配置柱狀圖

ELK大數據分析課程

y軸耗時匯總:

ELK大數據分析課程

x軸按地址劃分統計:

ELK大數據分析課程

再按時間拆分:

ELK大數據分析課程



3.4 kibana統計匯總面板:

在線
客服
在線
客服

ELK大數據分析課程

ELK大數據分析課程

ELK大數據分析課程


問題匯總:

1、錯誤內容:"No cached mapping for this field, refresh your mapping from the Settings > Indices page"

ELK大數據分析課程


解決方案:

因為Elasticsearch有更改過字段類型,所以Kibana之前映射的字段類型和更改索引之后的字段類型都不同了

ELK大數據分析課程

ELK大數據分析課程


2、報警黃燈:

PUT aptech-test

{

"settings" : {        "number_of_shards" : 5,        "number_of_replicas" : 0    }

}

是因為設置了多份副本number_of_replicas的原因,當前是單機的,只能是0副本

ELK大數據分析課程


3.4 部署靜態網站(用于測試):

3.4.1 安裝nginx

yum install nginx


3.4.2 拷貝靜態網站


* 把test.zip靜態網站放到 /tools/apps

* 跳板機拷貝:scp -P 22 ./cpts_1406_cdz.zip root@IP:/tools/apps

* unzip 解壓test.zip


3.4.3 nginx配置

worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent $request_body "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for" $request_time';

    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       80;
        server_name  localhost;
        access_log  /data/logs/nginx.access.log  main;
        location / {
            root   /tools/apps/;
            index  index.html index.htm;
        }
        error_page  404              /404.html;
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}


3.4.4 啟動nginx

啟動:nginx -c /etc/nginx/nginx.conf
停止:nginx  -s stop

外網訪問:http://公網IP:80



=========== 其他相關 ============

啟動elasticsearch:./bin/elasticsearch -d

內網:http://局域網ip:9200/?pretty

外網:無


啟動kibana:nohup ./bin/kibana &

內網:http://局域網ip:5601

外網:http://公網ip:5601


啟動logstash: nohup ./bin/logstash -f ./config/logstash.conf &

內網:http://局域網ip:9600

外網:無

logstash接收數據

TCP監聽端口:5044

驗證: telnet 內網ip 5044


啟動filebeat: nohup ./filebeat -c ./filebeat.yml &

內網:無

外網:無


向AI問一下細節

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

AI

红安县| 清苑县| 苗栗市| 体育| 浠水县| 宜章县| 龙游县| 上杭县| 额尔古纳市| 文昌市| 盐城市| 永济市| 湖北省| 万全县| 山东省| 岗巴县| 响水县| 福贡县| 东城区| 司法| 庆元县| 江陵县| 延津县| 双峰县| 德格县| 保山市| 延长县| 丽江市| 漳平市| 齐齐哈尔市| 鄂尔多斯市| 双辽市| 岢岚县| 定西市| 沂南县| 吉林省| 盐边县| 天台县| 定结县| 五常市| 丽江市|