elkstacks
是乙個技術棧的組合,分別是elasticsearch、logstash、kibana
elk stack:
1、擴充套件性:採用高擴充套件性分布式架構設計,可支援每日tb級資料
2、簡單易用:通過圖形頁面可對日誌資料各種統計,視覺化
3、查詢效率高:能做到秒級資料採集、處理和搜尋
elasticsearch:搜尋、分析和儲存資料。
kibana:資料視覺化。
beats :輕量型採集器的平台,從邊緣機器向 logstash 和 elasticsearch 傳送資料。
filebeat:輕量型日誌採集器。
:input:輸入,輸出資料可以是stdin、file、tcp、redis、syslog等。
filter:過濾,將日誌格式化。有豐富的過濾外掛程式:grok正則捕獲、date時間處理、json編譯碼、mutate資料修改等。
output:輸出,輸出目標可以是stdout、file、tcp、redis、es等。
node:執行單個es例項的伺服器
cluster:乙個或多個節點構成集群
index:索引是多個文件的集合
document:index裡每條記錄稱為document,若干文件構建乙個index
type:乙個index可以定義一種或多種型別,將document邏輯分組
field:es儲存的最小單元
shards:es將index分為若干份,每乙份就是乙個分片
replicas:index的乙份或多份副本
es關係型資料庫(比如mysql)
index
database
type
table
document
rowfield
column
首先做好系統的初始化配置,安裝好jdk
#1) system initialization on each serverscat >> /etc/security/limits.conf <
* hard memlock unlimited
* soft memlock unlimited
* - nofile 65535
eofcat > /etc/sysctl.conf <
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
vm.max_map_count=262144
vm.dirty_ratio=10
vm.dirty_background_ratio=5
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.ip_local_port_range = 10000 65000
eofsysctl -p
setenforce 0
sed -i 's/^selinux=.*$/selinux=disabled/' /etc/selinux/config
systemctl stop firewalld.service
systemctl disable firewalld.service
#2) install jdk on each servers
wget -c
source auto_jdk.sh
接下來執行下面的指令碼,我這裡是三颱伺服器組成的es集群,指令碼裡已經帶了引數,可以互動式的輸入實際的伺服器ip位址,所以請在每個節點都執行
#!/bin/baship=`ifconfig|sed -n 2p|awk ''|cut -d ":" -f2`
if [ `whoami` != root ]
then
echo "please login as root to continue :)"
exit 1
fiif [ ! -d /home/tools/ ];then
mkdir -p /home/tools
else
rm -rf /home/tools && mkdir -p /home/tools
fiyum install perl-digest-sha -y && cd /home/tools
#wget
#wget .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
wget .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
資料操作
restful api格式
curl -x『://:/?』-d 『』
引數
描述
verb
http方法,比如get、post、put、head、delete
host
es集群中的任意節點主機名
port
es http服務埠,預設9200
path
索引路徑
query_string
可選的查詢請求引數。例如?pretty引數將返回json格式資料
-d裡面放乙個get的json格式請求主體
body
自己寫的 json格式的請求主體
檢視索引:
curl
新建索引:
curl -x put 127.0.0.1:9200/logs-2018.05.22
刪除索引:
curl -x delete 127.0.0.1:9200/logs-2018.05.22
es提供一種可用於執行查詢json式的語言,被稱為query dsl
使用官方提供的示例資料:
wget
ELK Stack 日誌分析監控平台
最近因工作需要部署乙個日誌分析監控平台,最後選型elk stack 說明 過程 logserver中的logstash收集broker redis 中的日誌傳送給elasticsearch.kibana將elasticsearch處理的結果進行展示.download logstash2.1.1.ta...
利用ELKStack日誌平台分析簡訊攻擊
話說網際網路的江湖一點都不風平浪靜,這不剛處理完 簡訊攻擊,敵人又捲土重來,而且方法更先進。從上面可以看到敵人通過模擬referer對我方陣地實施打擊,不斷耗費我方簡訊資源。通過對敵人進行畫像 分析ip 分析x forward ip 分析裝置 分析瀏覽器 分析瀏覽器版本 眼前已經一目了然,敵人雖然來...
我所認識的ELK Stack
聽說elk stack最近很火,於是我抱著試試看的態度去市場了解了一番,發現現在很多公司都在使用這個東西處理日誌,而且成為實時日誌處理領域的第一選擇,於是我就去官網認真的學習了一番。elk stack這個東西是 elasticsearch logstash kibana 三個開源軟體的組合,在實時資...