4 |
5 | 网站名称 |
6 | 链接 |
7 |
8 |
9 | 亚马逊 |
10 | http://www.amazon.cn/3/dp/B00MN6QEYK |
11 |
12 |
13 | china-pub |
14 | http://product.china-pub.com/4275086 |
15 |
16 |
17 | 京东 |
18 | http://t.cn/RPY5JtR |
19 |
20 |
21 | 当当 |
22 | http://t.cn/RPHauKF |
23 |
24 |
25 |
26 | 官方收录地址 |
27 | http://www.zabbix.com/documentation.php |
28 |
29 |
30 |
31 | ##### QQ交流群
32 | ```
33 | 本书的读者QQ群【Zabbix群加群验证信息:Zabbix监控】 :
34 | Zabbix企业级分布式监控 2群 189342378(500人可加)
35 | Zabbix企业级分布式监控 1群 271659981(1000人已满)
36 | ```
37 | 
38 |
39 | ### 勘误列表
40 | ```
41 | https://github.com/itnihao/zabbix-book/blob/master/error-fix/README.md
42 | ```
43 |
44 | ### 该书的目录如下:
45 |
46 | 第一部分Zabbix基础
47 |
48 | 第一章,监控系统简介
49 | ====================================
50 | ```
51 | 1.1为何需要监控系统
52 | 1.2监控系统的实现
53 | 1.3监控系统的开源软件现状
54 | 1.3.1 MRTG
55 | 1.3.2 Cacti
56 | 1.3.3 SmokePing
57 | 1.3.4 Graphite
58 | 1.3.5 Nagios
59 | 1.3.6 Zenoss Core
60 | 1.3.7 Ganglia
61 | 1.3.8 OpenTSDB
62 | 1.3.9 Zabbix
63 | 1.4监控系统的原理探究
64 | ```
65 | 第二章,Zabbix简介
66 | ==
67 | ```
68 | 2.1 Zabbix的客户
69 | 2.2 使用Zabbix的准备
70 | 2.3 Zabbix为何物
71 | 2.4 选择Zabbix的理由
72 | 2.5 Zabbix的架构
73 | 2.6 zabbix运行流程
74 | 2.7 Zabbix功能特性
75 | ```
76 | 第三章,安装部署
77 | ==
78 | ```
79 | 3.1 安装环境概述
80 | 3.1.1 硬件条件
81 | 3.1.2 软件条件
82 | 3.1.3 部署环境的考虑
83 | 3.2 zabbix_server服务端的安装
84 | 3.2.1 安装 Zabbix-Server
85 | 3.2.2 安装 MySQL 数据库服务
86 | 3.2.3 配置 zabbix_server.conf
87 | 3.2.4 防火墙、Selinux 和权限的设置
88 | 3.2.5 配置 Web 界面
89 | 3.2.6 故障处理 ....
90 | 3.3 zabbix-agent客户端的安装
91 | 3.3.1 安装 Zabbix-Agent
92 | 3.3.2 防火墙的设置
93 | 3.3.3 配置 zabbix_agentd.conf
94 | 3.4 snmp监控方式的安装配置
95 | 3.5 Windows上安装zabbix-agent
96 | 3.6 其他平台的安装
97 | 3.7 zabbix_get的使用
98 | 3.8 zabbix术语(命令)相关
99 | 3.9 Zabbix-server对数据的存储
100 | 3.9.1 Zabbix 对数据存储
101 | 3.9.2 MySQL 表分区实例
102 | 3.10 Zabbix init脚本解释
103 | 3.11安全和高可用
104 | 3.12zabbix数据库的备份
105 | ```
106 | 第四章,快速配置使用
107 | ==
108 | ```
109 | 4.1配置流程
110 | 4.2主机组的添加
111 | 4.3模板的添加
112 | 4.4添加主机
113 | 4.5 Graphs的配置
114 | 4.6 screen的配置
115 | 4.7 Slide shows的配置
116 | 4.8 zatree的使用
117 | 4.9 map的配置
118 | 4.10 WEB监控
119 | 4.10.1 Web 监控的原理
120 | 4.10.2 Web 监控指标
121 | 4.10.3 Zabbix 中 Web 监控的配置
122 | 4.10.4 认证的支持
123 | 4.10.5 触发器的设置
124 | 4.10.6 排错
125 | 4.11 IT服务
126 | 4.12报表
127 | 4.13资产管理
128 | ```
129 | 第五章,深入配置使用
130 | ==
131 | ```
132 | 5.1 Items的添加
133 | 5.1.1 Items 的含义
134 | 5.1.2 如何添加 Items
135 | 5.2 Items key的添加
136 | 5.3 ITEMS的类型
137 | 5.3.1 Zabbix-Agent
138 | 5.3.2 Simple check
139 | 5.3.3 日志监控方式
140 | 5.3.4 监控项计算(Calculated)
141 | 5.3.5 聚合检测(Aggregate)
142 | 5.3.6 内部检测(Internal)
143 | 5.3.7 SSH、Telnet 和扩展检测 .
144 | 5.4宏的配置
145 | 5.5维护时间
146 | 5.6事件确认
147 | 5.7数据的导入导出配置
148 | ```
149 | 第六章 ,告警的配置
150 | ==
151 | ```
152 | 6.1 告警的概述
153 | 6.2Trigger的配置
154 | 6.2.1 Trigger 的状态
155 | 6.2.2 Trigger 的配置步骤
156 | 6.2.3 Trigger 告警依赖
157 | 6.2.4 Trigger 正则中的单位
158 | 6.2.5 Trigger 表达式举例
159 | 6.2.6 Trigger 函数
160 | 6.3添加 Actions
161 | 6.3.1 Actions 概述
162 | 6.3.2 Actions 的配置
163 | 6.3.3 Conditions 的配置
164 | 6.3.4 Operations 的功能
165 | 6.3.5 告警消息发送的配置
166 | 6.3.6 执行远程命令的配置
167 | 6.4邮件告警配置实例
168 | 6.4.1 创建 Media
169 | 6.4.2 创建用户
170 | 6.4.3 创建 Actions
171 | 6.4.2创建用户
172 | 6.5自定义脚本告警
173 | 6.6邮件告警脚本的配置实例
174 | 6.7告警升级的机制
175 | 6.8告警配置故障排查
176 | ```
177 |
178 | 第二部分,zabbix中级部分
179 | =
180 | 第七章,监控方式剖析
181 | ==
182 | ```
183 | 7.1 Zabbix支持的监控方式
184 | 7.2 Zabbix监控方式的逻辑
185 | 7.3 agent监控方式
186 | 7.4 Trapper监控方式
187 | 7.4.1 Trapper 的配置步骤
188 | 7.4.2 Trapper 的配置示例
189 | 7.4.3 使用 zabbix-sender 发送数据
190 | 7.5 SNMP监控方式
191 | 7.5.1 SNMP 概述
192 | 7.5.2 SNMP 协议的运行
193 | 7.5.3 SNMP 协议原理
194 | 7.5.4 MIB 简
195 | 7.5.5 SNMP 的相关术语
196 | 7.5.6 配置 Zabbix 以 SNMP 方式监控
197 | 7.6 IPMI监控方式
198 | 7.7 JMX监控方式
199 | 7.7.1 JMX 在 Zabbix 中的运行流程
200 | 7.7.2 配置 JMX 监控的步骤
201 | 7.7.3 安装 Zabbix-Java-Gateway
202 | 7.7.4 配置 Zabbix-Java-Gateway
203 | 7.7.5 监控 Java 应用程序
204 | 7.7.6 自定义 JMX 的 Key
205 | 7.7.7 监控 Tomcat
206 | 7.7.8 Weblogic 的监控
207 | 7.8命令执行
208 | ```
209 | 第八章,分布式监控
210 | ==
211 | ```
212 | 8.1代理架构
213 | 8.2节点架构
214 | 8.3主动模式和被动模式
215 | 8.3.1 被动模式
216 | 8.3.2 主动模式
217 | ```
218 | 第九章,Zabbix与自动化运维
219 | ==
220 | ```
221 | 9.1监控自动化
222 | 9.2网络发现
223 | 9.3主动方式的自动注册
224 | 9.3.1 功能概述
225 | 9.3.2 主动方式自动注册的配置
226 | 9.3.3 使用 Host metadata
227 | 9.3.4 关于自动注册的注意事项
228 | 9.4 low level discovery
229 | 9.4.1 现实案例需求
230 | 9.4.2 Zabbix 客户端配置
231 | 9.4.3 Low level discovery 自动发现脚本编写
232 | 9.4.4 自定义 Key 配置文件
233 | 9.4.5 Web 页面添加 Low level discovery .
234 | 9.5 Zabbix在自动化运维工具的使用
235 | ```
236 | 第十章,使用的经验技巧
237 | ==
238 | ```
239 | 10.1如何有效的设置监控告警
240 | 10.2监控项的使用技巧
241 | 10.3触发器的使用技巧
242 | 10.4触发器配置
243 | 10.5谷歌浏览器告警插件
244 | 10.6数据图断图的原因
245 | ```
246 | 第十一章,监控案例
247 | ==
248 | ```
249 | 11.1监控tcp连接数
250 | 11.2监控nginx
251 | 11.3监控php-fpm
252 | 11.4监控mysql
253 | 11.4.1 用自带的模板监控 MySQL
254 | 11.4.2 用 Percona Monitoring Plugins 监控 MySQL .
255 | 11.5监控tomcat,weblogic
256 | 11.6监控dell服务器
257 | 11.7监控Cisco路由器
258 | 11.8监控VMware
259 | 11.9 hadoop监控
260 | 11.10 更多监控
261 | ```
262 |
263 | 第三部分Zabbix高级部分
264 | =
265 | 第十二章,性能优化
266 | ==
267 | ```
268 | 12.1Zabbix的性能优化的概述
269 | 12.2Zabbix的性能优化的依据
270 | 12.3配置文件的参数优化
271 | 12.4 Zabbix的架构优化
272 | 12.5 Zabbix的items中工作模式以及Trigger的优化
273 | 12.6 Zabbix的数据库优化
274 | 12.7其他方面的
275 | ```
276 | 第十三章,Zabbix API的使用
277 | ==
278 | ```
279 | 13.1 Zabbix API简介
280 | 13.2什么是json-rpc
281 | 12.3Zabbix API的使用流程
282 | 13.3.1 使用 API 的基本步骤
283 | 13.3.2 如何使用官方文档获取帮助
284 | 13.3.3 用 CURL 模拟 API 的使用
285 | 13.3.4 HTTP 头部 Content-Type 设置
286 | 13.3.5 关于用户认证
287 | 13.3.6 获取主机信息(用 Python 写的示例)
288 | 13.3.7 添加 Host
289 | 13.3.8 删除 Host
290 | 13.4第三方zabbixAPI模块
291 | ```
292 | 第十四章,使用Zabbix协议
293 | ==
294 | ```
295 | 14.1 Zabbix协议概述
296 | 14.2 Zabbix sender协议
297 | 14.2.1 Sender 数据发送
298 | 14.2.2 Server 对数据响应的处理
299 | 14.2.3 Zabbix-Sender 的实例
300 | 14.2 Zabbix get协议
301 | 14.2 Zabbix agent协议
302 | ```
303 | 第十五章,定制Zabbix安装包
304 | ==
305 | ```
306 | 15.1为什么需要定制安装包
307 | 15.2如何定制安装包
308 | ```
309 | 第十六章,大型分布式监控案例
310 | ==
311 | ```
312 | 16.1监控系统构建的概述
313 | 16.2监控环境架构图
314 | 16.3架构实现的过程
315 | 16.3.1 硬件和软件需求
316 | 16.3.2 Zabbix DB 的安装
317 | 16.3.3 安装 Zabbix-Server
318 | 16.3.4 安装 Zabbix-GUI
319 | 16.3.5 安装 Zabbix-Proxy
320 | 16.3.6 配置 Zabbix-Agent
321 | 16.4业务相关的配置
322 | 16.4.1 用户的配置
323 | 16.4.2 业务组的配置
324 | 16.4.3 监控模板的定制
325 | 16.4.4 自动发现的配置
326 | 16.5其他需求
327 | ```
328 |
329 | 第四部分 附录
330 | =
331 | 第十七章,源码安装及相关配置
332 | ==
333 | ```
334 | 17.1安装zabbix-server
335 | 17.2 Zabbix-agent的安装
336 | 17.3 关于zabbix的升级
337 | ```
338 | ===
339 | 开源文档
340 | ```
341 | 《Zabbix使用手册V2.0》下载地址http://pan.baidu.com/s/1qWDHXkK 提取密码为8kq4
342 | ```
343 |
--------------------------------------------------------------------------------
/error-fix/README.md:
--------------------------------------------------------------------------------
1 | ##《Zabbix企业级分布式监控系统》勘误列表
2 |
3 | 前言 陈益超改为陈艺超
4 |
5 | P22 362+67+4=433 @一期一会
6 | P40 /etc/snmp/snmpd.conf
7 | P47 trends_unit(存储非符号的整数)更正为trends_uint表。
8 | P56 将在(16.3)节中
9 | P62 图web app少了下划线
10 | P72 只有部分触发器(函数)
11 | P102 表 5-1 Name 选项,**$1、$2…$9** 指的是 Item Key 的第 **1、2…9** 个参数,原文说是「Item 名称」的参数。
12 | P103 表 5-1 Units 选项,与时间相关的单位 **unixtime**、**uptime**、**s** 全部是小写字母。首字母大写导致显示时不能正常转换。
13 | P124 开始部分应该概述功能,第二版增加
14 | P143 '15'(天)代表'86400s'(秒)更正为'1d'(天)代表'86400s'(秒)。@jun-东莞-运维
15 | P153 表6-5 Recovery message写了两遍 @Miku酱
16 | P161 表6-7的Description应该为Name @cexpert
17 | P202 缺少proxy的数据同步参数,第二版增加
18 | P203 创建的数据库名称应该为
19 | ```
20 | shell# service mysqld start
21 | shell# mysql -uroot -p
22 | mysql> use zabbix_proxy;
23 | mysql> create database zabbix_proxy character set utf8;
24 | mysql> grant all privileges on zabbix_proxy.* to zabbix@localhost identified by 'zabbix';
25 | mysql> flush privileges;
26 | ```
27 | @唐文军
28 | P255 nginx监控脚本已经调整,见github-book 11章 fix
29 | P256 黑体字是一行的
30 | P265 使用的MySQL脚本需要改变,即261页的MySQL脚本需要改变,见github-book 11章 fix
31 |
32 |
--------------------------------------------------------------------------------
/static/img/zabbix-QQ-group-1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/zhausong/zabbix-book/94ec20171d1ad3f690b2f2ee1f480e0bb1b763dd/static/img/zabbix-QQ-group-1.jpeg
--------------------------------------------------------------------------------
/tools/screen_create/README.md:
--------------------------------------------------------------------------------
1 |
2 | 概述
3 | ==
4 | screen_create是一个批量创建screen的工具。
5 | 功能:
6 | ==
7 | 支持分组创建screen
8 | 支持单个主机创建所有screen
9 | 用法
10 | ==
11 | 可以用如下脚本创建一个分组的screen,包括 CPU TCP LOAD指标的screen,如需添加更多图,可以自行添加即可
12 | ```
13 | #!/bin/bash
14 | for group in Zabbix-Server
15 | do
16 |
17 | for items in "Memory usage" "CPU utilization" "Network TCP Connect status" "CPU load"
18 | do
19 | k=$(echo ${items}|sed "s/ /_/g")
20 | python screen_creator.py -c config --add-all-group ${group} "${items}" --hsize=2 --vsize=11 --width=500 --height=100 "${group}_${k}"
21 | done
22 | done
23 | ```
24 |
--------------------------------------------------------------------------------
/tools/screen_create/add.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | for group in Zabbix-Server
4 | do
5 |
6 | for items in "Memory usage" "CPU utilization" "Network TCP Connect status" "CPU load"
7 | do
8 | k=$(echo ${items}|sed "s/ /_/g")
9 | python screen_creator.py -c config --add-all-group ${group} "${items}" --hsize=2 --vsize=11 --width=500 --height=100 "${group}_${k}"
10 | done
11 | done
12 |
--------------------------------------------------------------------------------
/tools/screen_create/config:
--------------------------------------------------------------------------------
1 | [zabbix]
2 | username='user'
3 | password='passwd'
4 | url='http://zabbix.itnihao.com'
5 |
--------------------------------------------------------------------------------
/zabbix-conf/zabbix_agent.conf:
--------------------------------------------------------------------------------
1 | # This is a config file for Zabbix internet service daemon agent
2 | # To get more information about Zabbix visit http://www.zabbix.com
3 |
4 | ### Option: Server
5 | # IP address of Zabbix server
6 | # Zabbix serverd的IP地址
7 | # Connections from other hosts will be denied
8 | # 如果从其他非Zabbix server的IP地址来访问将会被拒绝
9 | # If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally.
10 | #
11 | # Mandatory: yes
12 | # Default:
13 | # Server=
14 |
15 | Server=127.0.0.1
16 | #如果有多个Zabbix server的地址,这里可以写为Server=127.0.0.1,X.X.X.X,Y.Y.Y.Y (注意,这里的X,Y分别代表需要
17 | #连接到这个agent所在的机器IP地址)
18 |
19 | ############ ADVANCED PARAMETERS #################
20 |
21 | ### Option: Alias
22 | # Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.
23 | # Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed.
24 | # Different Alias keys may reference the same item key.
25 | # For example, to retrieve the ID of user 'zabbix':
26 | # Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
27 | # Now shorthand key zabbix.userid may be used to retrieve data.
28 | #
29 | # Mandatory: no
30 | # Range:
31 | # Default:
32 |
33 | ### Option: Timeout
34 | # Spend no more than Timeout seconds on processing
35 | # 设置处理进程的超时时间
36 | #
37 | # Mandatory: no
38 | # Range: 1-30
39 | # Default:
40 | # Timeout=3
41 |
42 | ### Option: Include
43 | # You may include individual files or all files in a directory in the configuration file.
44 | # Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
45 | #
46 | # Mandatory: no
47 | # Default:
48 | # Include=
49 |
50 | # 子配置文件的路径
51 | # Include=/usr/local/etc/zabbix_agent.userparams.conf
52 | # Include=/usr/local/etc/zabbix_agent.conf.d/
53 |
54 | ####### USER-DEFINED MONITORED PARAMETERS #######
55 |
56 | ### Option: UnsafeUserParameters
57 | # Allow all characters to be passed in arguments to user-defined parameters.
58 | # 允许特殊字符的使用 0-不允许,1-允许,默认不允许
59 | # 0 - do not allow
60 | # 1 - allow
61 | #
62 | # Mandatory: no
63 | # Default:
64 | # UnsafeUserParameters=0
65 |
66 | ### Option: UserParameter
67 | # 用户自定义参数
68 | # User-defined parameter to monitor. There can be several user-defined parameters.
69 | # Format: UserParameter=