filebeat 日志收集工具

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

指定日志路径

filebeat 日志收集工具_第1张图片

filebeat 日志收集工具_第2张图片

创建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

}

}

filebeat 日志收集工具_第3张图片

设置文件保存路径

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 日志收集工具_第4张图片

记得改端口,不要和上方重复

#启动 filebeat

nohup ./filebeat -e -c filebeat.yml > filebeat.out &

#多个实例同时收集:创建文件

vim nhm_30.conf

filebeat 日志收集工具_第5张图片

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 也要看机器性能。

你可能感兴趣的:(云计算,elasticsearch)