接上文安裝與部署ELK詳解
1. 部署Filebeat節(jié)點
###關(guān)閉和禁止防火墻開機(jī)自啟功能
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config
1.1 部署Apache服務(wù)
(1)在Filebeat節(jié)點上,安裝Apache服務(wù)
yum install -y httpd
(2)修改Apache服務(wù)的配置文件
vim /etc/httpd/conf/httpd.conf
ServerName www.clr.com:80
(3)開啟Apache服務(wù)
systemctl start httpd
systemctl enable httpd
netstat -lntp | grep httpd
(4)瀏覽器訪問,驗證Apache服務(wù)
http://192.168.80.40/
1.2 部署Filebeat服務(wù)
(1) 安裝Filebeat
cd /opt
rz -E
#filebeat-6.7.2-linux-x86_64.tar.gz
tar xf filebeat-6.7.2-linux-x86_64.tar.gz
(2)設(shè)置filebeat的主配置文件
cd /opt/filebeat-6.7.2-linux-x86_64/
cp filebeat.yml{
,.bak}
vim filebeat.yml
###15行-------------
filebeat.inputs:
- type: log #指定log類型,從日志文件中讀取消息
enabled: true
paths:
- /var/log/httpd/access_log #指定監(jiān)控的日志文件
- tags: ["filebaeat"]
#設(shè)置索引標(biāo)簽
###46行--------------------
fields: #可以使用fields配置選項,設(shè)置一些參數(shù)字段添加到output中
service_name: httpd #重點強(qiáng)調(diào),service_name:與httpd中間存在一個空格
log_type: access
from: 192.168.80.40
--------------Elasticsearch output-------------------
###152行
(全部注釋掉)
----------------Logstash output---------------------
###165行
output.logstash:
hosts: ["192.168.80.30:5044"] #指定logstash的IP和端口
(3)啟動filebeat
nohup ./filebeat -e -c filebeat.yml > filebeat.out &
#-e:輸出到標(biāo)準(zhǔn)輸出,禁用syslog/文件輸出
#-c:指定配置文件
#nohup:在系統(tǒng)后臺不掛斷地運行命令,退出終端不會影響程序的運行
(4)在Logstash組件所在節(jié)點上,新建一個Logstash配置文件(CentOS 7-3)
vim /etc/logstash/conf.d/filebeat.conf
input {
beats {
port => "5044"
}
}
output {
elasticsearch {
hosts => ["192.168.80.10:9200","192.168.80.20:9200"]
index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
}
stdout {
codec => rubydebug
}
}
(5)啟動logstash,加載配置文件
cd /etc/logstash/conf.d
logstash -f /etc/logstash/conf.d/filebeat.conf #切記logstash服務(wù)一定要在/etc/logstash/conf.d配置文件的絕對路徑下啟動
###在filebeat節(jié)點上啟動filebeat服務(wù),并檢查配置我文件filebeat.yml
./filebeat -e -c filebeat.yml #在加載logstash -f /etc/logstash/conf.d/*.conf配置文件時,要保證filebeat服務(wù)一直是開啟的狀態(tài)
(6)瀏覽器訪問
http://192.168.80.10:5601
登錄Kibana,單擊“Create Index Pattern”按鈕添加索引“filebeat-*”,單擊 “create” 按鈕創(chuàng)建,單擊 “Discover” 按鈕可查看圖表信息及日志信息。
2. filter插件
對于Logstash的Filter,這個才是Logstash最強(qiáng)大的地方。Filter插件也非常多,我們常用到的grok、date、mutate、mutiline四個插件。
對于filter的各個插件執(zhí)行流程,可以看下面這張圖:
2.1 grok正則捕獲插件
grok使用文本片段切分的方式,來切分日志事件.
2.1.1 內(nèi)置正則表達(dá)式調(diào)用
語法:%{SYNTAX:SEMANTIC}
-
SYNTAX代表匹配值的類型,例如,0.11可以NUMBER類型所匹配,10.222.22.25可以使用IP匹配。
-
SEMANTIC表示存儲該值的一個變量聲明,它會存儲在elasticsearch當(dāng)中,方便kibana做字段搜索和統(tǒng)計,你可以將一個IP定義為客戶端IP地址client_ip_address,如%{IP:client_ip_address},所匹配到的值就會存儲到client_ip_address這個字段里邊,類似數(shù)據(jù)庫的列名,也可以把event log中的數(shù)字,當(dāng)成數(shù)字類型存儲在一個指定的變量當(dāng)中,比如響應(yīng)時間http_response_time,假設(shè)event log record如下:文章來源:http://www.zghlxwxcb.cn/news/detail-570651.html
message: 192.168.80.10 GET /index.html 15824 0.043
#可以使用如下grok pattern來匹配這種記錄
%{
IP:client_id_address} %{
WORD:method} %{
URIPATHPARAM:request} %{
NUMBER:bytes} %{
NUMBER:http_response_time}
文章來源地址http://www.zghlxwxcb.cn/news/detail-570651.html
到了這里,關(guān)于【ELK企業(yè)級日志分析系統(tǒng)】部署Filebeat+ELK詳解的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!