系统架构使用了elasticearch、logstash、kibana软件,基于elastic stack security进行系统数据的相关处理。其中
- Elasitcsearch能够使用Elastic stack对数据进行分布式分档存储、索引、搜索和分析;
- Kibana将数据分析进行可视化,通过仪表盘和分析功能能够对数据分析后,发现洞察以调查威胁、监测系统、评估搜索性能,并采取行动;
- Logstash 能够动态地收集、解析和转换日志。利用 Grok 从非结构化数据中派生出结构,从 IP 地址解码出地理坐标,匿名化或排除敏感字段,并简化整体处理过程。 数据库使用了Mysql
Elasticsearch
更新: 5/3/2025 字数: 0 字 时长: 0 分钟
kibana
更新: 5/3/2025 字数: 0 字 时长: 0 分钟
使用 Kibana 进行数据分析后,您能够更快地解决问题,并从多个用例和团队中收获大量洞察。发现洞察以调查威胁、监测系统、评估搜索性能,并采取行动;所有这些都在一个由 Elasticsearch 提供支持的平台上完成,能获得 Elasticsearch 在速度、可扩展性和相关性方面的优势。
logstash
更新: 5/3/2025 字数: 0 字 时长: 0 分钟
MySql日志
更新: 5/3/2025 字数: 0 字 时长: 0 分钟
错误日志
错误日志是MySQL中最重要的日志之一,它记录了当mysqld启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息。当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的,默认存放目录/var/log/,默认的日志文件名为mysqld.log。查看日志位置:`show variables like '%log_error%'
二进制日志
二进制日志(BINLOG)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但不包括数据查询(SELECT、SHOW) 语句。 作用:
- 灾难时的数据恢复;
- MySQL的主从复制。在MySOQL8版本中,默认二进制日志是开启着的。涉及到的参数如下`show variables like '%log_bin%"
查询日志
查询日志中记录了客户端的所有操作语句,而二进制日志不包含查询数据的SQL语句。默认情况下,查询日志是未开启的。![[Pasted image 20230619133355.png]] ![[Pasted image 20230619133605.png]]
数据库系统故障对策
更新: 5/3/2025 字数: 0 字 时长: 0 分钟
数据库系统故障对策 -- Logging - 飞书云文档 (feishu.cn)黑色魔法书!数据库系统中的日志记录_哔哩哔哩_bilibili
日志记录
- 日志记录技术的种类
- Undo Logging: 对于一个未完成的事务,Undo Logging 可以帮助回滚操作
- Redo Logging: 对于一个已完成的事务,Redo Logging 可以重做操作
- 日志文件往往包含二者
- 日志记录![[Pasted image 20230619134715.png]]
- 在数据库系统发生数据相关故障后,可使用这两类日志进行恢复。undo日志和redo日志有如下区别:
- Undo 日志在恢复时,消除未完成事务的影响并忽略已提交的事务。Redo 日志忽略未完成的事务并重复已提交事务所做的改变。
- undo 日志要求在 COMMIT日志到达磁盘前,将修改后的数据库元素写到磁盘;redo 日志要求 COMMIT 记录在任何修改后的值达到磁盘前出现在磁盘前。
- 当遵循 undo 规则时,在恢复时我们需要的是旧值;当使用 Redo 日志恢复是,我们需要的是新值。
- 当使用Undo/Redo 日志进行恢复时,我们所拥有的信息,既允许我们通过恢复事务 T 的旧值,来撤销事务 T,又允许通过重复 T 所做的改变来重做 T。
- 按照从前往后,重做所有已提交事务
- 按照从后往前,撤销所有未提交的事务。