编辑推荐
Zabbix运维全方位详解:监控告警、性能调优、自动化配置
内容简介
本书从运维角度对Zabbix的各项功能进行了详细介绍,以自动化运维视角为出发点,对Zabbix的安装配置、自动化功能、监控告警、性能调优、Zabbix API、Zabbix协议、RPM安装包定制、结合SaltStack实现自动化配置管理等内容进行了全方位的深入剖析。
章节目录
版权信息
前言
本书由来
如何阅读本书
配套代码
读者对象
勘误支持
内容声明
示例规范
联系方式
第1章 开篇
1.1 监控系统的功能概述
1.2 监控系统的实现原理
1.2.1 模块组成
1.2.2 采集协议
1.2.3 采集模式
1.2.4 监控指标
1.2.5 代理架构
1.2.6 数据存储
1.2.7 告警功能
1.2.8 可扩展性
1.2.9 总结归纳
1.3 监控系统的开源产品
1.3.1 Cacti
1.3.2 Nagios
1.3.3 InfluxDB套件
1.3.4 Prometheus
1.3.5 OpenFalcon
1.3.6 Netdata
1.3.7 ELK家族
1.3.8 Zabbix
第2章 Zabbix简介
2.1 Zabbix的用户群体都有谁
2.2 使用Zabbix需要具备什么基础
2.3 Zabbix是一个什么样的产品
2.4 为何选择Zabbix作为监控系统
2.5 该选用Zabbix的哪个版本
2.6 Zabbix的架构是什么样的
2.7 Zabbix的功能特性都有哪些
第3章 安装与部署
3.1 安装环境概述
3.1.1 硬件环境需求
3.1.2 软件环境需求
3.1.3 网络环境需求
3.2 Zabbix-Server服务器端的安装
3.2.1 安装Zabbix-Server
3.2.2 安装MySQL
3.2.3 配置zabbix_schmerver.conf
3.2.4 防火墙、SELinux和权限的设置
3.2.5 配置Zabbix-Web
3.2.6 相关故障的处理
3.2.7 zabbix_schmerver程序的参数
3.3 Zabbix-Agent客户端的安装
3.3.1 安装Zabbix-Agent
3.3.2 防火墙的设置
3.3.3 配置zabbix_agentd.conf
3.4 SNMP监控配置
3.5 在Windows中安装Zabbix-Agent
3.5.1 安装与配置
3.5.2 注册服务
3.5.3 启动服务
3.6 在其他平台安装Zabbix-Agent
3.7 Zabbix-Get的使用
3.8 Zabbix相关术语(命令)
3.9 Zabbix-Server对数据的存储
3.9.1 监控数据的存储
3.9.2 MySQL表分区实例
3.10 高可用和安全
3.10.1 高可用
3.10.2 通信安全
3.10.3 禁用Zabbix的guest用户
3.11 Zabbix数据库备份
3.12 升级Zabbix
3.12.1 同版本升级的方法
3.12.2 跨版本升级的方法
3.12.3 数据库自动升级的原理
3.12.4 升级失败的处理案例
第4章 快速配置和使用
4.1 配置流程
4.2 添加主机组
4.2.1 如何划分主机组
4.2.2 如何添加主机组
4.2.3 层级主机分组
4.3 添加模板
4.4 添加主机
4.5 配置图形
4.6 配置大屏
4.7 配置幻灯片
4.8 配置地图
4.8.1 添加背景图
4.8.2 添加地图
4.9 使用IT服务
4.10 使用报表
4.11 资产管理
4.12 图形共享
4.13 全局搜索
4.14 最新数据
4.15 故障
4.16 数据的导入/导出
4.17 用户权限
4.17.1 用户组
4.17.2 用户组权限
4.17.3 用户
4.17.4 匿名用户
4.18 调试模式
4.19 与LDAP对接
4.20 维护模式
4.21 故障确认
4.22 批量更新
第5章 处理监控指标数据
5.1 添加新的监控项
5.1.1 监控项的含义
5.1.2 如何添加监控项
5.2 监控指标的自定义
5.2.1 key的格式
5.2.2 key名称的定义范围
5.2.3 key的参数数组应用实例
5.2.4 用户自定义参数
5.3 Zabbix内置的监控方式
5.3.1 Zabbix-Agent监控方式
5.3.2 Simple check监控方式
5.3.3 日志监控方式
5.3.4 计算型监控方式
5.3.5 聚合型监控方式
5.3.6 内部检测监控方式
5.3.7 SSH监控方式
5.3.8 Telnet监控方式
5.3.9 扩展检测监控方式
5.4 监控项指标数据的预处理
5.4.1 预处理概述
5.4.2 预处理的运行流程
5.4.3 预处理的数据类型
5.5 配置宏
5.5.1 全局宏
5.5.2 模板宏
5.5.3 主机宏
5.5.4 监控项宏
5.5.5 宏的函数运算
5.5.6 宏使用总结
5.5.7 宏的上下文
5.6 配置值映射
第6章 精通告警配置
6.1 告警流程
6.2 告警触发器的配置
6.2.1 Trigger的作用
6.2.2 Trigger的故障等级定义
6.2.3 Trigger的配置步骤
6.2.4 Trigger告警依赖
6.2.5 Trigger中的数值单位
6.2.6 Trigger表达式
6.3 告警处理的配置
6.3.1 如何发送告警
6.3.2 Action功能概述
6.3.3 Action配置步骤
6.3.4 告警处理措施
6.3.5 在告警消息中使用宏
6.3.6 告警恢复措施
6.3.7 告警更新措施
6.3.8 发送告警消息的步骤总结
6.3.9 查看告警消息的发送记录
6.3.10 执行远程命令
6.3.11 不支持的Item发送告警
6.4 邮件告警配置
6.4.1 创建Media类型
6.4.2 创建用户
6.4.3 创建Action
6.5 自定义脚本告警
6.5.1 自定义脚本告警的原理
6.5.2 电话告警
6.5.3 短信接口告警
6.5.4 微信告警
6.6 邮件告警脚本的配置
6.6.1 Zabbix-Server自定义告警脚本
6.6.2 Zabbix-Server重启服务
6.6.3 Zabbix-Web配置自定义脚本
6.6.4 告警接收邮件的配置
6.6.5 查看邮件发送状态
6.7 告警升级机制
6.7.1 告警升级的作用
6.7.2 告警升级的配置
6.8 触发器标签配置
6.8.1 标签设置
6.8.2 标签的复杂匹配
6.9 手动关闭告警
6.10 如何取消告警发送
6.11 如何删除故障信息
6.12 告警聚合
6.12.1 告警聚合的原理
6.12.2 基于触发器的告警聚合
6.12.3 基于全局的告警聚合
6.13 告警配置故障排查
6.13.1 告警消息未发送示例
6.13.2 邮件服务器连接失败示例
第7章 探究告警触发器
7.1 Trigger函数的意义
7.2 Trigger函数的分类
7.3 Trigger函数
7.3.1 求最近两值差的绝对值
7.3.2 求最大值与最小值的差
7.3.3 判断最近两值是否相同
7.3.4 求最近两值的变化量
7.3.5 数值的位与运算
7.3.6 数据失联
7.3.7 获取最新数据
7.3.8 求前一个值
7.4 Trigger函数
7.4.1 求最大值
7.4.2 求最小值
7.4.3 求平均值
7.4.4 值求和
7.4.5 统计个数
7.5 Trigger函数
7.5.1 返回当前时间(年月日时分秒)
7.5.2 返回当前日期(年月日)
7.5.3 返回当前时间(时分秒)
7.5.4 本月第几天
7.5.5 本周第几天
7.5.6 时间对比
7.6 Trigger函数
7.6.1 日志ID
7.6.2 获取日志等级
7.6.3 获取日志来源
7.7 Trigger函数
7.7.1 正则表达式不区分大小写
7.7.2 正则表达式区分大小写
7.7.3 字符串匹配
7.7.4 字符串长度
7.8 Trigger函数
7.8.1 百分线
7.8.2 趋势预测
7.8.3 剩余时间
7.8.4 趋势预测计算型监控方式
7.9 参考资料
第8章 剖析监控方式
8.1 Zabbix支持的监控方式
8.2 Zabbix监控方式的逻辑
8.3 Zabbix-Agent的工作模式
8.3.1 工作模式概述
8.3.2 被动模式的配置
8.3.3 主动模式的配置
8.4 Zabbix-Trapper(zabbix sender)监控方式
8.4.1 Zabbix-Trapper的配置步骤
8.4.2 Zabbix-Trapper的配置示例
8.4.3 使用zabbix_sender程序发送数据
8.4.4 使用zabbix_sender程序批量读取文件
8.5 SNMP监控方式
8.5.1 SNMP协议概述
8.5.2 SNMP协议的工作方式
8.5.3 SNMP协议的工作原理
8.5.4 SNMP MIB简介
8.5.5 SNMP相关术语
8.5.6 配置Zabbix-Server的SNMP监控
8.5.7 SNMP监控中的LLD原理
8.6 SNMPTraps监控方式
8.6.1 SNMPTraps的概念
8.6.2 SNMPTraps的工作原理
8.6.3 SNMPTraps的安装与配置
8.6.4 SNMPTraps的测试
8.7 IPMI监控方式
8.7.1 IPMI的概念
8.7.2 IPMI的特性
8.7.3 配置Zabbix-Server监控IPMI
8.7.4 Zabbix自带的IPMI模板
8.7.5 在Linux系统中使用OpenIPMI
8.7.6 创建IPMI模板
8.7.7 IPMI监控主机
8.8 JMX监控方式
8.8.1 JMX在Zabbix中的运行流程
8.8.2 JMX监控的安装和配置
8.8.3 安装Zabbix-Java-Gateway
8.8.4 配置Zabbix-Java-Gateway
8.8.5 查看Zabbix-Java-Gateway日志
8.8.6 监控Java应用程序的方法
8.8.7 开启Tomcat的JMX
8.8.8 获取JMX数据
8.8.9 JMX数据的LLD
8.8.10 JMX监控的核心技术实现
8.9 HTTP agent监控方式
8.9.1 HTTP agent监控概述
8.9.2 HTTP agent监控实例
8.9.3 HTTP agent监控配置
8.9.4 转换HTTP agent获取的数据结果
8.10 Web监控方式
8.10.1 Web监控的原理
8.10.2 Web监控指标
8.10.3 Web监控的配置步骤
8.10.4 Web监控用户认证支持
8.10.5 Web监控触发器的配置
8.10.6 Web监控排错
8.11 Dependent item监控方式
8.12 ODBC监控方式
8.12.1 安装ODBC软件包
8.12.2 查看ODBC配置
8.12.3 安装MySQL ODBC驱动
8.12.4 使用ODBC驱动连接MySQL
8.12.5 配置Item
8.12.6 ODBC错误处理
8.12.7 安装Oracle OBDC驱动
8.12.8 安装PostgresSQL OBDC驱动
8.12.9 OBDC的监控项自动发现
8.13 其他监控方式
8.14 命令执行的监控方式
8.14.1 system.run
8.14.2 远程命令
第9章 分布式监控与自动化
9.1 Zabbix-Proxy分布式监控
9.1.1 安装Zabbix-Proxy
9.1.2 导入Zabbix-Proxy的数据库
9.1.3 配置zabbix_proxy.conf
9.1.4 启动Zabbix-Proxy服务
9.1.5 查看Zabbix-Proxy日志
9.1.6 添加Proxy
9.1.7 添加Proxy的主机监控
9.2 监控的自动化功能
9.3 网络自动发现
9.4 主动方式的自动注册功能
9.4.1 功能概述
9.4.2 配置过程
9.5 监控项自动发现功能
9.5.1 功能概述
9.5.2 LLD的原理
9.5.3 LLD的数据格式
9.5.4 LLD应用案例
9.5.5 配置Zabbix客户端
9.5.6 编写自动发现脚本
9.5.7 自定义key配置文件
9.5.8 在Web页面添加LLD
9.5.9 主机信息数据LLD
9.5.10 定期删除不存在的监控元素
9.5.11 自动创建监控项分组
9.6 使用自动化工具SaltStack批量部署Zabbix
9.6.1 使用SaltStack配置管理Zabbix
9.6.2 安装salt-master
9.6.3 安装salt-minion
9.6.4 接受客户端密钥申请
9.6.5 状态同步文件
9.6.6 执行状态同步
第10章 监控功能案例
10.1 监控TCP连接状态
10.1.1 TCP连接状态监控原理
10.1.2 TCP连接状态监控脚本的实现
10.1.3 TCP监控模板指标
10.2 监控Nginx
10.2.1 Nginx监控原理
10.2.2 Nginx状态数据配置的开启
10.2.3 Nginx监控脚本的实现
10.2.4 Nginx监控key的配置
10.3 监控PHP-FPM
10.3.1 PHP-FPM监控原理
10.3.2 PHP-FPM状态数据配置的开启
10.3.3 PHP-FPM监控脚本的实现
10.3.4 PHP-FPM监控key的配置
10.4 监控MySQL
10.4.1 MySQL监控原理
10.4.2 创建MySQL监控专用账户
10.4.3 MySQL监控模板
10.4.4 MySQL监控指标
10.4.5 MySQL模板触发器
10.4.6 MySQL监控效果展示
10.5 监控物理服务器
10.5.1 DELL服务器监控原理
10.5.2 DELL服务器IPMI的配置
10.5.3 通过IPMI获取数据
10.5.4 DELL服务IPMI监控指标
10.5.5 添加IPMI监控主机
10.6 监控物理机磁盘
10.6.1 物理机磁盘监控原理
10.6.2 物理机磁盘监控的配置
10.6.3 物理机磁盘监控指标
10.6.4 物理机磁盘监控触发器
10.6.5 物理机磁盘监控数据展示
10.7 监控Cisco路由器
10.7.1 Cisco路由器监控原理
10.7.2 Cisco路由器SNMP的配置
10.7.3 通过snmpwalk获取SNMP数据
10.7.4 添加Cisco模板
10.8 监控VMware
10.8.1 VMware监控原理
10.8.2 Zabbix-Server的配置
10.8.3 vCenter监控账户的配置
10.8.4 添加监控主机
10.8.5 监控账户宏的配置
10.8.6 查看监控数据
10.9 监控RabbitMQ
10.9.1 RabbitMQ监控原理
10.9.2 RabbitMQ监控账户的配置
10.9.3 RabbitMQ监控指标
10.9.4 RabbitMQ监控触发器
10.9.5 RabbitMQ监控效果展示
10.10 监控Elasticsearch
10.10.1 Elasticsearch监控原理
10.10.2 Elasticsearch监控指标
10.10.3 Elasticsearch监控触发器
10.11 监控Kafka
10.11.1 Kafka监控原理
10.11.2 Kafka监控的配置
10.11.3 Kafka监控指标
10.11.4 Kafka监控触发器
10.11.5 Kafka监控效果展示
10.12 监控Redis
10.12.1 Redis监控原理
10.12.2 Redis监控的配置
10.12.3 Redis监控指标
10.12.4 Redis监控触发器
10.12.5 Redis监控效果展示
10.13 监控Oracle数据库
10.13.1 Oracle监控原理
10.13.2 Oracle监控账户的配置
10.13.3 Oracle监控指标
10.13.4 Oracle监控触发器
10.13.5 Oracle监控效果展示
10.14 监控WebLogic
10.14.1 WebLogic监控原理
10.14.2 WebLogic监控的配置
10.14.3 WebLogic监控指标
10.14.4 WebLogic监控触发器
10.15 监控SQL Server
10.15.1 SQL Server监控原理
10.15.2 SQL Server监控指标
10.15.3 SQL Server监控触发器
10.15.4 SQL Server监控效果展示
10.16 监控HTTPS证书过期
10.16.1 HTTPS证书过期监控原理
10.16.2 HTTPS证书过期监控指标
10.16.3 HTTPS证书过期监控触发器
10.16.4 HTTPS证书过期监控效果展示
第11章 监控数据可视化
11.1 Grafana
11.1.1 Grafana简介
11.1.2 安装Grafana
11.1.3 安装并启用Grafana Zabbix插件
11.1.4 添加并配置Zabbix数据源
11.1.5 添加Grafana图形
11.2 Graphtrees
11.2.1 安装Graphtrees
11.2.2 展示效果
11.3 谷歌浏览器告警插件
11.4 Mac App的使用
11.5 手机App的使用
11.6 导出实时监控数据
11.6.1 需求来源
11.6.2 参数配置
11.6.3 数据格式
11.6.4 修改源码
11.6.5 数据对接
11.7 网络拓扑自动发现
11.7.1 需求概述
11.7.2 实现原理
11.7.3 网络拓扑自动发现实例
11.7.4 通过SNMP获取LLDP数据
11.7.5 通过Zabbix-Server获取LLDP数据
11.7.6 网络拓扑可视化的实现
11.8 监控数据可视化的意义
11.9 总结
第12章 监控性能优化
12.1 Zabbix性能优化概述
12.2 Zabbix性能优化依据
12.3 Zabbix配置文件参数的优化
12.4 Zabbix架构的优化
12.5 Item的工作模式及Trigger的优化
12.6 Zabbix数据库的优化
12.7 Zabbix运行硬件的优化
12.8 Zabbix压力测试
12.8.1 压力测试原理
12.8.2 压力测试准备
12.8.3 压力测试过程
12.8.4 压力测试总结
12.9 Zabbix-Server内部实现原理
12.9.1 Zabbix-Server的整体流程
12.9.2 Zabbix-Server采集器的工作流程
12.9.3 Zabbix-Proxy工作流程
12.9.4 Zabbix-Server告警的工作流程
12.10 Zabbix-Server配置参数
12.11 Zabbix-Server性能优化总结
第13章 Zabbix API的使用
13.1 Zabbix API简介
13.2 JSON-RPC
13.3 Zabbix API的使用流程
13.3.1 使用API的基本步骤
13.3.2 如何使用官方文档获取帮助
13.3.3 使用CURL调用API
13.3.4 HTTP头部Content-Type设置
13.3.5 用户认证结果的返回值
13.3.6 获取主机信息(用Python实现的示例)
13.3.7 添加主机(host.create)
13.3.8 删除主机(host.delete)
13.4 第三方Zabbix API模块
13.5 编写命令行管理工具zbx-tool
第14章 安装与部署的扩展
14.1 源码安装Zabbix-Server
14.1.1 安装依赖软件包
14.1.2 安装Zabbix-Server
14.1.3 导入Zabbix数据库
14.1.4 复制Zabbix启动脚本
14.1.5 配置zabbix_schmerver.conf
14.1.6 复制前端代码文件到apache目录
14.1.7 配置PHP参数
14.1.8 配置Zabbix-Web
14.2 源码安装Zabbix-Agent
14.3 定制安装包
14.4 使用RPMbuild定制RPM包
14.5 使用Elasticsearch作为数据库
14.5.1 安装Elasticsearch
14.5.2 配置Elasticsearch
14.5.3 启动Elasticsearch
14.5.4 初始化Elasticsearch数据
14.5.5 配置Zabbix-Server
14.5.6 配置Zabbix-Web
14.5.7 验证数据配置
第15章 分布式监控项目实践
15.1 监控系统项目概述
15.2 监控系统项目的背景
15.3 监控系统项目的步骤
15.4 监控系统项目的规划
15.5 监控系统项目的启动
15.6 监控系统架构的设计
15.7 监控系统项目的推进
15.7.1 安装环境的硬件要求
15.7.2 安装环境的软件要求
15.8 监控系统项目的实施
15.8.1 MySQL数据库主从库的部署
15.8.2 MySQL数据库主库的配置
15.8.3 MySQL数据库从库的配置
15.8.4 MySQL数据库表分区与备份
15.8.5 Zabbix-Server的高可用配置
15.8.6 Zabbix前端管理界面的安装
15.8.7 Zabbix-Proxy的安装与部署
15.9 监控功能的实现
15.9.1 业务组的划分
15.9.2 创建用户组
15.9.3 添加用户
15.9.4 定制监控模板
15.9.5 自动发现的配置
15.9.6 配置告警与告警聚合
15.10 监控系统与其他系统的集成
15.11 监控系统项目的总结
第16章 后记
16.1 监控系统的使用场景
16.2 如何设置监控指标
16.3 如何度量设置告警指标
16.4 如何发送告警与处理告警风暴
16.5 告警轮班机制
16.6 DevOps与监控
16.6.1 DevOps概述
16.6.2 DevOps实施的方式
16.6.3 DevOps与监控的关系
16.7 ITIL与监控
16.7.1 ITIL概述
16.7.2 ITIL服务设计
16.7.3 ITIL服务设计
16.7.4 ITIL服务设计
16.7.5 ITIL服务设计
16.7.6 ITIL服务运营
16.7.7 ITIL服务运营
16.7.8 ITIL服务运营
16.8 参考资料
Zabbix企业级分布式监控系统(第2版)是2019年由电子工业出版社出版,作者吴兆松。
得书感谢您对《Zabbix企业级分布式监控系统(第2版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。