定时任务监控服务Healthchecks
GitHub地址:https://github.com/healthchecks/healthchecks
官方文档:https://healthchecks.io/docs/
按照步骤进行安装:
1.新建项目目录
$ mkdir -p ~/webapps
$ cd ~/webapps
2.创建虚拟环境
$ python3 -m venv hc-venv $ source hc-venv/bin/activate $ pip3 install wheel # make sure wheel is installed in the venv
3.拉取代码
git clone https://github.com/healthchecks/healthchecks.git
4.安装依赖包
pip install -r healthchecks/requirements.txt
5.初始化项目并创建管理员账号
$ cd ~/webapps/healthchecks $ ./manage.py migrate $ ./manage.py createsuperuser
6.运行项目
./manage.py runserver
进行邮件配置:
邀请其他成员加入或者发送告警信息都可以通过发送邮件的方式来通知用户
具体的配置信息: https://healthchecks.io/docs/self_hosted_configuration/
配置文件:hc/settings.py
可以配置环境变量覆盖配置文件中的内容:
EMAIL_HOST = "" EMAIL_PORT = 80 EMAIL_HOST_USER = "" EMAIL_HOST_PASSWORD = "" EMAIL_USE_TLS = False EMAIL_USE_VERIFICATION = True
注意点:
DEFAULT_FROM_EMAIL 配置项需要与EMAIL_HOST_USER配置一致,否则一会会报错
配置服务地址域名:SITE_ROOT
常见问题:
1.执行migrate迁移的时候发生错误,
报错(SQLite 3.8.3 or later is required (found 3.7.17).)
很明显这是由于当前的sqlite版本不高,不满足最低的运行依赖导致
解决:
1.降低django版本,但是这个项目运行可能会异常
pip uninstall django
pip install django==x.x.x
2.升级sqlite版本(https://www.sqlite.org/download.html)
1)下载新包
wget https://www.sqlite.org/2021/sqlite-autoconf-3360000.tar.gz tar zxvf sqlite-autoconf-3360000.tar.gz cd sqlite-autoconf-3360000/ ./configure make && make install 查看新版本: /usr/local/bin/sqlite3 --version
2)替换老的sqlite
mv /usr/bin/sqlite3 /usr/bin/sqlite3_old ln -s /usr/local/bin/sqlite3 /usr/bin/sqlite3 查看变量: printenv LD_LIBRARY_PATH export LD_LIBRARY_PATH="/usr/local/lib"
可以添加到配置文件中
vim /etc/profile export LD_LIBRARY_PATH="/usr/local/lib"
3)但是重新迁移 还是发生错误, 这是由于python使用的sqlite3的版本还是老的, 所以需要进行升级
pip install pysqlite
查看python中sqlite3版本
python3
import sqlite3
sqlite3.sqlite_version
2.一定要升级较新的pip版本, 可以避免许多坑!!!
1)
编译cryptography-3.4.7失败
3.安装依赖包的时候报错,
安装 psycopg2 的问题:pg_config executable not found
需要安装 pg 和 py 的驱动:
ubuntu:
apt-get install libpq-dev python-dev
centos:
yum install libpqxx-devel python-devel
安装完成,再使用 pip install psycopg2
4.执行迁移的时候报错,
django.db.utils.NotSupportedError: URIs not supported
根据项目的具体地址进行文件修改:
vim /home/my_virtualenv/django_demo/lib/python3.6/site-packages/django/db/backends/sqlite3/base.py