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






