Healthchecks 是一款后台作业监控服务系统。
GitHub地址:
https://github.com/healthchecks/healthchecks
6.7K star
原理:Healthchecks 侦听来自后台作业和计划任务(“检查”)的 HTTP 请求和电子邮件消息(“ping”)。当 ping 未按时到达时,Healthchecks 会发出警报。
产品功能模块:
Healthchecks 配备了 Web 仪表板、API、用于发送通知的 25 多个集成、每月电子邮件报告、WebAuthn 2FA 支持、团队管理功能:项目、团队成员、只读访问权限。
web面板

设置检查任务:

系统的详细功能和模块:
Healthchecks是一个开源的系统监控软件,主要的模块和功能包括:
1. 健康检查:Healthchecks可以定期对指定的URL进行健康检查,以确保系统正常运行。可以通过定期发送HTTP请求来监测系统的可用性,并在系统出现故障时发送警报。
2. 报警通知:当系统检查失败或恢复正常时,Healthchecks可以通过电子邮件、Slack、Webhook等方式发送报警通知。用户可以根据自己的需求选择合适的通知方式。
3. 定时任务:Healthchecks可以设置定时任务,定期运行指定的脚本或命令。可以通过定时任务来执行系统维护、数据备份等操作。
4. 可视化仪表盘:Healthchecks提供实时的监控数据,并以可视化的方式展示系统的运行状态。用户可以通过仪表盘了解系统的性能指标、错误率等信息。
5. 多用户支持:Healthchecks支持多用户管理,可以为不同的用户设置不同的监控任务和权限。每个用户可以独立管理和监控自己的系统。
6. API接口:Healthchecks提供了RESTful API接口,用户可以通过API接口来管理监控任务、查询监控状态等操作。这使得Healthchecks可以与其他系统进行集成,实现自动化的监控和报警功能。
总的来说,Healthchecks是一个功能强大的系统监控软件,可以帮助用户实时监测系统的运行状态,并在出现故障时及时发送警报通知,以保证系统的稳定运行。
开源代码部署:
设置 Healthchecks 开发环境:
安装依赖项(Debian/Ubuntu):
sudo apt update
sudo apt install -y gcc python3-dev python3-venv libpq-dev libcurl4-openssl-dev libssl-dev准备项目代码和 virtualenv 的目录。请随意使用不同的位置:
mkdir -p ~/webapps
cd ~/webapps准备虚拟环境(使用 virtualenv 你可以得到 pip,我们很快就会用它来安装需求):
python3 -m venv hc-venv
source hc-venv/bin/activate
pip3 install wheel # make sure wheel is installed in the venv查看项目代码:
git clone https://github.com/healthchecks/healthchecks.git
将需求(Django,...)安装到 virtualenv 中:
pip install -r healthchecks/requirements.txt
仅限 macOS - 需要使用以下方法重新安装 pycurl(假设使用 brew 安装 OpenSSL):
export PYCURL_VERSION=`cat requirements.txt | grep pycurl | cut -d '=' -f3`
export OPENSSL_LOCATION=`brew --prefix openssl`
export PYCURL_SSL_LIBRARY=openssl
export LDFLAGS=-L$OPENSSL_LOCATION/lib
export CPPFLAGS=-I$OPENSSL_LOCATION/include
pip uninstall -y pycurl
pip install pycurl==$PYCURL_VERSION --compile --no-cache-dir创建数据库表和超级用户帐户:
cd ~/webapps/healthchecks
./manage.py migrate
./manage.py createsuperuser使用默认配置,Healthchecks 将数据存储在
hc.sqlite签出目录 (~/webapps/healthchecks) 的 SQLite 文件中。运行测试:
./manage.py test运行开发服务器:
./manage.py runserver
该站点现在应该运行在http://localhost:8000。要访问 Django 管理站点,请以超级用户身份登录,然后访问http://localhost:8000/admin/
配置
健康检查从环境变量中读取配置。
配置参数的完整列表。
访问管理面板
Healthchecks 附带 Django 的管理面板,您可以在其中手动查看和修改用户帐户、项目、检查、集成等。要访问它,
如果您还没有创建一个超级用户帐户:
./manage.py createsuperuser使用超级用户凭据登录站点
在顶部导航的“帐户”下拉列表中,选择“网站管理”
吃透一个系统需要很长时间,不断运行起来,再回头看代码。
然后从头自己做一套
附录:基于Django框架快速设计一款监控系统的步骤如下:
1. 安装Django:首先,确保你的系统中已经安装了Python和pip。然后,通过pip安装Django框架:
```
pip install django
```
2. 创建Django项目:使用Django的命令行工具创建一个新的Django项目:
```
django-admin startproject mymonitor
```
3. 创建监控应用:在项目目录下,创建一个新的Django应用:
```
cd mymonitor
python manage.py startapp monitor
```
4. 定义模型:在monitor应用的models.py文件中定义你的监控数据模型,例如监控任务、检查结果等。
5. 创建数据库表:运行Django的数据库迁移命令,创建数据库表:
```
python manage.py makemigrations
python manage.py migrate
```
6. 编写视图和URL:在monitor应用的views.py文件中编写你的视图函数,处理监控任务的逻辑。然后,在monitor应用的urls.py文件中定义URL路由。
7. 设计前端页面:使用Django的模板系统设计监控系统的前端页面,包括仪表盘、监控列表、报警通知设置等。
8. 运行开发服务器:运行Django的开发服务器,启动你的监控系统:
```
python manage.py runserver
```
这样,你就可以通过访问http://localhost:8000来查看和使用你的监控系统。
以上是一个简单的基于Django框架设计监控系统的步骤,具体的实现过程可能会更复杂,需要根据你的需求和具体情况进行调整和扩展。
GitHub地址:
https://github.com/healthchecks/healthchecks
国内镜像:
http://www.gitpp.com:8099/niumonitor/healthchecks
点击下面 阅读原文, 查看更多软件源代码

