前言

好的手册在当警报触发时,便于快速定位问题。在更复杂的环境中,团队中的每个人都不会对每个系统都有所了解,而且Runbook是传播这些知识的一个载体,更是好方法。

手册 == RunBook, 请了解。

1、编写RunBook的注意事项

为特定服务编写了一个好的Runbook,大致需要一下几点:

  • 这项服务是什么,它的作用是什么?
  • 谁是项目负责?
  • 它有什么依赖关系?
  • 它的基础设施是什么样的?
  • 它发出什么指标和日志,它们是什么意思?
  • 为它设置了什么警报,为什么?

对于每个警报,我们可以包含指向该服务的Runbook的链接。当有人响应警报时,他们将打开Runbook并了解正在发生的事情,警报的含义以及潜在的补救步骤。

与许多好东西一样,Runbook很容易被滥用。如果警报的补救步骤与复制粘贴命令一样简单,那么说明已经开始滥用Runbook。对于上面说的情况应该自动执行该修复或解决基础问题,然后完全删除警报。

Runbook用于解决某些问题时需要人工判断和诊断的时间。

2、基于Web App的RunBook示例

当然,这是一个示例,你完全可以根据你的情况进行完善与调整。下面我们来看下Demo。

服务名:Demo App

Demo App 是通过Python框架Flask进行开发,主要作用是Blog信息展示;服务主要依赖组件有Redis(缓存),MySQL(数据存储);服务采用Uwsgi+Nginx形式作为部署架构。

Metadata

代码库位于http://10.0.0.1/app/blog

服务责任人:Evan

问题升级

如果需要协助来解决此服务的问题,则服务所有者无法协助,问题升级联系备用人员XX。有关联系说明,请参阅公司联系表。

外部依赖

依赖公共Js库mount.js来实现国际化时间;

依赖外部CDN进行加速,CDH域名:XXXX,CDH服务商:XXX。

内部依赖性

Nginx服务,运行在10.0.0.7的服务器上;

Redis服务,运行在10.0.0.7的服务器上,DB库是:3;

MySQL服务,运行在10.0.0.8(Master),10.0.0.9(Slave);数据库名称:flask_blog

技术栈

  • Flask (1.0.1)
  • Nginx (1.13.16)
  • Redis(4.3.1)
  • MySQL(5.6.40)

监控指标与日志

指标如下:

  • 用户登录(计数)
  • 用户注销(计数)
  • 发布创建(计数)
  • 删除(计数)
  • 评论创建(计数)
  • 评论删除(计数)
  • 发布时间(计时器)
  • 删除时间(计时器)
  • 用户注册时间(计时器)
  • 用户登录时间(计时器)
  • 用户注销时间(计时器)

应用日志内容:

  • 用户使用用户ID,状态(成功/失败)和IP地址登录
  • 使用用户ID,状态(成功/失败)和IP地址发布创建
  • 使用用户ID,状态(成功/失败)和IP地址创建注释

警报

问题:用户登录失败率

原因:当用户登录失败率在5m时间内超过5%时,此警报将触发。可能的原因是部署不当(检查最近的部署)或暴力攻击(检查用户登录日志是否有攻击迹象)。

问题:用户登录时间过长

原因:当用户登录所需的时间超过一秒时,将触发此警报。检查最近的错误部署或MySQL性能问题。

问题:发布时间太长

原因:当用户创建帖子所需的时间超过一秒时,将触发此警报。检查最近的错误部署或MySQL性能问题。

问题:评论创造时间太长

原因:当用户创建评论所需的时间超过一秒时,将触发此警报。校验对于最近的错误部署或MySQL性能问题。

上面就是Demo了,可以根据大家的需求进行调整。

