大数跨境
0
0

GitHub上的精品项目:如何用Python 语言的 Django框架开发一款好用的监控系统

GitHub上的精品项目:如何用Python 语言的 Django框架开发一款好用的监控系统 GitHubTopp
2023-10-12
1
导读:Healthchecks 是一款后台作业监控服务系统。GitHub地址:https://github.com

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

点击下面  阅读原文, 查看更多软件源代码

【声明】内容源于网络
0
0
GitHubTopp
top开源系统分享
内容 444
粉丝 0
GitHubTopp top开源系统分享
总阅读124
粉丝0
内容444