根据elastic上的说法:
Filebeat is a lightweight, open source shipper for log file data. As the next-generation Logstash Forwarder, Filebeat tails logs and quickly sends this information to Logstash for further parsing and enrichment or to Elasticsearch for centralized storage and analysis.
Filebeat比Logstash貌似更好,是下一代的日志收集器,ELK(Elastic + Logstash + Kibana)以后估计要改名成EFK。
Filebeat使用方法:
http://www.dahouduan.com/2016/10/17/bigdata-filebeat-elasticsearch-kibana-elk/
在日志所在服务器上安装Filebeat 收集日志
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
创建 vi /etc/yum.repos.d/beat.repo 文件
保存以下内容
[beats]
name=Elastic Beats Repository
baseurl=https://packages.elastic.co/beats/yum/el/$basearch
enabled=1
gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch
gpgcheck=1
开始安装 yum -y install filebeat
开机自启动 chkconfig --add filebeat
启动命令 service filebeat start
修改filebeat.yml 配置文件
vi /etc/filebeat/filebeat.yml
重启服务
service filebeat restart
转入后台运行,最后到kibana里,创建一个索引,注意pattern为:filebeat-*
二、kibana的登录认证问题
kibana是nodejs开发的,本身并没有任何安全限制,直接浏览url就能访问,如果公网环境非常不安全,可以通过nginx请求转发增加认证,方法如下:
tips:kibana没有重启命令,要重启,只能ps -ef|grep node 查找nodejs进程,干掉重来。
1、参考以下内容,修改配置文件:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| server {
listen 80;
server_name kibana.xxx.com;
location / {
auth_basic "secret";
auth_basic_user_file /data/nginx/db/passwd.db;
proxy_pass http://localhost:5601;
proxy_set_header Host $host:5601;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Via "nginx";
}
access_log off;
}
|
上面的配置表示将kibana.xxx.com的请求,转发到服务器的5601端口,同时使用最基本的用户名、密码来认证。
2、配置登录用户名,密码
1
| htpasswd -c /data/nginx/db/passwd.db kibana
|
注意passwd.db的路径要跟nginx配置中的一致,最后的kibana为用户名,可以随便改,
输入完该命令后,系统会提示输入密码,搞定后passwd.db中就有加密后的密码了,有兴趣的可以cat看下。
提示:htpasswd是apache自带的小工具,如果找不到该命令,尝试用yum install httpd安装
3、关掉kibana端口的外网访问
用nginx转发后,一定要记得配置iptables之类的防火墙,禁止外部直接访问5601端口,这样就只能通过nginx来访问了。
参考文章:
1、http://elk-docker.readthedocs.org/
2、https://www.elastic.co/guide/en/beats/filebeat/current/filebeat-getting-started.html
3、http://geek.csdn.net/news/detail/54967
|