ELK之Filebeat实用配置及批量部署(部署200+可用)
跟我之前Zabbix-agent批量部署脚本Linux and Windows(部署300+可用)文章的套路一样,在使用该脚本前,请先准备好安装包及配置好安装包的资源下载点,由于我这边是纯内网,所以我就找了一个NAS做了共享目录,用于安装脚本去下载安装包
至于怎么做共享目录就不多说,我的目录包含4个文件:
filebeat.service
#用于配置filebeat服务及自启动filebeat.yml
#filebeat的配置文件filebeat-8.3.3-linux-x86_64.tar.gz
#filebeat的主要安装包http_ca.crt
#与Elasticsearch连接的证书文件
测试参数,请酌情修改:
Elasticsearch服务器:192.168.1.1
Elasticsearch账号:elastic/123456
Kibana服务器:192.168.1.1
资源下载点:192.168.1.2
访问资源的账号:nasuser/123456
临时客户端IP:192.168.1.3 (这个在批量部署脚本中是可以被自动修改为实际IP的)
Filebeat配置文件详情:
filebeat.inputs:# 配置日志输入- type: logenabled: truepaths:- /var/log/messages- /var/log/secureprocessors:# 处理器,过滤不包含特定关键词的日志事件- drop_event.when.not.regexp.message: "error|exception|fail"- add_tags:tags: ["error_logs"]tags: ["192.168.1.3 "] # 添加额外的标签- type: logenabled: truepaths:- /var/log/secureprocessors:- drop_event.when.not.regexp.message: "sshd|login|logout|session|pam_unix|pam_succeed_if|Accepted|Failed|Invalid user|user .* from|pam_unix(sshd:session)"- add_tags:tags: ["login_logs"]tags: ["192.168.1.3 "] # 添加额外的标签output.elasticsearch:# 输出到Elasticsearchhosts: ["192.168.1.1:9200"]protocol: "https"username: "elastic"password: "123456"allow_older_versions: truessl.certificate_authorities: ["/elkbeat/filebeat/http_ca.crt"]indices:# 根据标签将日志事件发送到不同的索引- index: "linux-error-%{[beat.version]}-%{+yyyy.MM}"when.contains:tags: "error_logs"- index: "linux-login-%{[beat.version]}-%{+yyyy.MM}"when.contains:tags: "login_logs"processors:- drop_fields:fields: ["agent", "ecs", "@metadata", "input"] # 删除指定的字段setup.kibana:host: "192.168.1.1:5601" # 配置连接到Kibana的地址logging.level: error
logging.to_files: true
logging.files:path: /var/log/filebeat # 日志文件输出路径name: filebeat.log # 日志文件名keepfiles: 7 # 保留的日志文件数量
批量部署脚本如下:
#!/bin/bash# 检查是否已安装filebeat相关软件包(通过文件查询方式)
is_installed_check() {file="/elkbeat/filebeat/filebeat"if [ -e "$file" ]; thenreturn 0elsereturn 1fi
}# 获取已安装的filebeat相关软件包列表(通过脚本方式)
get_installed_packages_sh() {installed_packages=$(/elkbeat/filebeat/filebeat version)echo "已安装软件包:$installed_packages"
}# 获取主机的IP地址(以192.168开头)
get_ip_address() {ip_address=$(ip addr | awk '/inet / && /192\.168\./ {gsub(/\/[0-9]+/, "", $2); print $2}')echo "主机IP:$ip_address"
}# 下载安装包
download_packages() {mkdir -p /elkbeatwget -nc --ftp-user=test --ftp-password=123456 ftp://192.168.1.2/Temp/yum/* -P /elkbeat/ &> /dev/null
}#安装软件包
install_packages() {cd /elkbeatmkdir -p /elkbeat/filebeat/rm -rf /elkbeat/filebeat/*tar -xzf filebeat-8.3.3-linux-x86_64.tar.gzmv /elkbeat/filebeat-8.3.3-linux-x86_64/* /elkbeat/filebeat/cp /elkbeat/filebeat.service /lib/systemd/system/cp /elkbeat/http_ca.crt /elkbeat/filebeat/cd /elkbeatrm -rf filebeat-8.3.3*
}# 替换配置文件
replace_config() {cd /elkbeat/filebeatcp filebeat.yml filebeat.yml.bakcp -f /elkbeat/filebeat.yml /elkbeat/filebeat/sed -i "s/tags: \[\"10\.115\.85\.195\"\]/tags: \[\"$ip_address\"\]/g" /elkbeat/filebeat/filebeat.yml
}# 检查服务状态
check_service_status() {systemctl restart filebeatservice_status=$(systemctl is-active filebeat.service --quiet && echo "active" || echo "inactive")echo "服务状态:$service_status"
} # 设置服务启动及开机启动
set_service() {# 启动服务systemctl start filebeat# 设置开机启动systemctl enable filebeat}# 执行主程序
is_installed_check
if [ $? -eq 0 ]; thenecho "已安装filebeat相关软件包"get_installed_packages_sh
elseecho "未安装filebeat相关软件包"get_ip_addressdownload_packagesinstall_packagesreplace_configcheck_service_statusset_service
fi
相关文章:
ELK之Filebeat实用配置及批量部署(部署200+可用)
跟我之前Zabbix-agent批量部署脚本Linux and Windows(部署300可用)文章的套路一样,在使用该脚本前,请先准备好安装包及配置好安装包的资源下载点,由于我这边是纯内网,所以我就找了一个NAS做了共享目录&…...
用odin实现的资源复制编辑器
用odin实现了一个资源复制编辑器,使用要安装odin,功能是把要复制的资源路径一个个添加设置,点copy能把列表里的资源全部复制,支持目录复制到目录,文件复制到目录,文件复制替换。提升效率,让自己…...
linux监控文件操作行为
linux监控文件操作行为 使用 auditd 系统 auditd 是Linux系统的一个安全和审计系统,它能够跟踪系统上发生的安全相关事件。要使用 auditd 来监控文件,你需要首先确保 auditd 已经安装并且运行在你的系统上。 然后,你可以使用 auditctl 命令…...
单链表接口函数的实现(增删查改)
一、单链表的实现形式以及接口函数的声明 #include<stdio.h> #include<stdlib.h> #include<assert.h> typedef int DataType ;typedef struct SListNode {DataType data;struct SListNode* next; }SLTNODE; void SLTPrint(SLTNODE* phead);//打印链表 SLTNO…...
超低功耗Sub-1G收发芯片DP32RF002 M0内核(G)FSK/OOK 无线收发机的32位SoC芯片
产品概述 DP32RF002是深圳市动能世纪科技有限公司研制的基于ARMCortex-MO内核的超低功耗 高性能的、单片集成(G)FSK/OOK 无线收发机的32位SoC芯片。工作于200 ~960MHz范围内,支持灵活可设的数据包格式,支持自动应答和自动重发功能,支持跳频…...
uniapp_微信小程序_NaN
一、定义 isNaN() 函数用于检查一个值是否为 NaN。它接受一个参数,该参数可以是任何 JavaScript 数据类型,包括数字、字符串、对象等。如果参数是 NaN,或者不能被转换为数字,则 isNaN() 返回 true;否则返回 false。 …...
1043: 利用栈完成后缀表达式的计算
解法: #include<iostream> #include<stack> using namespace std; int main() {char a;stack<int> sk;while (cin >> a && a ! #) {if (a > 0 && a < 9) {sk.push(a - 0);}else {int num2 sk.top();sk.pop();int n…...
初学ELK - elk部署
一、简介 ELK是3个开源软件组合,分别是 Elasticsearch ,Logstash,Kibana Elasticsearch :是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自…...
[Java EE] 计算机工作原理与操作系统简明概要
1. 计算机工作原理 1.1 生活中常见的计算机 计算机分为通用计算机和专用计算机,计算机并不单单指的是电脑,还有我们平时使用的手机,ipad,智能手表等终端设备都是计算机.还有我们用户不常见的计算机,比如服务器. 还有许多嵌入式设备(针对特定场景定制的"专用计算机"…...
【尚硅谷】Git与GitLab的企业实战 学习笔记
目录 第1章 Git概述 1. 何为版本控制 2. 为什么需要版本控制 3. 版本控制工具 4. Git简史 5. Git工作机制 6. Git和代码托管中心 第2章 Git安装 第3章 Git常用命令 1. 设置用户签名 1.1 基本语法 1.2 案例实操 2. 初始化本地库 2.1 基本语法 2.2 案例实操 3. 查…...
如何在MobaXterm上使用rz命令
1、首先输入命令和想下载的文件,如下图: 2、按住ctrl鼠标右键,选择如下选项: 上传命令是rz,选择Receive...... 下载命令是sz,选择Send...... 3、我这里是要把Linux上的文件下载到我的本地window磁盘&…...
【计算机考研】408网课汇总+资源分享
408王道的视频就比较通俗易懂 王道的教材非常契合408的大纲,是专门为408大纲而编写的,而教材是方方面面都讲解的透彻。 建议王道为主,网络搜索为辅! 王道中讲解不清楚,看不懂的知识点,可以尝试在网络上进…...
如何在OceanBase v4.2 中快速生成随机数据
在使用传统数据库如 MySQL 和 Oracle 时,由于缺乏多样化的随机数据生成方案,或者实现成本过高,构造随机数据的开发成本受到了影响。OceanBase在老版本中虽然有相应的解决方案,但语法复杂和性能较差等问题仍然存在。 现在…...
nvm node.js的安装
说明:部分但不全面的记录 因为过程中没有截图,仅用于自己的学习与总结 过程中借鉴的优秀博客 可以参考 1,npm install 或者npm init vuelatest报错 2,了解后 发现是nvm使用的版本较低,于是涉及nvm卸载 重新下载最新版本的nvm 2…...
【Docker】安装Redis、Nginx
1、安装redis mkdir -p /docker/redis mkdir -p /docker/redis/data touch /docker/redis/redis.conf touch /docker/redis/redis.bash编辑配置文件 vim /docker/redis/redis.conf # Redis配置文件# Redis默认不是以守护进程的方式运行,可以通过该配置项修改&…...
RK3568 UBUNTU修改网卡名称
RK3568 UBUNTU系统有两个网卡,ETH0和ETH1,于设备机壳丝印ETH1、ETH2无法对应,于是百度了一下相关的修改办法,有修改设备树的等等,挑了一个最简单,验证通过 #第1步,将原网卡关闭ip …...
【华为OD机试C++】统计字符
《最新华为OD机试题目带答案解析》:最新华为OD机试题目带答案解析,语言包括C、C++、Python、Java、JavaScript等。订阅专栏,获取专栏内所有文章阅读权限,持续同步更新! 文章目录 描述输入描述输出描述示例代码描述 输入一行字符,分别统计出包含英文字母、空格、数字和其它…...
百货商场用户画像描绘and价值分析(下)
目录 内容概述数据说明技术点主要内容4 会员用户画像和特征字段创造4.1 构建会员用户基本特征标签4.2 会员用户词云分析 5 会员用户细分和营销方案制定5.1 会员用户的聚类分析及可视化5.2 对会员用户进行精细划分并分析不同群体带来的价值差异 内容概述 本项目内容主要是基于P…...
spring-cloud微服务gateway
核心部分:routes(路由), predicates(断言),filters(过滤器) id:可以理解为是这组配置的一个id值,请保证他的唯一的,可以设置为和服务名一致 uri:可以理解为是通过条件匹配之后需要路由到&…...
【python】在pycharm创建一个新的项目
双击打开pycharm,选择create new project 选择create,后进入项目 右键项目根目录,选择new一个新的python file 随意命名一下 输入p 然后后面就会出现智能补全提示,此时轻敲一下tab,代码就写好了,非常的方便 右键执行一下代码,下面两个直接运行和debug运行都是可以的 小结 …...
软件工程师如何转型AI工程师 第三章 技术路线的选择——不要从头学起
第三章 技术路线的选择——不要从头学起 在转型的技术路径上,我见过最多的弯路长这个样子:某个工程师下定决心要搞AI,于是买了一本《深度学习》(花书),从第一章线性代数开始硬啃,啃到反向传播…...
FireRedASR Pro Java集成开发指南:SpringBoot微服务语音处理实战
FireRedASR Pro Java集成开发指南:SpringBoot微服务语音处理实战 如果你是一个Java后端开发者,最近接到了要给系统加上语音识别功能的需求,比如处理用户上传的客服录音,或者分析会议纪要,那你可能正在寻找一个既稳定又…...
ClearerVoice-Studio语音处理效率实测:1分钟音频平均处理耗时18秒
ClearerVoice-Studio语音处理效率实测:1分钟音频平均处理耗时18秒 1. 测试背景与工具介绍 ClearerVoice-Studio是一个开箱即用的语音处理工具包,集成了多种先进的AI语音处理功能。这个工具最大的特点就是简单易用,不需要用户具备深度学习背…...
PP-DocLayoutV3高算力适配:FP16推理开启后显存降低30%,精度损失<0.5%
PP-DocLayoutV3高算力适配:FP16推理开启后显存降低30%,精度损失<0.5% 文档版面分析是智能文档处理流程中的关键一环,它负责从一张图片中识别出哪里是标题、哪里是正文、哪里是表格或图片。这就像是给文档拍一张X光片,把它的“…...
一个店铺被TRO,会连累同一主体的其他店铺吗?
SellerAegis卖家守护视角下的跨境账号风险全解析在跨境电商运营中,TRO(Temporary Restraining Order,临时限制令)已经成为卖家最为警惕的法律风险之一。许多卖家在遭遇TRO时,最焦虑的问题往往不是当前店铺被冻结&#…...
Windows下OpenClaw安装避坑:ollama-QwQ-32B接口对接详解
Windows下OpenClaw安装避坑:ollama-QwQ-32B接口对接详解 1. 为什么选择OpenClawollama-QwQ-32B组合 去年我在尝试自动化处理日报和周报时,发现市面上的RPA工具要么太笨重,要么需要频繁录制操作。直到遇到OpenClaw这个开源框架,它…...
DAMA数据资产目录实战:从零搭建企业级数据管理系统的5个关键步骤
DAMA数据资产目录实战:从零搭建企业级数据管理系统的5个关键步骤 当企业数据量呈指数级增长时,最令人头疼的往往不是存储问题,而是"数据在哪?谁能用?怎么用?"这三个灵魂拷问。去年我们为一家中型…...
Flowable7.x实战指南:构建高效“我的已办”功能与流程闭环
1. 为什么企业级应用必须实现"我的已办"功能 第一次接触Flowable工作流引擎时,我总觉得"我的已办"就是个简单的历史记录功能。直到在实际项目中踩过几次坑才发现,这个看似简单的模块,其实是整个流程管理系统的"中枢…...
STM32平台VL53L8CH多区ToF传感器驱动库详解
1. 项目概述STM32duino VL53L8CH 是专为 STM32 平台(兼容 Arduino API 风格)设计的 VL53L8CH 多区飞行时间(Time-of-Flight, ToF)传感器驱动库。该库并非从零编写,而是基于 ST 官方 VL53LMZ ULD SDK v1.7.0 进行深度适…...
ICASSP2023|达摩院语音实验室14篇论文技术亮点全解析
1. 达摩院语音实验室的ICASSP2023技术突破全景 每年ICASSP会议都是语音技术领域的风向标,今年达摩院语音实验室的14篇入选论文就像一套"技术组合拳",覆盖了从基础研究到产业落地的完整链条。我仔细研读了这些论文,发现它们有个共同…...
