Zabbix源码解析

课程详情

课程详情

掌握Zabbix核心机制与调优技能,具备源码级排障能力,快速提升监控系统稳定性与个人运维竞争力。

适合人群

  • 具备C语言基础
  • 从事运维工作
  • 对Zabbix监控系统感兴趣
  • 希望深入源码理解监控原理并提升系统性能的技术人员

学习收获

  • 掌握Zabbix核心机制与调优技能
  • 具备源码级排障能力
  • 快速提升监控系统稳定性与个人运维竞争力

课程简介

本课程《Zabbix源码解析4.0(基础版)》将带您从源码层面深入理解Zabbix监控系统的内部工作机制。课程内容详尽、结构清晰,不仅涵盖Zabbix核心组件的运行原理,还结合实战场景,全方位剖析Zabbix的数据采集 → 数据处理 → 数据存储全链路流程。

课程以C语言为基础,结合Linux系统环境,引导学员完成Zabbix的源码编译、调试与二次开发。您将系统掌握Zabbix各核心进程(如主进程、配置同步进程、主动/被动采集进程、预处理进程、告警管理进程等)的职责与协作机制,并具备源码级故障定位、性能瓶颈分析及参数调优能力。

本课程专注于Zabbix 4.0.x版本的源码解析,旨在为学员提供深入理解Zabbix核心机制与架构的基础。尽管课程主要聚焦于Zabbix 4.0.x,但对于有兴趣了解Zabbix 5.0.x和6.0.x源码的同学同样具有极高价值。

课程分级

  • 基础版:时长超过2000分钟,涵盖环境搭建到关键进程源码剖析等内容。
  • 高级版:计划中的高级版课程将包含额外的4000多分钟视频内容,重点在于更深层次的代码讲解、极限性能测试以及复杂故障排除技巧。

课程大纲

  • 章节一:课程介绍
  • 章节二:环境准备
  • 章节三:主进程源码讲解(main-process)
  • 章节四:配置同步进程源码讲解(configuration-syncer)
  • 章节五:主动采集进程源码讲解(poller)
  • 章节六:被动接收进程源码讲解(trapper)
  • 章节七:预处理管理进程源码讲解(preprocessing-manager)
  • 章节八:预处理工作进程源码讲解(preprocessing-worker)
  • 章节九:数据入库进程源码讲解(dbsyncer)
  • 章节十:ping类型采集进程源码讲解(pinger)
  • 章节十一:web场景类型采集进程源码讲解(http-poller)
  • 章节十二:被动模式采集进程源码讲解(proxy-poller)
  • 章节十三:不可达类型采集进程源码讲解(unreachable-poller)
  • 章节十四:自监控进程源码讲解(self-monitoring)
  • 章节十五:管家进程源码讲解(housekeeper)
  • 章节十六:LLD自发现进程源码讲解(discoverer)
  • 章节十七:告警管理进程源码讲解(alert-manager)
  • 章节十八:告警器进程源码讲解(alerter)

课程目录

01 课程介绍
  01 课程简介.mp4
  02 各进程职责.mp4
02 环境准备
  01 下载zabbix源码包,并安装虚拟机.mp4
  02 创建git仓库,上传代码,安装git插件.mp4
  03 安装系统依赖,编译安装并且配置zabbix.mp4
  04 添加第一行中文注释,切割日志,课后总结.mp4
03 主进程源码分析
  01 学习目标,修改日志级别.mp4
  02 main函数讲解.mp4
  03 守护进程讲解.mp4
  04 主进程入口函数讲解-上.mp4
  05 主进程入口函数讲解-下.mp4
04 配置同步进程源码分析
  01 安装zabbix-proxy和zabbix-agent.mp4
  02 configuration syncer进程的完整启动流程.mp4
  03 DCsync_configuration()函数讲解.mp4
  04 zbx_dbsync_init()函数讲解.mp4
  05 zbx_dbsync_compare_config()函数讲解.mp4
  06 DBsync_config()函数讲解.mp4
  07 查询主机模板、宏参数到全局配置缓存中-上.mp4
  08 查询主机模板、宏参数到全局配置缓存中-下.mp4
  09 更新主机模板、宏参数到全局配置缓存中-上.mp4
  10 更新主机模板、宏参数到全局配置缓存中-下.mp4
  11 查询9组数据.mp4
  12 查询并更新主机信息到全局配置缓存中.mp4
  13 查询并更新监控项信息到全局配置缓存中.mp4
  14 输出配置同步过程中新增、修改、删除的数量和同步时间.mp4
  15 全局配置缓存输出到日志分析.mp4
