展开全部

主编推荐语

直击云原生化和容器化的监控痛点,理论联系实际,从0到1构建可扩展的监控框架,让你轻松驾驭监控系统的技术工具。

内容简介

本书由前Docker员工、运维专家詹姆斯·特恩布尔执笔,系统介绍现代应用程序、架构的监控和度量。

全书共分为13章,主要内容包括监控和度量过程中涉及的一些基本概念,描述基于主机的监控。书中运用了大量的代码进行分析例证,有助于实时监控系统。

另外,作者对系统日志、应用程序以及通知等方面进行了系统介绍,并且在最后3章中,对Tornado的组成部分展开了详细介绍,力求构建可监控的系统。

本书适合软件开发工程师、系统管理员以及其他所有对系统监控和DevOps感兴趣的人阅读。

目录

  • 版权信息
  • 前言
  • 读者对象
  • 致谢
  • 技术审校者
  • 编辑
  • 作者
  • 排版约定
  • 代码和示例
  • 勘误
  • 免责声明
  • 版本
  • 电子书
  • 第 1 章 引言
  • 1.1 内容概览
  • 1.2 监控的定义
  • 1.2.1 业务客户
  • 1.2.2 IT客户
  • 1.3 监控的实际存在形式
  • 1.3.1 手动、用户发起或无监控阶段
  • 1.3.2 被动式监控阶段
  • 1.3.3 主动式监控阶段
  • 1.4 模型分布
  • 1.5 实施主动式监控
  • 1.6 本书内容
  • 1.7 工具的选择
  • 第 2 章 监控框架
  • 2.1 黑盒与白盒
  • 2.2 以事件、日志、指标为中心
  • 2.2.1 更多关于指标的知识
  • 2.2.2 指标的定义
  • 2.2.3 指标的类型
  • 2.2.4 指标小结
  • 2.2.5 指标聚合
  • 2.3 上下文和有价值的通知
  • 2.4 可视化
  • 2.5 传统监控有何问题
  • 2.5.1 静态配置
  • 2.5.2 不灵活的逻辑和阈值
  • 2.5.3 以目标对象为中心
  • 2.5.4 宠物和肉牛的插曲
  • 2.5.5 新方法的不同之处
  • 2.5.6 更智能的阈值输入
  • 2.6 为监控框架采集数据
  • 开销和观察者效应
  • 2.7 小结
  • 第 3 章 使用Riemann管理事件和指标
  • 3.1 Riemann简介
  • 3.1.1 Riemann的架构和实现
  • 3.1.2 安装Riemann
  • 3.2 配置Riemann
  • 3.2.1 学习Clojure
  • 3.2.2 Riemann的基础配置
  • 3.2.3 事件、流、索引
  • 3.2.4 配置事件、流、索引
  • 3.2.5 向Riemann发送事件
  • 3.2.6 创建Riemann监控检测
  • 3.2.7 Riemann过滤的一个小插曲
  • 3.3 连接Riemann服务器
  • 3.3.1 配置上游Riemann服务器
  • 3.3.2 配置下游Riemann服务器
  • 3.3.3 向下游发送Riemann事件
  • 3.4 在上游Riemann服务器发出告警
  • 3.4.1 Riemann事件限流
  • 3.4.2 汇总Riemann事件
  • 3.4.3 电子邮件通知的替代工具
  • 3.5 测试Riemann配置
  • 3.6 验证Riemann配置
  • 3.7 性能、可伸缩性、高可用性
  • 3.8 Riemann的替代工具
  • 3.9 小结
  • 第 4 章 Graphite和Grafana
  • 4.1 Graphite简介
  • 4.1.1 Carbon
  • 4.1.2 Whisper
  • 4.1.3 Graphite Web、Graphite-API、Grafana
  • 4.2 Graphite的架构
  • 4.3 安装Graphite
  • 4.3.1 在Ubuntu上安装Graphite
  • 4.3.2 在Red Hat上安装Graphite
  • 4.3.3 安装Graphite-API
  • 4.3.4 安装Grafana
  • 4.3.5 通过配置管理工具安装Graphite和Grafana
  • 4.4 配置Graphite和Carbon
  • 4.4.1 配置Carbon指标的留存模式
  • 4.4.2 估算Graphite存储空间
  • 4.4.3 Carbon和Graphite服务管理
  • 4.5 配置Graphite-API
  • 4.5.1 Graphite-API的服务管理
  • 4.5.2 测试Graphite-API
  • 4.6 配置Grafana
  • 4.7 为Graphite配置Riemann
  • 4.8 Grafana简介
  • 4.9 Graphite和Carbon冗余
  • 4.10 时间和时区
  • 4.10.1 手动管理时间
  • 4.10.2 通过配置管理工具管理时间
  • 4.10.3 检查时间状态
  • 4.11 Graphite和Grafana的替代工具
  • 4.11.1 商业工具
  • 4.11.2 开源工具
  • 4.12 Whisper的替代工具
  • 4.12.1 InfluxDB
  • 4.12.2 Cyanite
  • 4.13 小结
  • 第 5 章 监控主机
  • 5.1 collectd简介
  • 5.2 应该监控哪些主机组件
  • 5.3 安装collectd
  • 5.3.1 在Ubuntu上安装collectd
  • 5.3.2 在Red Hat上安装collectd
  • 5.3.3 通过配置管理工具安装collectd
  • 5.4 配置collectd
  • 5.4.1 加载和配置collectd插件来进行监控
  • 5.4.2 最后的准备
  • 5.4.3 启用和运行collectd
  • 5.5 collectd事件
  • 5.6 将collectd事件发送到Graphite
  • 5.7 重构collectd指标名称
  • 5.8 小结
  • 第 6 章 在Riemann中使用collectd事件
  • 6.1 检测正在运行的进程
  • 6.2 其他行动和改进
  • 6.3 重复一些传统监控
  • 6.4 通过更智能的数据进行更好的监控
  • 6.4.1 构建基于中位数的检测
  • 6.4.2 使用百分位数进行基于主机的检测
  • 6.4.3 对检测进行抽象
  • 6.4.4 对检测进行组织
  • 6.5 使用Grafana绘制collectd指标
  • 6.5.1 创建主机看板
  • 6.5.2 创建第一个主机图表
  • 6.5.3 创建内存图表
  • 6.5.4 单个主机图表
  • 6.5.5 其他图表
  • 6.6 网络、设备和Microsoft Windows监控
  • 6.7 collectd的替代工具
  • 6.7.1 商业工具
  • 6.7.2 开源工具
  • 6.8 小结
  • 第 7 章 容器——另一种类型的主机
  • 7.1 容器监控面临的挑战
  • 7.2 监控Docker容器
  • 7.2.1 Docker collectd插件
  • 7.2.2 安装Docker collectd插件
  • 7.2.3 配置Docker collectd插件
  • 7.3 使用Riemann处理Docker collectd的统计信息
  • 向Docker事件添加元数据
  • 7.4 为Docker指标指定不同的解析度
  • 7.5 清理旧的Graphite Docker指标
  • 7.6 使用Docker指标进行监控
  • 7.7 其他容器监控工具
  • 7.8 小结
  • 第 8 章 日志
  • 8.1 ELK技术栈入门
  • 8.2 Logstash架构
  • 8.3 安装Logstash
  • 8.3.1 在Debian和Ubuntu上安装Java
  • 8.3.2 在Red Hat上安装Java
  • 8.3.3 测试Java是否安装成功
  • 8.3.4 在Ubuntu和Debian上安装Logstash包
  • 8.3.5 在Red Hat上安装Logstash包
  • 8.3.6 通过配置管理工具安装Logstash
  • 8.3.7 测试Logstash是否已安装成功
  • 8.4 配置Logstash
  • 8.5 安装Elasticsearch
  • 8.5.1 在Debian和Ubuntu上安装Java
  • 8.5.2 在Red Hat上安装Java
  • 8.5.3 通过配置管理工具安装Elasticsearch
  • 8.5.4 测试Elasticsearch是否安装成功
  • 8.5.5 确定Elasticsearch正在运行
  • 8.6 配置Elasticsearch集群和节点
  • 添加集群管理插件
  • 8.7 时间和时区
  • 8.8 集成Logstash和Elasticsearch
  • 8.8.1 Logstash内部会发生什么
  • 8.8.2 Elasticsearch内部会发生什么
  • 8.9 安装Kibana
  • 8.10 配置Kibana
  • 8.11 运行Kibana
  • 使用Kibana
  • 8.12 通过Syslog将主机连接到Logstash
  • 8.12.1 配置Logstash
  • 8.12.2 Syslog概览
  • 8.12.3 配置Syslog
  • 8.13 记录Docker日志
  • 配置docker守护进程来记录日志
  • 8.14 将数据从Logstash发送到Riemann
  • 8.15 将数据从Riemann发送到Logstash
  • 8.16 伸缩扩展Logstash和Elasticsearch
  • 8.16.1 伸缩扩展Logstash
  • 8.16.2 伸缩扩展Elasticsearch
  • 8.17 监控组件
  • 8.17.1 监控RSyslog
  • 8.17.2 监控Logstash
  • 8.17.3 监控Elasticsearch
  • 8.18 Logstash的替代方案
  • 8.18.1 Splunk
  • 8.18.2 Heka
  • 8.18.3 Graylog
  • 8.18.4 mtail
  • 8.19 小结
  • 第 9 章 构建可监控的应用程序
  • 9.1 应用程序监控入门
  • 9.1.1 应该在哪里测量
  • 9.1.2 测量模式
  • 9.1.3 时间和观察者效应
  • 9.2 指标
  • 9.2.1 应用程序指标
  • 9.2.2 业务指标
  • 9.2.3 监控模式或放置指标的位置
  • 9.2.4 工具模式
  • 9.2.5 外部模式
  • 9.2.6 在示例应用程序中构建指标
  • 9.3 日志
  • 9.3.1 添加自己的结构化日志条目
  • 9.3.2 将结构化日志添加到示例应用程序
  • 9.3.3 使用现有日志
  • 9.4 健康检查、端点和外部监控
  • 检测内部端点
  • 9.5 部署
  • 9.5.1 向示例应用程序添加部署通知
  • 9.5.2 使用部署事件
  • 9.6 跟踪
  • 9.7 小结
  • 第 10 章 通知
  • 10.1 目前的通知
  • 10.2 更新expired事件配置
  • 10.3 升级电子邮件通知
  • 10.3.1 格式化电子邮件主题
  • 10.3.2 格式化电子邮件正文
  • 10.4 为通知添加图表
  • 10.4.1 定义数据源
  • 10.4.2 定义查询参数
  • 10.4.3 定义图表面板和行
  • 10.4.4 绘制看板
  • 10.4.5 将看板添加到Riemann通知中
  • 10.4.6 一些脚本化看板示例
  • 10.4.7 其他上下文
  • 10.5 添加Slack作为目的地
  • 10.6 添加PagerDuty作为目的地
  • 10.7 维护和停机
  • 10.8 从通知中学习
  • 10.9 其他告警工具
  • 10.10 小结
  • 第 11 章 监控之巅:监控Tornado
  • 11.1 Tornado应用程序
  • 应用程序架构
  • 11.2 监控策略
  • 11.3 标记Tornado事件
  • 11.4 监控Tornado:Web层
  • 11.4.1 监控HAProxy
  • 11.4.2 监控Nginx
  • 11.4.3 解决Web层的监控问题
  • 11.4.4 在Riemann中设置Tornado检测
  • 11.4.5 webtier函数
  • 11.5 向Riemann添加Tornado检测
  • 11.6 小结
  • 第 12 章 监控Tornado:应用程序层
  • 12.1 监控应用程序层的JVM
  • 为JMX配置collectd
  • 12.2 采集应用程序层的JVM日志
  • 12.3 监控Tornado API应用程序
  • 12.4 解决Tornado应用程序层监控的关注点
  • 12.5 小结
  • 第 13 章 监控Tornado:数据层
  • 13.1 监控数据层的MySQL服务器
  • 13.1.1 使用MySQL数据作为指标
  • 13.1.2 查询的执行时间
  • 13.2 监控数据层的Redis服务器
  • 13.3 解决Tornado数据层的监控
  • 13.4 Tornado看板
  • 13.5 扩展Tornado之外的监控
  • 13.6 小结
  • 附录 浅谈Clojure和函数式编程
  • Clojure
  • 安装Leiningen
  • Clojure的语法和类型
  • Clojure函数
  • 列表
  • 向量
  • set
  • map
  • 字符串
  • 创建自定义函数
  • 创建变量
  • 创建命名函数
  • 学习更多的Clojure知识
  • 作者简介
  • 看完了
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    5.0

    本书面向工程师、开发人员、系统管理员、运维人员以及其他所有对系统监控和 DevOps 感兴趣的人。书中对现代应用程序和基础设施的监控艺术提供了简单、实用的介绍。读者应该具有基本的 Unix/Linux 技能,熟悉命令行和基本的网络操作,并能够熟练地编辑文件、安装软件包、管理服务。

      转发
      评论
      用户头像
      给这本书评了
      3.0
      这本书其实不用这么厚的

      说实话这本书的名字,监控的艺术,还是让我期待挺高的。我想要看到整个监控的发展,以及监控的最佳实践和一些作者独有的关于监控的观点。而事实上,除了前两章之外,后面的章节都太水了,讲了各种工具的安装配置和使用方法,甚至连安装 JVM 都要写几页来讲解。看完之后我的感觉是,就这?老外写书也这么没节操的?还好是电子书。

        转发
        评论

      出版方

      人民邮电出版社·图灵出品

      图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。