您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
深入理解Zabbix监控系统
字数: 433000
装帧: 平装
出版社: 人民邮电出版社
作者: 鲍光亚
出版日期: 2021-05-01
商品条码: 9787115558336
版次: 1
开本: 16开
页数: 336
出版年份: 2021
定价:
¥99.9
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
1.从源码级别分析Zabbix本质,指导运维人员迅速定位并解决问题; 2.全面覆盖Zabbix 5.0源码,深入剖析监控系统核心原理; 3.超越单纯使用,指导Zabbix用户进一步扩展监控系统功能; 4.多位软件运维、监控专家大力推荐。
内容简介
Zabbix是一个开源监控系统,在我国各类信息技术企业和金融企业中被广泛应用。本书主要从源码和功能两个角度,分析Zabbix监控系统的底层工作机制。本书首先讲述跨进程的总体工作机制,然后按照监控数据的处理流程依次讲解Zabbix服务器端和Zabbix客户端各类进程的内部工作机制,最后讲述Zabbix Web应用的工作机制。本书能够帮助读者深入理解Zabbix系统的核心原理,有助于在运维工作中快速定位和解决问题。本书适合具有一定Zabbix应用经验并想要进一步理解Zabbix工作机制的读者阅读,包括相关企业的运维人员、技术主管、架构师、产品经理和决策者等。
目录
第一部分Zabbix的基础工作机制
第1章Zabbix总体架构及演变2
1.1监控系统概述2
1.2Zabbix的总体架构3
1.2.1Zabbix服务器4
1.2.2Zabbix代理6
1.2.3Zabbixjavagateway7
1.2.4Zabbix客户端7
1.3Zabbix服务器的技术演进7
1.3.1Zabbix2.2版本的Zabbix服务器7
1.3.2Zabbix3.0版本的Zabbix服务器8
1.3.3Zabbix4.0版本的Zabbix服务器8
1.3.4Zabbix5.0版本的Zabbix服务器9
1.4小结9
第2章Zabbix进程间通信与协调10
2.1主进程和子进程的创建10
2.1.1主进程的启动和值守化11
2.1.2子进程的分类和创建13
2.1.3子进程从主进程继承的内容17
2.1.4进程的回收20
2.2信号捕捉与处理21
2.2.1Zabbix进程处理的信号类型21
2.2.2信号处理函数22
2.2.3信号的触发与接收24
2.2.4用日志跟踪信号24
2.3Zabbix的共享内存25
2.3.1共享内存结构——内存池25
2.3.2共享内存的分配与释放28
2.3.3共享内存状态的获取30
2.3.4Zabbix共享内存举例31
2.4TCP/IP套接字32
2.4.1zbx_socket_t结构体32
2.4.2作为服务器端的套接字33
2.4.3作为客户端的套接字33
2.5基于Unix域套接字的进程间通信服务34
2.5.1Libevent库在进程间通信服务中的应用34
2.5.2进程间通信服务的数据结构及其工作过程35
2.5.3进程间通信服务的初始化37
2.5.4进程间通信服务的通信协议37
2.5.5从日志查看进程间通信服务消息37
2.6锁与信号量38
2.6.1互斥锁的应用38
2.6.2读写锁的应用40
2.6.3信号量的应用40
2.7小结41
第3章数据结构设计42
3.1向量42
3.1.1向量的数据结构定义42
3.1.2向量支持的操作43
3.1.3向量的应用场景45
3.2哈希集45
3.2.1哈希集的数据结构定义45
3.2.2哈希集支持的操作47
3.2.3哈希函数及关键字48
3.2.4哈希集的应用场景49
3.3哈希映射50
3.3.1哈希映射的数据结构定义50
3.3.2哈希映射支持的操作51
3.4二叉堆51
3.4.1二叉堆的数据结构定义51
3.4.2二叉堆支持的操作52
3.4.3二叉堆的应用场景54
3.5队列54
3.5.1队列的数据结构定义55
3.5.2队列支持的操作55
3.5.3队列的应用场景56
3.6链表56
3.6.1链表的数据结构定义56
3.6.2链表支持的操作57
3.6.3链表的应用场景57
3.7zbx_json和zbx_json_parse结构57
3.7.1zbx_json和zbx_json_parse结构的数据结构定义58
3.7.2zbx_json和zbx_json_parse结构支持的操作58
3.7.3zbx_json和zbx_parse结构的应用场景61
3.8小结62
第4章数据缓存63
4.1ConfigCache和configurationsyncer进程63
4.1.1ConfigCache的数据结构定义64
4.1.2ConfigCache的初始化和首次加载70
4.1.3configurationsyncer进程71
4.1.4实时导出ConfigCache数据74
4.2HistoryCache和HistoryIndexCache74
4.2.1数据结构与共享内存的区别75
4.2.2HistoryCache和HistoryIndexCache的数据结构定义75
4.2.3将监控值写入缓存77
4.2.4HistoryCache数据的读取78
4.2.5ids变量79
4.3TrendCache79
4.3.1TrendCache的数据结构定义79
4.3.2TrendCache数据的写入和读取80
4.4ValueCache81
4.4.1ValueCache的数据结构定义81
4.4.2ValueCache数据的写入84
4.4.3ValueCache数据的淘汰87
4.4.4ValueCache数据的读取89
4.5小结89
第5章套接字通信与加密90
5.1TCP/IP套接字通信的过程90
5.1.1多路复用与接受连接过程91
5.1.2接收缓存与发送缓存92
5.1.3超时机制92
5.1.4关闭连接93
5.2ZBXP93
5.2.1ZBXP通信测试工具94
5.2.2服务器-代理的ZBXP94
5.2.3客户端-服务器的通信协议98
5.2.4Web应用-服务器的通信协议100
5.3TCP/IP套接字通信的加密104
5.4小结105
第6章Zabbix日志及其应用106
6.1日志输出106
6.1.1日志输出函数106
6.1.2日志记录格式107
6.1.3日志锁108
6.2日志级别109
6.2.1日志级别的划分109
6.2.2在日志记录中添加日志级别110
6.2.3日志相关代码的统计111
6.3小结112
第二部分Zabbix服务器端的各个进程
第7章trapper类和poller类进程——监控数据的收集114
7.1trapper类进程114
7.1.1trapper进程115
7.1.2snmptrapper进程120
7.2poller类进程120
7.2.1poller类进程的工作过程121
7.2.2poller进程123
7.2.3unreachablepoller进程130
7.2.4ipmimanager进程和ipmipoller进程130
7.2.5icmppinger进程133
7.2.6javapoller进程133
7.2.7proxypoller进程134
7.2.8httppoller进程134
7.3小结135
第8章预处理进程和LLD进程136
8.1进程间通信服务消息格式137
8.2预处理进程138
8.2.1预处理工作总体框架138
8.2.2preprocessingmanager进程140
8.2.3preprocessingworker进程143
8.3LLD进程145
8.3.1进程间通信服务中的LLD消息145
8.3.2LLD原始数据的采集和预处理146
8.3.3lldmanager进程146
8.3.4lldworker进程149
8.4小结150
第9章historysyncer进程——监控数据的计算与入库151
9.1historysyncer进程的工作机制151
9.1.1监控值的同步过程152
9.1.2趋势数据的同步过程154
9.1.3事件的生成与处理155
9.1.4动作的处理160
9.1.5historysyncer进程之间的协作161
9.2触发器的计算过程162
9.2.1触发器表达式的表示法162
9.2.2表达式函数的计算163
9.2.3外层的计算165
9.3自定义historywrite模块165
9.3.1接口函数165
9.3.2自定义模块的注册167
9.4小结168
第10章escalator进程、alert进程族和taskmanager进程——事件激发的动作169
10.1escalator进程169
10.1.1理解升级序列169
10.1.2工作过程171
10.1.3escalator进程与alert进程族以及task表的关系173
10.2alert进程族173
10.2.1核心数据结构与工作机制173
10.2.2进程间通信服务消息与进程间交互178
10.2.3alertsyncer进程180
10.2.4alertmanager进程180
10.2.5alerter进程181
10.2.6看门狗逻辑181
10.3taskmanager进程182
10.3.1远程命令任务和任务执行结果182
10.3.2数据任务和数据结果任务183
10.3.3立即检查任务184
10.3.4问题确认任务和问题关闭任务185
10.4小结186
第11章Zabbix内部监控187
11.1self-monitoring进程与collector变量187
11.1.1测量指标和单位188
11.1.2数据结构189
11.1.3数据处理过程190
11.1.4数据溢出问题191
11.1.5共享内存中的collector变量191
11.2从数据库获取状态信息192
11.3从缓存获取状态信息193
11.3.1获取ConfigCache的状态信息193
11.3.2获取ValueCache的状态信息194
11.3.3获取HistoryCache和HistoryIndexCache的状态信息195
11.3.4获取VMwareCache的状态信息195
11.4从其他渠道获取信息195
11.4.1从poller进程获取信息195
11.4.2从进程间通信服务获取信息196
11.4.3远程获取数据196
11.5小结197
第12章Zabbix代理专述198
12.1Zabbix代理端分担的功能198
12.1.1功能划分的现状与评估198
12.1.2未来功能划分的可能性200
12.2Zabbix代理端的工作机制200
12.2.1Zabbix代理端的configurationsyncer进程200
12.2.2Zabbix代理端的datasender进程201
12.2.3被动模式下的Zabbix代理203
12.2.4Zabbix代理端的housekeeper进程204
12.2.5Zabbix代理端的heartbeatsender进程205
12.3小结206
第13章数据库表和housekeeper进程207
13.1Zabbix服务器访问数据库207
13.1.1连接的建立与关闭208
13.1.2SQL语句的构造与运行209
13.1.3事务与数据的一致性211
13.1.4访问量的计算211
13.2进程使用的数据库表212
13.2.1historysyncer进程使用的表212
13.2.2lldworker进程使用的表212
13.2.3alertsyncer进程使用的表213
13.2.4escalator进程使用的表213
13.2.5proxypoller进程使用的表214
13.2.6configurationsyncer进程使用的表215
13.3housekeeper进程216
13.3.1相关结构体定义216
13.3.2清理数据的过程217
13.3.3housekeeping_cleanup()函数219
13.4小结220
第14章Zabbixjavagateway221
14.1JMX监控221
14.2ZJG的内部结构222
14.2.1功能结构222
14.2.2ThreadPoolExecutor线程池225
14.2.3日志输出226
14.3javapoller进程与ZJG的交互227
14.4ZJG的安装部署229
14.4.1编译和部署ZJG229
14.4.2启动和停止ZJG229
14.5小结230
第三部分Zabbix客户端及源码构建
第15章Zabbix客户端的工作机制232
15.1Zabbix客户端主进程232
15.1.1Zabbix客户端主进程的工作过程232
15.1.2collector变量与共享内存234
15.2collector进程236
15.2.1collector进程的工作过程236
15.2.2system.cpu.util监控值的收集237
15.2.3proc.cpu.util监控值的收集239
15.2.4vfs.dev.read与vfs.dev.write数据242
15.3listener进程244
15.4activechecks进程246
15.5可加载模块247
15.5.1模块加载过程247
15.5.2制作模块文件(.so文件)及测试248
15.6小结249
第16章Zabbix客户端的原生监控项250
16.1agent类监控项250
16.2simple类监控项251
16.3common类监控项252
16.3.1系统通用监控项253
16.3.2web.page组监控项254
16.3.3vfs.file组监控项255
16.3.4vfs.dir组监控项256
16.3.5dns组监控项257
16.3.6log组监控项257
16.3.7zabbix.stats监控项258
16.4specific类监控项259
16.4.1kernel组监控项259
16.4.2net组监控项260
16.4.3proc组监控项260
16.4.4文件系统监控项261
16.4.5块设备监控项262
16.4.6内存监控项263
16.4.7系统专用监控项263
16.4.8传感器监控项266
16.5hostname监控项266
16.6小结267
第17章Zabbix的构建过程268
17.1总体构建过程268
17.1.1源码文件的目录结构268
17.1.2gcc的构建过程269
17.2configure过程270
17.2.1理解configure.ac文件271
17.2.2理解aclocal.m4文件272
17.2.3理解configure脚本273
17.3make过程276
17.3.1Makefile文件的内容结构277
17.3.2理解Makefile.am文件280
17.3.3src目录的构建过程283
17.4makeinstall过程284
17.5Zabbix客户端的构建过程284
17.6Zabbix的构建过程示例285
17.7小结286
第四部分ZabbixWeb
第18章ZabbixWebAPI288
18.1类的关系与类的职责288
18.2设计模式291
18.2.1单例模式291
18.2.2类工厂模式291
18.3jsonrpc消息的处理过程292
18.3.1准备阶段293
18.3.2消息处理阶段294
18.4扩展ZabbixWebAPI297
18.4.1相关源码文件的组织297
18.4.2扩展方法示例298
18.5小结299
第19章ZabbixWeb应用300
19.1Zabbix的MVC模式300
19.1.1MVC中的类图与类的职责300
19.1.2请求处理过程302
19.2前端页面的结构与构建304
19.2.1布局与视图305
19.2.2HTML的构建过程307
19.3CController类309
19.4ZabbixWeb应用的扩展309
19.4.1源码文件的目录结构309
19.4.2在页面增加筛选条件310
19.5小结312
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网