Cachet 是一个开源的状态页面系统,它为团队提供了一个平台,用于展示其服务的状态。无论是大型的云服务提供商,还是小型的开发团队,都可以使用 Cachet 来向其用户展示服务的实时状态。
主要特性
- JSON API:Cachet 的 JSON API 允许开发者自动更新状态页面,包括事件和组件的状态变化。这对于大型组织来说尤为重要,因为他们可能需要自动化监控和报告大量的服务。
- 计划维护:维护是所有服务的常态,Cachet 允许管理员提前安排维护事件,并在维护开始时自动通知用户。一旦维护结束,相关的事件就会被记录在时间线上。
- 指标监控:Cachet 不仅仅是一个状态页面。它还允许管理员设置和监控各种指标,如服务的正常运行时间、错误率等。这为管理员提供了一个全面的视图,了解其服务的健康状况。
状态
Cachet 中涉及组件和事件两种状态,两种状态的可能取值如下所示。
组件状态:
与事件不同,Cachet 从 1 开始列出组件状态。创建或更新组件时,您需要为其指定状态。状态可能的值如下表所示:
- 运行中:该组件在工作中。
- 性能问题:该组件正在遇到一些缓慢的问题。
- 部分中断:该组件可能不适用于所有人。
- 重大故障:该组件对任何人都无法工作。
事件状态:
Cachet 使用从 0 开始的编号来识别事件状态。创建或更新事件时,指定事件的状态非常重要。
- 预定状态:此状态保留用于预定状态。
- 调查中:你收到了一个问题的报告,并且你目前正在调查中。
- 已发现:你已经找到了问题并且正在修复它。
- 观察中:你已经部署了修复方案,目前正在观察情况。
- 已修复:修复已成功。
安装 Cachet
安装 Cachet 比较简单,如果是手动安装,则需要提前准备一些运行环境,我们推荐使用 Docker 进行启动。我们这里可以使用 docker-compose 快速启动。
首先执行下面命令 Clone 代码:
git clone https://github.com/cachethq/Docker.git cachet-docker
cd cachet-docker
然后编辑 docker-compose.yml 文件,根据需要指定环境变量。
要构建一个包含特定Cachet版本的镜像,请在 docker-compose.yml 文件中更改 cachet_ver ARG。
cachet:
build:
context: .
args:
- cachet_ver=v2.3.10
然后执行下面的命令构建启动容器即可:
docker-compose build
docker-compose up
通过导航到 Docker 主机的 IP 地址,在 Web 浏览器中继续配置 Cachet 即可。
通常,可以通过在 Docker 主机上运行 Nginx 并使用证书,或者通过在运行的容器之前启用服务或负载均衡器,或者通过将自定义 SSL 证书和配置添加到提供的 Nginx 配置来实现这一点。
配置 Cachet
配置 Cachet 通常涉及到设置数据库、邮件通知、第三方集成等。具体的配置步骤和选项应该在 Cachet 的官方文档(https://docs.cachethq.io)中有详细描述。
此外官方提供了一个演示站点 https://demo.cachethq.io
- 用户名: test or test@example.com
- 密码: test123
总结
Cachet 是一个功能丰富的开源状态页面系统,旨在帮助组织更好地与其用户沟通服务状态。从自动化的 API 到计划维护,再到指标监控,Cachet 提供了一整套工具,使得管理和展示服务状态变得更加简单和高效。