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(毫秒)相关文章:
ELK日志收集系统-filbeat
filebeat日志收集工具 elk:filebeat日志收集工具和logstash相同 filebeat是一个轻量级的日志收集工具,所使用的系统资源比logstash部署和启动时使用的资源要小的多 filebeat可以运行在非Java环境,它可以代理logstash在非java环境上收集日志…...
Python小知识
个人学习笔记,用于记录使用过程中好用的技巧、好用的库。 1 小知识 1.1 相对路径 1.2 打包Exe文件 命令: pyinstaller -F main.py其中-F:覆盖之前打包的文件 mian.py:需要打包的Python文件 PS:使用pyinstaller 5.1…...
如何在Ubuntu系统上安装Redis
Redis的下载 Redis安装包分为windows版和Linux版当前示例中介绍的是Linux版本Linux的下载地址:Index of /releases/ (redis.io)本次下载的压缩包为:redis-6.2.14.tar.gzRedis的安装 将压缩包通过ssh远程工具上传到Linux服务器中解压压缩包 tar -zxvf red…...
Vue2问题:如何全局使用less和sass变量?
前端功能问题系列文章,点击上方合集↑ 序言 大家好,我是大澈! 本文约2400字,整篇阅读大约需要4分钟。 本文主要内容分三部分,如果您只需要解决问题,请阅读第一、二部分即可。如果您有更多时间ÿ…...
Java 基础学习(四)操作数组、软件开发管理
1 操作数组 1.1.1 System.arraycopy 方法用于数组复制 当需要将一个数组的元素复制到另一个数组中时,可以使用System.arraycopy方法。它提供了一种高效的方式来复制数组的内容,避免了逐个元素赋值的繁琐过程。相对于使用循环逐个元素赋值的方式&#x…...
git仓库如何撤销提交,恢复提交,重置版本命令
撤销提交: 要撤销最近一次提交(未推送到远程仓库),可以使用以下命令: git reset HEAD^该命令将会把最后一次提交的修改从当前主分支中移除,并将这些修改的状态保留在本地工作目录中。 如果想要取消所有的…...
Java 基础学习(三)循环流程控制与数组
1 循环流程控制 1.1 循环流程控制概述 1.1.1 什么是循环流程控制 当一个业务过程需要多次重复执行一个程序单元时,可以使用循环流程控制实现。 Java中包含3种循环结构: 1.2 for循环 1.2.1 for循环基础语法 for循环是最常用的循环流程控制ÿ…...
别太担心,人类只是把一小部分理性和感性放到了AI里
尽管人工智能(AI)在许多方面已经取得了重大进展,但它仍然无法完全复制人类的理性和感性。AI目前主要侧重于处理逻辑和分析任务,而人类则具有更复杂的思维能力和情感经验。 人类已经成功地将一些可以数据化和程序化的理性和感性特征…...
最新AIGC创作系统ChatGPT系统源码+DALL-E3文生图+图片上传对话识图/支持OpenAI-GPT全模型+国内AI全模型
一、AI创作系统 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。那么如何搭建部署AI…...
在centos7上源码安装nginx
1. 安装必要的编译工具和依赖项 在编译Nginx之前,你需要安装一些编译工具和依赖项。可以通过以下命令安装: yum install gcc-c pcre-devel zlib-devel make 2. 下载Nginx源代码 从Nginx官网下载最新的源代码。你可以使用wget命令来下载: …...
Html网页threejs显示obj,ply三维图像实例
程序示例精选 Html网页threejs显示obj,ply三维图像实例 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《Html网页threejs显示obj,ply三维图像实例》编写代码,代码整洁࿰…...
Windows平台下的oracle 11G-11.2.0.4补丁升级操作指南
序号 文件名称 文件说明 1 p6880880_112000_MSWIN-x86-64_OPatch 11.2.0.3.33 for DB 11.2.0.0.0 (Feb 2022) 用于升级 OPatch 2 DB_PSU_11.2.0.4.220118 (Jan 2022)_p33488457_112040_MSWIN-x86-64 主要补丁文件 注意:请用管理员权限运行文件内命令&#…...
MFC居中显示文字及其应用
首先获取窗口客户区矩形,然后使用DrawText输出,设置DT_CENTER 和 DT_VCENTER标志; 输出如上图;没有实现垂直居中; 最终的代码如下; void CcenterView::OnDraw(CDC* pDC) {CcenterDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);if (!pDoc)return;// TODO: 在此处为…...
50-75GHz大功率六倍频源设计
摘 要 本文介绍了毫米波的特点,根据构成毫米波倍频器的不同器件,介绍了不同毫米波倍频器的实现方法,综述了毫米波倍频器这一领域的研究水平及其发展动态,重点研究频段全波导带宽倍频器的设计方法,从而将波段信号扩展到…...
Qt 软件调试(一) Log日志调试
终于这段时间闲下来了,可以系统的编写Qt软件调试的整个系列。前面零零星星的也有部分输出,但终究没有形成体系。借此机会,做一下系统的总结。慎独、精进~ 日志是有效帮助我们快速定位,找到程序异常点的实用方法。但是好的日志才能…...
docker network容器网络通信
Docker 网络主要有以下两个作用: 容器间的互联和通信以及端口映射容器IP变动时候可以通过服务名直接网络通信而不受到影响 只要是处于同一个Docker 网络下的容器就可以使用服务名直接访问,而无需担心重启。 docker容器网络模式 bridge网络模式&#…...
CVE-2022-4886 ingress命令注入复现与分析
安装 安装ingress-nginx wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.4/deploy/static/provider/cloud/deploy.yamlk apply -f deploy.yaml 原理 nginx.ingress.kubernetes.io/rewrite-target标签会在nginx配置进行插入字符串&#…...
Oracle整体架构
4. Oracle整体架构 所谓整体架构,这里是指保证Oracle数据库系统正常工作和运行所必须的组件及其实现。从大的方面讲,这主要包括实例和数据库。在此基础上细分,实例由相关内存区域和服务进程组成,数据库包括各种相关文件,而这些相关内存区域、服务进程及相关文件又可再进一…...
webpack具体实现--未完
1、前端模块打包工具webpack webpack 是 Webpack 的核心模块,webpack-cli 是 Webpack 的 CLI 程序,用来在命令行中调用 Webpack。webpack-cli 所提供的 CLI 程序就会出现在 node_modules/.bin 目录当中,我们可以通过 npx 快速找到 CLI 并运行…...
【Git】修改提交信息(单次、批量)
文章目录 修改最近一次 commit 的提交信息修改某次 commit 的提交信息方法总结 修改最近一次 commit 的提交信息 git commit --amend -m "new message"修改某次 commit 的提交信息 git log --oneline 运行结果如下2f80f1b commit 4 9ee990a 第三次提交 40f2f03 comm…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
C++实现分布式网络通信框架RPC(3)--rpc调用端
目录 一、前言 二、UserServiceRpc_Stub 三、 CallMethod方法的重写 头文件 实现 四、rpc调用端的调用 实现 五、 google::protobuf::RpcController *controller 头文件 实现 六、总结 一、前言 在前边的文章中,我们已经大致实现了rpc服务端的各项功能代…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
RocketMQ延迟消息机制
两种延迟消息 RocketMQ中提供了两种延迟消息机制 指定固定的延迟级别 通过在Message中设定一个MessageDelayLevel参数,对应18个预设的延迟级别指定时间点的延迟级别 通过在Message中设定一个DeliverTimeMS指定一个Long类型表示的具体时间点。到了时间点后…...
基于FPGA的PID算法学习———实现PID比例控制算法
基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容:参考网站: PID算法控制 PID即:Proportional(比例)、Integral(积分&…...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
工业安全零事故的智能守护者:一体化AI智能安防平台
前言: 通过AI视觉技术,为船厂提供全面的安全监控解决方案,涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面,能够实现对应负责人反馈机制,并最终实现数据的统计报表。提升船厂…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
