您好,登錄后才能下訂單哦!
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
一、概述:
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/
* 新建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
* elasticsearch.yml配置:
vi config/elasticsearch.yml
如需遠程主機需訪問該elasticsearch服務,需配置對外出口ip和端口:
指定路徑:可以不指定,默認當前路徑的data和logs,指定路徑后要配置es組的權限
配置下載:
* 啟動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
執行命令:ulimit -Hn
2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
3.max number of threads [1024] for user [elasticsearch] is too low, increase to at least [2048]
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
bootstrap.system_call_filter: false
2.2.4 啟動成功的訪問地址
curl 'http://localhost:9200/?pretty'
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_events和queue.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 | 日志級別,有效的選項是:fatal、error、warn、info、debug、trace | info |
log.format | 日志格式,設置為json日志以JSON格式,或plain使用Object#.inspect | plain |
path.logs | Logstash將其日志寫到的目錄 | LOGSTASH_HOME/logs |
path.plugins | 哪里可以找到自定義插件,你可以多次指定此設置以包含多個路徑,插件應該在特定的目錄層次結構中:PATH/logstash/TYPE/NAME.rb,TYPE是inputs、filters、outputs或codecs,NAME是插件的名稱 | 特定于平臺的,請參閱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測試正則捕獲是否正確:
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
1. 網站PV統計:
搜索統計條件:
配置搜索文件beat*:
2. 時間段訪問字節匯總
配置Pie圖形
統計方式:統計數量、匯總總數、排行統計等
統計的相關字段:可以統計多個字段,約束“時間”基礎上再約束“字節數”
3. 耗時頁面統計
配置柱狀圖
y軸耗時匯總:
x軸按地址劃分統計:
再按時間拆分:
3.4 kibana統計匯總面板:
在線
客服在線
客服
問題匯總:
1、錯誤內容:"No cached mapping for this field, refresh your mapping from the Settings > Indices page"
解決方案:
因為Elasticsearch有更改過字段類型,所以Kibana之前映射的字段類型和更改索引之后的字段類型都不同了
2、報警黃燈:
PUT aptech-test
{
"settings" : { "number_of_shards" : 5, "number_of_replicas" : 0 }
}
是因為設置了多份副本number_of_replicas的原因,當前是單機的,只能是0副本
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 &
內網:無
外網:無
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。