macOS系统部署Cabot开发环境

Cabot是什么

Cabot是GitHub上面的一个基于Django框架的开源项目,主要功能是服务的监控和告警。

Cabot目前提供如下监控类型:

  • ICMP Ping监控
  • HTTP接口监控
  • Graphite Metrics监控

Cabot提供插件式的告警方式,目前已有的告警插件有slack、sms、telephone、email等等。开发者可以开发自己的告警插件以满足自身需求。

安装依赖

Cabot默认使用PostgreSQL数据库,我们可以替换为MySQL,修改数据库连接URI即可。

下面记录在安装依赖的Python包中遇到的问题。

openssl

在安装mysql-python、cryptography等一些依赖openssl的python包时,会报错无法找到ssl库。解决办法如下:

brew info openssl
For compilers to find this software you may need to set:
    LDFLAGS:  -L/usr/local/opt/openssl/lib
    CPPFLAGS: -I/usr/local/opt/openssl/include
    
export LDFLAGS=-L/usr/local/opt/openssl/lib
export CPPFLAGS=-I/usr/local/opt/openssl/include
pip install mysql-python

openldap

在安装python-ldap包的时候报错找不到sasl.h头文件。python-ldap官方下载页面有如下解释:

Set up a suitable development environment by running xcode-select --install. After that you can install directly from PyPI.

下面记录其它工具的安装。

npm

npm documentation

download node.js then install node & npm

# install lessc
npm install -g less
# install coffee script
npm install -g coffee-script

Honcho

Cabot项目使用Foreman管理环境以及启动应用。Foreman是用Ruby写的,不想安装Ruby环境的话,可以使用Python语言移植版本Honcho:

pip install honcho

启动开发环境

# 创建数据库
# 假设conf/development.env中配置的数据库名为cabot
create database cabot default charset=utf8;
# 创建表
honcho -e conf/development.env run python manage.py migrate
honcho -e conf/development.env run python manage.py migrate cabotapp
# 创建超级用户
honcho -e conf/development.env run python manage.py createsuperuser
# 启动
honcho -e conf/development.env -f Procfile.dev start

Cabot项目源码阅读

Cabot源码值得一读,对Django Web开发有很大的指导意义。在阅读过程中,收获不少,下面是一些相关技术点:

  • django rest框架
  • django-polymorphic,与django的contenttypes框架有关
  • model的具体继承、抽象继承、proxy继承
  • Celery

你可能感兴趣的:(macOS系统部署Cabot开发环境)