filebeat日志收集工具
1、优缺点
filebeat收集的数据可以发往多个主机,即远程收集
filebeat无法实现数据过滤,一般结合logstash的数据过滤一块使用
2、远程收集多主机的日志实验
实验目的:一体化查看日志
实验条件:
主机名 | 服务器 | IP地址 | 组件 | 硬件 (最少) |
test2 | es1 | 20.0.0.20 | ES+node+phantomjs+elasticsearch-head-master组件 | 2核4G |
test3 | es2 | 20.0.0.30 | ES+node+phantomjs+elasticsearch-head-master组件 | 2核4G |
test1 | logstash+kibana | 20.0.0.10 | logstash+kibana组件 | 4核8G |
mysql1 | 模拟多个主机上的服务 | 20.0.0.13 | httpd+nginx+mysql服务+filebeat组件 | 4核8G |
数据流向:
组件 | 端口号 |
elasticsearch-head-master | 9100 |
ES | 9200 |
kibana | 5601 |
logstash | 9600 |
实验步骤:
1、时间同步
时间同步工具yum install ntpdate -y
在线时间同步工具ntpdate ntp.aliyun.com
2、模拟多个主机上服务
yum安装httpd
yum安装nginx
编译安装mysql
之前已安装过
启动每个服务。注意httpd和nginx端口都是80,端口冲突。
将nginx的端口改成8000,才能启动nginx
3、打开mysql的日志功能
4、httpd、nginx、mysql服务的日志路径
赋权日志文件chmod 777 access.log error.log
5、测试httpd、nginx、mysql
6、安装filebeat【监控哪台服务器就安装在哪台上】
7、修改filebeat配置文件,接收不同主机上的服务的日志
hosts:表示往哪个服务器上发送日志(filebeat先发往lostash,再由loastash发送到ES服务器)
logstash可以使用任意端口,只有没被占用都可以使用,推荐使用从1024之后的端口号,用5044,5046都可以
from: 20.0.0.13表示日志从哪里来的服务器IP地址
8、创建logstash日志文件
9、启动filebeat收集日志
nohup ./filebeat -e -c filebeat.yml > filebeat.out &
tail -f filebeat.out 检查filebeat错误
若5044被占用,修改端口号即可收集日志
停止filebeat继续向logstash发送日志
修改5044端口号【凡是使用了5044的皆要修改】
vim /etc/logstash/conf.d/nginx.conf
端口号修改完成后,重新启动filebeat
启动logstash接收日志
10、使用服务,测试是否传输日志到ES服务器
logstash -f 10_filebeat_nginx.conf --path.data /opt/test7 &
索引生成,表示logstash已接收到日志并传输到ES服务器上存储
11、在图形化界面查看日志信息