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启动################################################################################# 我是分割线

安全方面还可以基于nginx反向代理添加用户密码验证 nginx区域allow、deny对IP做限制等!