ELK好了以後還要考慮到數據壓力還有安全問題
關於filebeat
使用beat的原因爲logstash需要依賴java環境,對cpu和內存消耗都比較大,所以filebeat應運而生,對cpu和內存基本沒有消耗。
配置filebeat(注意爲yaml語法,什麼是yaml自己google):
首先beat端證書
vim /etc/pki/tls/openssl.cnf
#在[ v3_ca ]下面填寫subjectAltName = IP: #若是beat端處於內網,建議ip寫成公網出口ip
subjectAltName= IP: 192.168.1.11
cd /etc/pki/tls/
openssl req -subj '/CN=192.168.1.11/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/filebeat.key -out certs/filebeat.crt
接着ELK端證書
vim /etc/pki/tls/openssl.cnf
#在[ v3_ca ]下面填寫subjectAltName = IP: #若是elk端處於內網,建議ip寫成公網出口ip
subjectAltName= IP: 192.168.1.15
cd /etc/pki/tls/
openssl req -subj '/CN=192.168.1.15/' -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout private/logstash.key -out certs/logstash.crt
互傳證書
分別將beat和elk端的filebeat.crt 、logstash.crt 傳輸到對方的/etc/pki/tls/certs目錄下
修改elk端logstash-server配置文件
vim /usr/local/logstash-server/config/server-logst.conf
input {
beats {
port => 5044
ssl => true
ssl_certificate_authorities => ["/etc/pki/tls/certs/filebeat.crt"]
ssl_certificate => "/etc/pki/tls/certs/logstash.crt"
ssl_key => "/etc/pki/tls/private/logstash.key"
ssl_verify_mode => "force_peer"
}
}
output部分輸出到redis詳見後面
修改beat端filebeat.yml配置文件
filebeat.prospectors:
- type: log
paths:- /var/log/*.log
tags: ["messg"]上面的跟logstash類似下面就是重點了
output.logstash:
#The Logstash hosts
hosts: ["192.168.1.15:5044"] #logstashIP+端口
ssl.certificate_authorities: ["/etc/pki/tls/certs/logstash.crt"]
ssl.certificate: "/etc/pki/tls/certs/filebeat.crt"
ssl.key: "/etc/pki/tls/private/filebeat.key"
啓動beat、logstash(或者寫成腳本restart)
/usr/local/filebeat/filebeat -e -c /usr/local/filebeat/filebeat.yml -d "Publish" 或者使用nohup &啓動
/usr/local/logstash-server/bin/logstash -f /usr/local/logstash-server/config/server-logst.conf & 或者使用nohup啓動#################################################################################
我是分割線
- /var/log/*.log
安全方面還可以基於nginx反向代理添加用戶密碼驗證 nginx區域allow、deny對IP做限制等!