04-监控-手册(Runbook)的更多相关文章

  1. Ubuntu 16.04监控网络带宽软件

    1.系统监控器已经自带了默认的监控功能,包括CPU.内存.带宽.进程等,但带宽的一些详情不能显示出来. 2.使用top命令进行监控进程 sudo top 3.安装Indicator-sysmonito ...

  2. MySQL 性能监控 4 大指标

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的 4 大指标. 文章系国内 ITOM 管理平台 OneAPM 编译呈现.    MySQL 是什么? MySQL  ...

  3. Linux下系统如何监控服务器硬件、操作系统、应用服务和业务

    1.Linux监控概述       Linux服务器要保证系统的高可用性,需要实时了解到服务器的硬件.操作系统.应用服务等的运行状况,各项性能指标是否正常,需要使用各种LINUX命令.做到自动化运维就 ...

  4. MySQL 性能监控4大指标——第一部分

    [编者按]本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标. 第一部分将详细介绍前两个指标: 查询吞吐量与查询执行性能.文章系国内 ITOM 管理平台 OneAPM ...

  5. Linux使用shell脚本监控

    (1)性能监控脚本 performance.sh #!/bin/bash #-------------------------------------------------------------- ...

  6. pscp使用详解 Windows与Linux文件互传工具

    pscp使用详解 Windows与Linux文件互传工具 pscp使用方法详解:pscp是putty安装包所带的远程文件传输工具,是一款十分常见windows与linux系统之间文件互传的工具,使用方 ...

  7. Java 工程师成神之路 | 2019正式版

    本文为转载,原文见以下链接:https://mp.weixin.qq.com/s/4AMzq87V6eW3YPgE0mCdSw 1 基础篇 01 面向对象 → 什么是面向对象 面向对象.面向过程 面向 ...

  8. u-boot-2015.01在tq2440上的初步移植

    作者: 彭东林 邮箱: pengdonglin137@163.com QQ:   405728433 开发板:     tq2440 工具:       Win7 + VMware + Debian6 ...

  9. 033.[转] Java 工程师成神之路 | 2019正式版

    Java 工程师成神之路 | 2019正式版 原创: Hollis Hollis 2月18日 https://mp.weixin.qq.com/s/hlAn6NPR1w-MAwqghX1FPg htt ...

随机推荐

  1. HDFS中大数据常见运维指令总结

    一.查看HDFS下的参数信息 [root@master ~]# hdfs Usage: hdfs [--config confdir] COMMAND where COMMAND is one of: ...

  2. 利用python 5分钟制作一款小游戏

    1.安装pygame 在命令行cmd中输入:pip install pygame ( 注:如果安装不成功,需要输入:python -m pip install --user --upgrade pip ...

  3. 写给小白看的Mysql事务

    1 为什么需要事务 在网上的很多资料里,其实没有很好的解释为什么我们需要事务.其实我们去学习一个东西之前,还是应该了解清楚这个东西为什么有用,硬生生的去记住事务的ACID特性.各种隔离级别个人认为没有 ...

  4. .NET 云原生架构师训练营(模块二 基础巩固 RabbitMQ Masstransit 详解)--学习笔记

    2.6.7 RabbitMQ -- Masstransit 详解 Consumer 消费者 Producer 生产者 Request-Response 请求-响应 Consumer 消费者 在 Mas ...

  5. LeetCode24 两两交换链表中的节点

    给定一个链表,两两交换其中相邻的节点,并返回交换后的链表. 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3. 说明: 你的算法只能使用常数的 ...

  6. 剑指Offer58-左转字符串

    题目 汇编语言中有一种移位指令叫做循环左移(ROL),现在有个简单的任务,就是用字符串模拟这个指令的运算结果.对于一个给定的字符序列S,请你把其循环左移K位后的序列输出.例如,字符序列S=" ...

  7. 【Linux】iptables的内核模块问题大坑!

    系统环境 CentOS 6.5 今天本来可以平静的度过一天,正品味着下午茶的美好,突然接到防火墙iptables的报警. 进入到服务器中,执行下面的命令查看,结果报错 /etc/init.d/ipta ...

  8. 数据分析 Pandas 简介和它的的数据结构

    本文主要讲Pandas 的Series和DataFrame 的相关属性和操作 1.Series的相关属性和操作# --Series是一种类似于一维数组的对象,只能存放一维数组!由以下两部分组成:# v ...

  9. ALV中的分隔条(SPLITTER_CONTROL)

    如上图,可以做成左右的分割,当然也可以做成上下的分割效果,在每个分割的容器内,显示各自的内容. 需要使用的class: cl_gui_splitter_container, cl_gui_custom ...

  10. Hadoop2.7.7阿里云安装部署

    阿里云的网络环境不需要我们配置,如果是在自己电脑上的虚拟机,虚拟机的安装步骤可以百度.这里是单机版的安装(也有集群模式的介绍)使用Xshell连接阿里云主机,用命令将自己下载好的安装包上传到服务器 # ...