网页客服,欢迎咨询

数据库日志采集系统方案设计

2025-01-06 19:35:01 33
  • 收藏
  • 管理
    总篇127篇 2022年第2篇前言汽车之家几年前已实现了应用日志的采集,但是对数据库日志并没有实现集中采集,?排查定位数据库故障原因不便。2021年我们研发了数据库日志采集分析平台系统,实现了数据库主机系统日志,数据库错误日志,审计日志的采集和分析。01背景介绍之家数据库日志以前分散在各DB宿主机及容器RDS上,没有实现集中采集,排查定位故障原因不便。2021年DBA研发了数据库日志采集分析平台,实现了主机系统日志,数据库错误日志,审计日志的采集和分析。通过日志的集中采集,提升了故障排查效率,并且深入挖掘日志价值,可为未来之家数据库的智能审计,智能运维(如故障预警,自愈,自动调优)提供基础。02日志分析发展历程日志分析并不是一项新颖的技术了,需要的是实际解决问题的思路或工具,哪怕是一段只有20行的命令脚本都可以。日志分析的发展划可分成4个时代:1.石器时代:?石器时代日志分析通常依靠Excel、终端命令(awk、grep、sort、uniq、wc等)。2. 铁器时代:?铁器时代通常依靠脚本工具(自写工具)、简易交互式工具(logwatch、logparser)等。3. 工业时代:?工作时代大家在做日志分析的时候相比前两个时代已经有了太多 的进步了,各种开源、免费、付费的软件可供选择,比如:Elastic系列、Splunk等等。4. 未来时代:?这个时代大家在做日志分析时候我不知道会用到什么,但是从目前来看,机器学习、人工智能应该是核心之一。统一日志分析平台的工作在看来可以简单分为2个阶段:平台实现:日志规范化 --> 日志采集 --> 日志存储 --> 日志分析 --> 日志展示 --> 告警实现;平台优化:这个阶段是对平台实现中的每一个步骤进行优化。以下对常见的开源日志采集工具做一简单分析:03方案设计之家数据库日志平台,可以分为应用层,日志采集层,缓存层,解析层,存储层,展示层,系统架构如图1。图 1 日志采集架构图04方案实施通过之家二次开发的log-pilot日志采集工具,对数据库机器系统日志、DB错误日志、审计日志进行采集。采集的日志数据存入Kafka,为避免和其它业务日志相互影响, DBA采集申请了独立的KAFKA集群与Topic进行隔离。消费KAFKA数据采用Flink,对数据库日志数据进行处理,优化,精简,最终日志存入Elasticsearch。日志展示使用了开源的Kibana。即数据流为日志源文件→Log-pilot→Kafka→Flink→ELasticsearch→Kibana展示。采集的数据库日志有错误日志,审计日志等,各种日志数据格式不统一,我们进行了日志规范化处理。其中审计日志支持json格式,DBA开发了Flink Api,Flink任务启动加载引用python包进行json数据处理赋值给ES索引字段。另外为了高效运维管理数据库日志,做了如下工作:日志可视化配置管理: 开发了日志配置管理界面,可以对DB实例进行日志路径配置,日志采集启停。日志监控报警: 对ERROR或敏感数据审计日志,上报公司监控告警平台(AutoCMP),对重要日志信息及时发现并通知到告警接收人。05平台展示图 2 数据库物理实例日志采集图 3 采集日志Dashboard展示图 4 数据库日志报警06展望未来计划增加重点数据库的SQL日志采集,通过分析SQL对高危操作。比如:DROP/TRUNCATE,DELETE等SQL语句执行进行审计监控报警。对数据库中warning/error等问题进行分析治理,进一步提升数据库服务质量。作者简介王杰民2021年加入汽车之家,任职于云平台部 云基础平台研发团队DBA阅读更多之家云API网关的前世今生Open-falcon在汽车之家的应用与实践浅谈WEB漏洞之SQL注入修复实践▼ 关注「之家技术」,获取更多技术干货▼ 数据库日志采集系统方案设计
    上一页:服务模块化 下一页:探索组件库设计的无限可能性
    全部评论(0)