ELKStacks是一個(gè)技術(shù)棧的組合,分別是Elasticsearch、Logstash、Kibana
成都創(chuàng)新互聯(lián)長(zhǎng)期為1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為印江企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站設(shè)計(jì),印江網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
?
ELK Stack:
1、擴(kuò)展性:采用高擴(kuò)展性分布式架構(gòu)設(shè)計(jì),可支持每日TB級(jí)數(shù)據(jù)
2、簡(jiǎn)單易用:通過(guò)圖形頁(yè)面可對(duì)日志數(shù)據(jù)各種統(tǒng)計(jì),可視化
3、查詢效率高:能做到秒級(jí)數(shù)據(jù)采集、處理和搜索
?
https://www.elastic.co/cn/products/elasticsearch
https://www.elastic.co/cn/products/kibana
https://www.elastic.co/cn/products/beats/filebeat
https://www.elastic.co/cn/products/beats/metricbeat
Logstash :開(kāi)源的服務(wù)器端數(shù)據(jù)處理管道,能夠同時(shí)從多個(gè)來(lái)源采集數(shù)據(jù)、轉(zhuǎn)換數(shù)據(jù),然后將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。
Elasticsearch:搜索、分析和存儲(chǔ)數(shù)據(jù)。
Kibana:數(shù)據(jù)可視化。
Beats :輕量型采集器的平臺(tái),從邊緣機(jī)器向 Logstash 和 Elasticsearch 發(fā)送數(shù)據(jù)。
Filebeat:輕量型日志采集器。
https://www.elastic.co/cn/
https://www.elastic.co/subscriptions
?
Input:輸入,輸出數(shù)據(jù)可以是Stdin、File、TCP、redis、Syslog等。
Filter:過(guò)濾,將日志格式化。有豐富的過(guò)濾插件:Grok正則捕獲、Date時(shí)間處理、Json編解碼、Mutate數(shù)據(jù)修改等。
Output:輸出,輸出目標(biāo)可以是Stdout、File、TCP、Redis、ES等。
Node:運(yùn)行單個(gè)ES實(shí)例的服務(wù)器
Cluster:一個(gè)或多個(gè)節(jié)點(diǎn)構(gòu)成集群
Index:索引是多個(gè)文檔的集合
Document:Index里每條記錄稱為Document,若干文檔構(gòu)建一個(gè)Index
Type:一個(gè)Index可以定義一種或多種類(lèi)型,將Document邏輯分組
Field:ES存儲(chǔ)的最小單元
Shards:ES將Index分為若干份,每一份就是一個(gè)分片
Replicas:Index的一份或多份副本
ES | 關(guān)系型數(shù)據(jù)庫(kù)(比如MySQL) |
Index | Database |
Type | Table |
Document | Row |
Field | Column |
首先做好系統(tǒng)的初始化配置,安裝好jdk
#1)?System?initialization?on?each?Servers
cat?>>?/etc/security/limits.conf?<?/etc/sysctl.conf?<
接下來(lái)執(zhí)行下面的腳本,我這里是三臺(tái)服務(wù)器組成的ES集群,腳本里已經(jīng)帶了參數(shù),可以交互式的輸入實(shí)際的服務(wù)器IP地址,所以請(qǐng)?jiān)诿總€(gè)節(jié)點(diǎn)都運(yùn)行
#!/bin/bash IP=`ifconfig|sed?-n?2p|awk?'{print?$2}'|cut?-d?":"?-f2` if?[?`whoami`?!=?root?] then echo?"Please?login?as?root?to?continue?:)" exit?1 fi if?[?!?-d?/home/tools/?];then mkdir?-p?/home/tools else rm?-rf?/home/tools?&&?mkdir?-p?/home/tools fi yum?install?perl-Digest-SHA?-y?&&?cd?/home/tools #wget?https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.1.rpm #wget?https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.1.rpm.sha512 #shasum?-a?512?-c?elasticsearch-6.8.1.rpm.sha512? #sudo?rpm?--install?elasticsearch-6.8.1.rpm #3)?Download?elasticsearch-5.6.10?on?each?servers wget?https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.rpm wget?https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.10.rpm.sha512 shasum?-a?512?-c?elasticsearch-5.6.10.rpm.sha512 sudo?rpm?--install?elasticsearch-5.6.10.rpm ? #4)?Modify?elasticsearch.yml?File #Note:?network.host?means?your?IP?address cat?>/etc/elasticsearch/elasticsearch.yml<3.3數(shù)據(jù)操作
RestFul API格式
curl -X
‘ :// : / ? ’-d ‘’
參數(shù)
描述
verb
HTTP方法,比如GET、POST、PUT、HEAD、DELETE
host
ES集群中的任意節(jié)點(diǎn)主機(jī)名
port
ES ? HTTP服務(wù)端口,默認(rèn)9200
path
索引路徑
query_string
可選的查詢請(qǐng)求參數(shù)。例如?pretty參數(shù)將返回JSON格式數(shù)據(jù)
-d
里面放一個(gè)GET的JSON格式請(qǐng)求主體
body
自己寫(xiě)的?JSON格式的請(qǐng)求主體
查看索引:
curl http://127.0.0.1:9200/_cat/indices?v??
新建索引:
curl -X PUT 127.0.0.1:9200/logs-2018.05.22
刪除索引:
curl -X DELETE 127.0.0.1:9200/logs-2018.05.22
3.4常用查詢
ES提供一種可用于執(zhí)行查詢JSON式的語(yǔ)言,被稱為Query DSL
示例數(shù)據(jù)
使用官方提供的示例數(shù)據(jù):
https://www.elastic.co/guide/en/elasticsearch/reference/current/_exploring_your_data.html
wget https://raw.githubusercontent.com/elastic/elasticsearch/master/docs/src/test/resources/accounts.json
本文名稱:ELKStack企業(yè)日志
文章網(wǎng)址:http://weahome.cn/article/ighhjs.html