当前位置: 首页 > news >正文

ELK日志收集系统-filbeat

filebeat日志收集工具

elk:filebeat日志收集工具和logstash相同

filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小的多

filebeat可以运行在非Java环境,它可以代理logstash在非java环境上收集日志

logstash不足

filebeat无法实现数据的过滤,一般是结合logstash的数据过滤功能一起使用

filebeat工作流程

1、filebeat收集服务日志发送给logstash

2、logstash过滤,形成标准输出,发送到es主机上

3、es主机在发送给kibana

4、kiabana图形化界面

5、用户通过kiabana查看收集的日志

filebeat实验部署
安装filebeat
准备四台主机
把filebeat源码包拖到opt目录下vim /etc/logstash/logstash.yml
64行重启服务做时间同步
yum install ntpdate -y
ntpdate ntp.aliyun.com 安装nginx
并重启服务
给nginx的日志文件给权限
chmod 777 access.log error.log给filebeat的配置文件做个备份
cp filebeat.yml filebeat.yml.bakvim filebeat.ymlfilebeat inputs模块enabled:true
paths:- /usr/local/nginx/logs/access.log- /usr/local/nginx/logs/error.log
tags: ["nginx"]
fileds:service_name: 20.0.0.12_nginxlog_type: nginxfrom: 20.0.0.12mkdir log
vim file_nginx.conf
input {beats { port => "5044"}
}
output {if "nginx" in [tags]{elasticsearch {hosts => ["20.0.0.10:9200","20.0.0.11:9200"]index => "%{[fields][service_name]}-%{YYYY.MM.dd}"}}stdout{codec => rubydebug}
}nohup ./filebaet -e -c filebeat.yml > filebeat.out &
nohup 表示在后台纪录执行命令的过程
./filebeat 运行文件
-e 使用标准输出的同时进行syslog文件输出
-c 配置文件
执行过程输出到filebeat.out,&后台运行
:查看是否报错
tail -f /opt/filebeat/filebeat.outlogstash -f file_nginx.conf --path.data /opt/test	
本地收集

远程收集,远程收集多个日志

mysqlvim /etc/my.cnf
general_log=ON
generl_log_file=/usr/local/mysql/data/mysql_general.log重启服务
查看日志文件是否创建成功在MySQL上创建表
create table xiaobu (id int(2),name varchar(20));mysql上安装nginx,httpdvim /etc/nginx/nginx.conf
改变端口
重启服务http
vim /var/www/html/index.html
vim /usr/share/nginx/html/index.html浏览器访问
20.0.0.50:8080把filebeat拖到opt目录下
压缩
cd /filebeat
vim filebeat.ymlenabled: truepaths: - /var/log/nginx/access.log- /var/log/nginx/error.logtags: ["nginx_50"]fileds:service_name: 20.0.0.50_nginxlog_type: nginxfrom: 20.0.0.50
- type: logenabled: truepaths:- /etc/httpd/logs/access.log- /etc/httpd/logs/error.logtags: ["httpd_50"]fileds: service_name: 20.0.0.50_httpdlog_type: httpdfrom: 20.0.0.50
- type: logenabled: truepaths:- /usr/log/mysql/data/mysql_general.logtags: ["mysql_50"]fileds: service_name: 20.0.0.50_mysqllog_type: mysqlfrom: 20.0.0.50cd /opt/log
vim file_mysql.log
input {beats { port => "5045"}}
output {if "nginx_50" in [tags] {elasticsearch {hosts => ["20.0.0.10:9200","20.0.0.10:9200"]index => "%{[fileds][service_name]}-%{+YYYY.MM.dd}"}}if "httpd_50" in [tags] {elasticsearch {hosts => ["20.0.0.10:9200","20.0.0.10:9200"]index => "%{[fileds][service_name]}-%{+YYYY.MM.dd}"}}if "mysql_50" in [tags] {elasticsearch {hosts => ["20.0.0.10:9200","20.0.0.10:9200"]index => "%{[fileds][service_name]}-%{+YYYY.MM.dd}"}}stdout {codec => rubydebug}
}nohup ./filebeat -e -c filebeat.yml > filbeat.out &kibana
logstash -f file_mysql.conf --path.data /opt/test1

logstash 可以使用任意端口,只要没被占用都可以使用,推荐从1024使用

logstash 性能上的优化

logstash启动时在JVM虚拟机当中启动,启动一次至少500MB的内存

找到logstash的配置文件
vim /etc/logstash/logstash.yml
pipeline.workers:2
定义了,logstash的工作线程,默认就是CPU数,4 1 4 8给一半即可,2核,2个
pipeline.batch.size: 125
一次性能够批量处理检索事件的大小 125条数
pipeline.batch.delay: 50
查询更新的延迟 50(毫秒),也可以自行调整 15(毫秒)
http://www.lryc.cn/news/247102.html

相关文章:

  • Python小知识
  • 如何在Ubuntu系统上安装Redis
  • Vue2问题:如何全局使用less和sass变量?
  • Java 基础学习(四)操作数组、软件开发管理
  • git仓库如何撤销提交,恢复提交,重置版本命令
  • Java 基础学习(三)循环流程控制与数组
  • 别太担心,人类只是把一小部分理性和感性放到了AI里
  • 最新AIGC创作系统ChatGPT系统源码+DALL-E3文生图+图片上传对话识图/支持OpenAI-GPT全模型+国内AI全模型
  • 在centos7上源码安装nginx
  • Html网页threejs显示obj,ply三维图像实例
  • Windows平台下的oracle 11G-11.2.0.4补丁升级操作指南
  • MFC居中显示文字及其应用
  • 50-75GHz大功率六倍频源设计
  • Qt 软件调试(一) Log日志调试
  • docker network容器网络通信
  • CVE-2022-4886 ingress命令注入复现与分析
  • Oracle整体架构
  • webpack具体实现--未完
  • 【Git】修改提交信息(单次、批量)
  • Grafana Panel组件跳转、交互实现
  • 人工智能|机器学习——感知器算法原理与python实现
  • 【论文阅读笔记】Prompt-to-Prompt Image Editing with Cross-Attention Control
  • Echarts legend图例配置项 设置位置 显示隐藏
  • C#每天复习一个重要小知识day3:随机数的生成
  • Java后端使用XWPFDocument生成word文档,踩坑
  • asp.net core HttpContextAccessor类
  • 微服务--04--SpringCloudGateway 网关
  • Java程序连接 nacos集群
  • 【深度学习】参数优化和训练技巧
  • CeresPCL 曲线拟合之三次多项式