elk:filebeat日志收集工具和logstash相同。
filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小的多。
filebeat可以运行在非Java环境。他可以代理logtash在非java环境上收集日志。
filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一块使用。
filebeat收集的数据可以发往多个主机,远程发送。
在四台主机上安装filebeat
安装时间同步工具:
yum install ntpdate -y
ntpdate ntp.aliyun.com
date
直接收集nginx(192.168.176.60 本机)日志
给文件赋权:
cd /var/log/nginx/
chmod 777 access.log error.log
备份:
cd /opt/filebeat/
cp filebeat.yml filebeat.yml.bak
修改配置文件
vim filebeat.yml
改为logstash output
指定日志路径
创建logstash文件,指定es。
input {
beats { port => "5044" }
}
output {
if "nginx" in [tags] {
elasticsearch {
hosts => ["192.168.176.10:9200","192.168.176.50:9200"]
index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
}
}
stdout {
codec => rubydebug
}
}
设置文件保存路径
logstash -f file_nginx.conf --path.data /opt/test2
开启收集命令
nohup ./filebeat -e -C filebeat.yml > filebeat.out &
nohup表示在后台记录执行命令的过程
./filebeat 运行文件
-e 使用标准输出的提示进行syslog文件生成
-c 指定配置文件
执行过程生成到filebeat这个文件当中,&后台运行
创建索引模式
logstash收集日志的过程:
input(从哪里收集)
filter(过滤)
output(发送es实例)
上面为本地收集:
远程收集,远程多个日志。
开启MySQL日志
general_log=ON
general_log_file=/usr/local/mysql/data/mysql_general.log
安装httpd,nginx服务
安装filebeat 服务
#配置logsatsh
记得改端口,不要和上方重复
#启动 filebeat
nohup ./filebeat -e -c filebeat.yml > filebeat.out &
#多个实例同时收集:创建文件
vim nhm_30.conf
input {
beats { port => "5045" }
}
output {
if "nginx_30" in [tags] {
elasticsearch {
hosts => ["192.168.176.10:9200","192.168.176.50:9200"]
index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
}
}
if "httpd_30" in [tags] {
elasticsearch {
hosts => ["192.168.176.10:9200","192.168.176.50:9200"]
index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
}
}
if "mysql_30" in [tags] {
elasticsearch {
hosts => ["192.168.176.10:9200","192.168.176.50:9200"]
index => "%{[fields][service_name]}-%{+YYYY.MM.dd}"
}
}
stdout {
codec => rubydebug
}
}
设置文件保存路径
logstash -f nhm_30.conf --path.data /opt/test4
logstash可以使用任何端口,只有吗被占用都可以使用,推荐1024之后使用。
5044
5045
5046
对logstash性能上的优化:logstash启动是在jvm虚拟机当中,启动移除至少500M内存。
pipeline.workers: 2
logstash的工作线程,默认值就是cpu数,4 2 8 4给一般即可 2核,2个。
pipelinebatch.size:125
一次性能够批量处理检索事务的大小 125条数。200
pipeline.batch.delay: 50
查询更新的延迟。50毫秒,也可以自行调整。15 10 也要看机器性能。