zoukankan      html  css  js  c++  java
  • 定时任务监控服务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
  • 相关阅读:
    假期周进度报告02
    假期周进度报告01
    浪潮之巅阅读笔记6
    浪潮之巅阅读笔记5
    浪潮之巅阅读笔记4
    科技创新平台年报系统利益相关者分析
    浪潮之巅阅读笔记3
    浪潮之巅阅读笔记2
    浪潮之巅阅读笔记1
    Linux Redis 重启数据丢失解决方案,Linux重启后Redis数据丢失解决方
  • 原文地址:https://www.cnblogs.com/xingxia/p/django_healthchecks.html
Copyright © 2011-2022 走看看