05 主动采集进程源码分析
  01 入口函数分析-上.mp4
  02 入口函数分析-下.mp4
  03 get_values()函数分析.mp4
  04 获取二叉堆中的监控项用于采集.mp4
  05 判断获取的监控项是否需要采集.mp4
  06 监控项宏替换和各采集属性赋值.mp4
  07 get_value()函数分析.mp4
  08 采集结果处理和日志分析.mp4
06 被动接收进程源码分析
  01 进程功能介绍与进程交互脚本使用.mp4
  02 入口函数分析.mp4
  03 process_trapper_child()函数解析-上.mp4
  04 process_trapper_child()函数解析-下.mp4
  05 进程日志分析.mp4
07 预处理管理进程源码分析
  01 进程介绍与入口函数分析.mp4
  02 接收IPC服务消息.mp4
  03 注册预处理工作进程.mp4
  04 接收并转发消息给预处理工作进程-01.mp4
  05 接收并转发消息给预处理工作进程-02.mp4
  06 接收并转发消息给预处理工作进程-03.mp4
  07 接收并转发消息给预处理工作进程-04.mp4
  08 接收并处理预处理结果-01.mp4
  09 接收并处理预处理结果-02.mp4
  10 接收并处理队列长度请求.mp4
  11 日志分析.mp4
08 预处理工作进程源码分析
  01 进程介绍与入口函数分析.mp4
  02 注册预处理工作进程.mp4
  03 读取IPC消息并处理预处理消息-01.mp4
  04 处理预处理消息-02.mp4
  05 处理预处理消息-03.mp4
09 数据入库进程源码分析
  01 进程介绍与入口函数讲解.mp4
  02 开始讲解同步历史缓存数据入库函数-01.mp4
  03 获取待入库的缓存数据.mp4
  04 向数据库中添加历史值数据.mp4
  05 将历史值数据写入缓存中.mp4
  06 向数据库中添加趋势值数据-01.mp4
  07 向数据库中添加趋势值数据-02.mp4
  08 技术触发器生成事件.mp4
  09 日志分析.mp4
  10 测试采集数据的完整生命周期.mp4
  11 加餐:TCP Socket与IPC Socket编程示例.mp4
10 Pinger进程源码分析
  01 进程介绍与入口函数分析.mp4
  02 处理主机列表中的Ping任务.mp4
11 http-poller进程源码分析
  01 进程介绍与入口函数分析.mp4
  02 处理HTTP测试任务.mp4
  03 日志分析.mp4
12 proxy-poller进程源码分析
  01 进程介绍和入口函数分析.mp4
  02 进程关键步骤分析.mp4
  03 日志分析.mp4
13 不可达进程源码分析
  01 进程介绍.mp4
  02 不可达进程源码分析.mp4
14 自监控进程源码分析
  01 进程介绍与收集统计数据源码分析.mp4
  02 收集统计数据日志分析.mp4
  03 更新自监控统计数据源码分析.mp4
  04 获取统计数据源码与日志分析.mp4
15 管家进程源码解析
  01 管家进程介绍和入口函数分析.mp4
  02 清理历史数据与趋势数据-上.mp4
  03 清理历史数据与趋势数据-下.mp4
  04 清理其他数据.mp4
  05 日志分析.mp4
16 自发现进程源码解析
  01 自发现进程介绍和入口函数分析.mp4
  02 自发现进程源码分析.mp4
  03 自发现进程日志分析.mp4
17 告警管理进程源码分析
  01 告警管理进程介绍.mp4
  02 入口函数关键步骤分析.mp4
  03 同步看门狗信息.mp4
  04 处理告警结果.mp4
  05 日志分析.mp4
18 告警器进程源码分析
  01 告警器进程介绍与源码分析.mp4