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

elk + filebeat + kafka实验和RSync同步

elk + filebeat + kafka实验和RSync同步

elk + filebeat + kafka实验

filebeat+kafka+ELK实验的操作步骤:

#在装有nginx的主机上解压filebeat压缩包
[root@test4 opt]# tar -xf filebeat-6.7.2-linux-x86_64.tar.gz 
#将解压后的压缩包更改名字
[root@test4 opt]# mv filebeat-6.7.2-linux-x86_64 filebeat
#进入filebeat目录下,将filebeat.yml配置文件备份
[root@test4 opt]# cd filebeat/
[root@test4 filebeat]# cp filebeat.yml filebeat.yml.bak
#进入filebeat.yml配置文件并更改
[root@test4 filebeat]# vim filebeat.yml
filebeat.prospectors:
- type: logenabled: truepaths:- /usr/local/nginx/logs/access.logtags: ["access"]
- type: logenabled: truepaths:- /usr/local/nginx/logs/error.logtags: ["error"]
#将下面两行注释
144 #output.elasticsearch:
146 #  hosts: ["localhost:9200"]
#将157行,160行取消注释并修改
157 output.kafka:
158   enabled: true
159   # The Logstash hosts
160   hosts: ["192.168.60.91:9092","192.168.60.92:9092","192.168.60.93:9092"]           #指定kafka集群配置
161   topic: "nginx"        #指定kafka的topic
#启动filebeat
[root@test4 filebeat]# ./filebeat -e -c filebeat.yml
#在ELK的主上配置
[root@apache ~]# cd /etc/logstash/conf.d/
[root@apache conf.d]# vim kafka.conf
input {kafka {bootstrap_servers => "192.168.60.91:9092,192.168.60.92:9092,192.168.60.93:9092"topics => "nginx"type => "nginx_kafka"codec => "json"auto_offset_reset => "latest"#拉取最近数据,earliest为从头开始拉取decorate_events => true#传递给elasticsearch的数据额外增加kafka的属性数据}
}
output {if "access" in [tags] {elasticsearch {hosts => ["192.168.60.82:9200","192.168.60.83:9200"]index => "nginx_access-%{+YYYY.MM.dd}"}}if "error" in [tags] {elasticsearch {hosts => ["192.168.60.82:9200","192.168.60.83:9200"]index => "nginx_error-%{+YYYY.MM.dd}"}}
}
#启动logstash
[root@apache conf.d]# logstash -f kafka.conf

RSYNC:远程同步

上行 客户端同步到服务端

下行 服务端同步到客户端

开源的快速备份的工具,一般是系统自带的。

可以在不同主机之间同步整个目录树(目录)

在远程同步的任务中,负责发起rsync的叫做发起端,也就是服务端,负责响应的同步请求的,就是客户端。

rsync的特点:

1、支持拷贝文件,链接文件等等

2、可以同步整个目录

3、可以支持保留源文件或者目录的权限等等

4、可以实现增量同步

rsync的同步方式:

1、完整备份

2、增量备份

常用的选项:

1、-a 归档模式(保留权限)

2、-v 显示同步的详细过程

3、-z 压缩,在传输的过程中对文件进行压缩。

4、-H 同步硬连接

5、--delete 同步删除文件

6、-l 同步连接文件

7、-r 递归(所有)

192.168.60.80 服务端

192.168.60.90 客户端

客户端同步服务端的目录操作步骤:

服务端的配置文件

[root@test8 ~]# vim /etc/rsyncd.conf
# /etc/rsyncd: configuration file for rsync daemon mode
​
# See rsyncd.conf man page for more options.
​
# configuration example:
​uid = rootgid = rootuse chroot = yes
#是否禁锢在源目录
address = 192.168.60.80
#监听地址
port 873
# max connections = 4
pid file = /var/run/rsyncd.pid
log file = /var/log/rsyncd.log
hosts allow = 192.168.60.0/24
#允许访问的客户端IP地址
dont compress = *.gz *.bz2 *.tgz *.zip *.rar *.z
#在传输过程中不再进行压缩的文件类型
​
[test]
#共享模块的名称,后续通过模块的名称来进行同步
path = /opt/test
#源目录,就是同步的目录
#comment = test
#备注信息,可以不加
read only = no
#源目录,客户端可以读,也可以写 
auth users = backuper
#授权登录的账户名称
secrets file = /etc/rsyncd_users.db
#授权登录用户的密码文件
~  
​
[root@test8 ~]# chmod 600 /etc/rsyncd_users.db 
[root@test8 ~]# mkdir /opt/test
mkdir: 无法创建目录"/opt/test": 文件已存在
[root@test8 ~]# chmod 777 /opt/test/
[root@test8 ~]# netstat -antp | grep 873
[root@test8 ~]# systemctl restart rsyncd
[root@test8 ~]# netstat -antp | grep 873
tcp        0      0 192.168.60.80:873       0.0.0.0:*               LISTEN      10611/rsync         
#设置用户登录的密码
[root@test8 test]# vim /etc/rsyncd_users.db
backuper:123456
​
[root@test8 ~]# chmod 600 /etc/rsyncd_users.db 
[root@test8 ~]# mkdir /opt/test
[root@test8 ~]# chmod 777 /opt/test/
[root@test8 ~]# netstat -antp | grep 873
[root@test8 ~]# systemctl restart rsyncd
[root@test8 ~]# netstat -antp | grep 873
tcp        0      0 192.168.60.80:873       0.0.0.0:*               LISTEN      10611/rsync
#在客户端的主机上将服务端的模块名称为test复制到客户端的opt目录下
[root@test9 opt]# rsync -avz backuper@192.168.60.80::test /opt
#写一个密码的文件
[root@test9 xy102]# vim /etc/server.pass 
123456
​
#下面的代码是实现免密登录
[root@test9 opt]# rsync -avz --password-file=/etc/server.pass backuper@192.168.60.80::test /opt

客户端监控文件系统的变化:

inotify-tools

inotify 实现监控

inotify watch 监控文件系统的变化

inotify wait 监控修改,创建,移动,删除,属性修改(权限修改、所有者、所在组)如果发生变动,立即输出结果。

inotifywait -mrq -e modify,create,move,delete /opt/xy102

m 持续监控

r 递归整个目录,只要有变化包含子目录的变化全部记录

q 简化输出的信息

e 指定监控的时间

attrib  属性修改
inotifywait -mrq -e modify,create,move,delete,attrib /opt/xy102

将客户端的变化同步到服务端中去(下行同步):

#在客户端上写一个脚本文件
[root@test9 opt]# vim inotify.sh
#!/bin/bash
inotify_cmd="inotifywait -mrq -e modify,create,move,delete,attrib /opt/xy102"
rsync_cmd="rsync -azH --delete --password-file=/etc/server.pass /opt/xy102 backuper@192.168.60.80::test/"
$inotify_cmd | while read DIRECTORY EVENT FILE
doif [ $(pgrep rsync | wc -l ) -le 0 ]then$rsync_cmdfi
done
#给脚本文件赋权并执行脚本文件
[root@test9 opt]# chmod 777 inotify.sh 
[root@test9 opt]# ./inotify.sh

attrib 属性修改

--delete

A

/opt/test 1 2 3

B

/opt/xy102 4 5 6

--delete 全同步(两边的内容完全一致)

相关文章:

elk + filebeat + kafka实验和RSync同步

elk filebeat kafka实验和RSync同步 elk filebeat kafka实验 filebeatkafkaELK实验的操作步骤: #在装有nginx的主机上解压filebeat压缩包 [roottest4 opt]# tar -xf filebeat-6.7.2-linux-x86_64.tar.gz #将解压后的压缩包更改名字 [roottest4 opt]# mv file…...

子类到底能继承父类中的哪些内容?

...

【超详细公式】曝光值(EV)、光圈(AV)、快门(TV)、感光度(SV)、照度(Lux)

文章目录 术语 E V A V T V − S V EV AV TV - SV EVAVTV−SV L u x 2.5 2 E V Lux 2.5 \times 2^{EV} Lux2.52EV通常环境光照度参照表 术语 术语全称中文名EVExposure Value曝光值AVAperture Value光圈值TVTime Value快门值SVSensitive Value感光值BVBrightness Value…...

【Java】增强for遍历集合。

增强for遍历 增强for底层就是迭代器。所有的单列集合和数组才能使用增强for遍历。 在循环过程中无法对集合中的元素进行修改。 package demo;import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class submit {public static void …...

【Qt】管理创建子项目

新建项目 打开是这样,无法添加子项目 pro添加 TEMPLATE subdirs有了 点击添加子项目 其他项目-子目录项目 (空的子项目,只有pro,无h、cpp) 子目录名字 直接创建子目录下子项目 选择有无界面或者其他类型项目 …...

力扣——238.移动零

题目 思路 利用双指针,先找到第一个为0的地方指向,指针2指向下一个,指针1之前是已经处理好的数据,指针2进行遍历,遇到非零则与指针1数据交换,然后指针1。 代码 class Solution { public:void moveZeroes(…...

编程的魅力

在数字化时代,编程已不仅仅是计算机科学家的专属领地,它正逐渐渗透到我们生活的每一个角落,成为连接现实与虚拟、创新与传统的重要桥梁。编程,这一门融合了逻辑、创造与解决问题的艺术,正以其独特的魅力引领着新一轮的…...

想提升跨境电商运营?浏览器多开为你助力!

在日常生活中,我们在使用浏览器访问网站时,可能会遇到一个尴尬的情况:无法同时登录一个网站的多个账号。对于跨境电商卖家来说,这种情况更为常见。例如,当我们需要在亚马逊管理店铺时,我们可能已经使用A账号…...

使用QML的ListView自制树形结构图TreeView

背景 感觉QML自带的TreeView不是很好用,用在文件路径树形结构比较多,但是想用在自己数据里,就不太方便了,所以自己做一个。 用‘ListView里迭代ListView’的方法,制作树形结构,成果图: 代码…...

2.MySQL面试题之索引

1. 为什么索引要用 B树来实现呢,而不是 B 树? MySQL 选择使用 B 树来实现索引,而不是 B 树,主要是基于以下几个原因: 1.1 数据存储和访问效率 B 树:在 B 树中,数据和索引都存储在每个节点中。…...

复制CodeIgniter新版的array_group_by辅助函数

很需要php数组的group_by功能,发现codeIgniter4.5新版中已有这个辅助函数,但我用的codeIgniter4.14没有,又不想升级php等一系列东西,就想把把codeIgniter4.5中array_group_by函数复制过来用。 先试着把新版本的array_helper文件及…...

合并两个 ES (Elasticsearch) 的数据

要将两个 Elasticsearch 实例中的同一个索引(/test_index)的数据合并到一个实例中,你可以按照以下步骤操作: 假设 Elasticsearch 1 (ES1) 和 Elasticsearch 2 (ES2) 都有相同的索引 /test_index。希望将 ES2 中的数据合并到 ES1 中。步骤 导出 ES2 的数据:使用 Elasticse…...

Linux网络协议.之 tcp,udp,socket网络编程(四).之网络转换函数htonl,ntohs等介绍

字节转换函数 把给定系统所采用的字节序称为主机字节序,为了避免不同类别主机之间在数据交换时由于对于字 节序的不同而导致的差错,引入了网络字节序。 主机字节序到网络字节序 u_long htonl(u_long hostlong); u_short htons(u_short short); 网络字节…...

LXC和udev知识点

1 POSIX pthread_create原理 1)fork()、pthread_create()、vfork()对应的系统调用分别是sys_fork()、sys_clone()、sys_vfork(),它们在内核中都是通过do_fork()实现的。 2)系统中所有的进程都组织在init_task.tasks链表下面,每个进…...

基于springboot+vue+uniapp的智慧校园管理系统小程序

开发语言:Java框架:springbootuniappJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包&#…...

论文辅导 | 基于概率密度估计与时序Transformer网络的风功率日前区间预测

辅导文章 模型描述 本文所提出的时序优化Transformer 结构,该模型从结构上看由三部分组成:向量映射、编码器和解码器。编码器输入为数值天气预报数据以及相应的时间编码。解码器输入为预测日之前输出功率历史数据以及相应的时间编码。这些数据在经过向量…...

金蝶云星空单据体数量汇总-分组列信息

文章目录 金蝶云星空单据体数量汇总-分组列信息BOS配置效果展示 金蝶云星空单据体数量汇总-分组列信息 BOS配置 效果展示...

树状数组基础知识以及相关习题

文章目录 什么是树状数组?如何理解树状数组如何理解精髓lowbit二叉树和树状数组的结构树状数组的优点树状数组模板单点修改,区间查询区间修改,单点查询区间修改,区间查询树状数组法线段树法 树状数组基础练习题逆序对动态求连续区…...

2023大数据-架构师案例(八)

Lambda架构 nginx (b) Hbase (c)Spark Streaming (d)Spark (e)MapReduce (f)ETL (g)MemSQL (h)HDFS &#x…...

【Python】Python:探索未来科技的风向标

Python:探索未来科技的风向标 一、背景 近年来,随着人工智能、大数据、云计算等技术的飞速发展,Python 作为一门功能强大、简单易学的编程语言,逐渐成为了开发者的首选。在我国,Python 的热度持续攀升,不…...

Qt定时器实战:5个QTimer高频使用场景代码示例(附避坑指南)

Qt定时器实战:5个QTimer高频使用场景代码示例(附避坑指南) 在Qt开发中,定时器是构建响应式、实时性应用的核心组件之一。无论是界面刷新、数据轮询还是事件防抖,QTimer都能以简洁的API解决复杂的时间控制问题。本文将聚…...

【前端】【安全】【业务场景】设备指纹技术在前端安全登录中的应用实践

1. 设备指纹技术的前端安全价值 最近处理了一个电商平台的账号盗用案例,攻击者通过撞库获取用户凭证后,竟然能在不同设备上同时登录十几个账号。这让我意识到:单纯依赖账号密码的登录体系已经不够安全。而设备指纹技术就像给每台设备发了一张…...

Python的__init_subclass__设计扩展

Python作为一门灵活且功能强大的编程语言,其面向对象编程特性一直备受开发者青睐。其中,__init_subclass__是Python 3.6引入的一个特殊方法,它为类的继承机制提供了更强大的扩展能力。通过这个方法,开发者可以在子类被定义时自动执…...

Burpsuite插件Galaxy实战:5分钟搞定FastAPI接口的DES-CBC加解密调试

Burpsuite插件Galaxy实战:5分钟搞定FastAPI接口的DES-CBC加解密调试 当你面对一个采用DES-CBC加密的FastAPI接口时,是否曾为无法直接查看和修改请求内容而头疼?作为安全测试工程师或Web开发者,快速解析加密流量是日常工作中的关键…...

Flutter漫画阅读器终极指南:打造你的专属漫画世界

Flutter漫画阅读器终极指南:打造你的专属漫画世界 【免费下载链接】flutter_dmzj 动漫之家第三方Flutter客户端 项目地址: https://gitcode.com/gh_mirrors/fl/flutter_dmzj 动漫之家X是一款使用Flutter开发的跨平台第三方客户端,为漫画爱好者提供…...

3步掌握Happy Island Designer:从零开始打造完美动物森友会岛屿

3步掌握Happy Island Designer:从零开始打造完美动物森友会岛屿 【免费下载链接】HappyIslandDesigner "Happy Island Designer (Alpha)",是一个在线工具,它允许用户设计和定制自己的岛屿。这个工具是受游戏《动物森友会》(Animal …...

【计算机网络】思科实验:OSPF多区域配置与链路状态数据库解析

1. OSPF多区域配置实战指南 第一次接触OSPF多区域配置时,我被那些LSA类型和区域边界搞得头晕眼花。直到在真实项目里把整个网络搞瘫痪过一次,才真正理解多区域设计的精妙之处。这次我们就用Packet Tracer搭建一个包含Area 0、Area 1和Area 2的完整实验环…...

WeMos开发板

这是Arduino IDE的提示信息,表示还没有连接开发板。你需要:1. 连接WeMos开发板 到电脑的USB端口 2. 安装CH340G驱动 (如果还没安装) 3. 选择正确的开发板和端口 :- 点击「工具」→「开发板」→选择「LOLIN(WEMOS) D1 R…...

Ribo-seq翻译组测序技术优化,rRNA占比平均低至14%,新增翻译暂停分析

Ribo-seq (Ribosome profiling),即核糖体印迹测序技术,系由 Weissman 课题组于 2009 年首次发表的翻译组学研究技术[1]。利用 Ribo-seq,研究者能从基因组水平检测蛋白质的翻译状况,获得全面的、高质量的蛋白质翻译速度情况&#x…...

粒子群算法PID参数的半主动悬架控制软件版本:matlab 粒子群算法PID参数的半主动悬架控制 软件版本:matlab2018a

粒子群算法PID参数的半主动悬架控制软件版本:matlab 粒子群算法PID参数的半主动悬架控制 软件版本:matlab2018a 资料包括: 1/4半主动悬架Simulink模型(状态空间方程表示) 作为对比的被动悬架Simulin模型 粒子群算法主程…...