Errbit错误管理平台配置指南
前言
Errbit是一个开源的错误收集和管理平台,类似于Airbrake的开源替代品。它可以帮助开发团队集中管理和解决应用程序中的错误。本文将详细介绍如何配置Errbit,使其能够满足不同环境下的需求。
配置基础
Errbit遵循12factor应用原则,所有配置都通过环境变量来管理。这种设计使得配置与代码分离,便于在不同环境间迁移应用。
配置加载顺序
Errbit会按照以下顺序加载配置:
- 直接设置的环境变量(优先级最高)
.env
文件中的配置.env.default
文件中的默认值(优先级最低)
核心配置参数
Rails基础配置
| 环境变量 | 描述 | 默认值 | 容器默认值 | |-------------------|--------------------|--------------|-------------| | RAILS_ENV
| 运行环境 | development | production | | PORT
| 服务端口 | 3000 | 同默认值 | | RAILS_MAX_THREADS
| Rails最大线程数 | 3 | 同默认值 | | WEB_CONCURRENCY
| 工作进程数 | 未设置 | 未设置 | | RAILS_LOG_LEVEL
| 日志级别 | info | info |
应用特有配置
数据库连接
MONGO_URL
: MongoDB连接字符串,格式为mongodb://用户名:密码@主机:端口/数据库名
- 默认值:
mongodb://localhost/errbit_<Rails.env>
- 也接受
MONGODB_URI
、MONGOLAB_URI
等别名
- 默认值:
安全相关
SECRET_KEY_BASE
: Rails应用的密钥,生产环境应使用rake secret
生成- 默认提供一个开发用的密钥
管理员账户
ERRBIT_ADMIN_EMAIL
: 初始管理员邮箱- 默认:
errbit@errbit.example.com
- 默认:
ERRBIT_ADMIN_PASSWORD
: 初始管理员密码- 默认: 随机字符串(运行
rake db:seed
时生成)
- 默认: 随机字符串(运行
ERRBIT_ADMIN_USER
: 初始管理员用户名- 默认:
errbit
- 默认:
功能配置
错误处理
ERRBIT_CONFIRM_ERR_ACTIONS
: 用户操作错误时显示确认对话框- 默认: true
ERRBIT_PROBLEM_DESTROY_AFTER_DAYS
: 自动清理多少天前的错误- 默认: nil(不自动清理)
通知设置
ERRBIT_EMAIL_AT_NOTICES
: 在错误发生多少次后发送邮件通知- 默认: [1,10,100](第一次、第10次、第100次)
ERRBIT_PER_APP_EMAIL_AT_NOTICES
: 允许每个应用单独配置通知阈值- 默认: false
ERRBIT_NOTIFY_AT_NOTICES
: 通过其他通知服务发送通知的阈值- 默认: [0](每次错误都通知)
用户界面
ERRBIT_USE_GRAVATAR
: 是否使用Gravatar头像- 默认: true
ERRBIT_GRAVATAR_DEFAULT
: 默认头像类型- 默认: identicon
ERRBIT_USER_HAS_USERNAME
: 是否允许用户设置用户名- 默认: true
第三方集成
GitHub集成
GITHUB_AUTHENTICATION
: 启用GitHub OAuth登录- 默认: true
GITHUB_CLIENT_ID
: GitHub应用客户端IDGITHUB_SECRET
: GitHub应用密钥GITHUB_ORG_ID
: GitHub组织ID(启用自动创建组织成员账户)
Google集成
GOOGLE_AUTHENTICATION
: 启用Google OAuth登录- 默认: true
GOOGLE_AUTO_PROVISION
: 允许OAuth登录后自动创建账户GOOGLE_CLIENT_ID
: Google应用客户端IDGOOGLE_SECRET
: Google应用密钥
邮件配置
Errbit支持通过SMTP或sendmail发送邮件:
EMAIL_DELIVERY_METHOD
: 邮件发送方式(:smtp或:sendmail)- SMTP相关配置:
SMTP_SERVER
: SMTP服务器地址SMTP_PORT
: SMTP端口SMTP_AUTHENTICATION
: 认证方式SMTP_USERNAME
: SMTP用户名SMTP_PASSWORD
: SMTP密码
最佳实践
- 生产环境安全:务必在生产环境中设置自己的
SECRET_KEY_BASE
,不要使用默认值 - 数据库连接:对于云服务提供的MongoDB,使用对应的环境变量名(如
MONGODB_URI
) - 通知策略:根据团队需求调整通知阈值,避免通知疲劳
- 定期维护:设置
ERRBIT_PROBLEM_DESTROY_AFTER_DAYS
自动清理旧错误
总结
通过合理配置Errbit,您可以构建一个适合团队需求的错误管理平台。本文涵盖了从基础配置到高级功能的各个方面,帮助您充分发挥Errbit的潜力。根据实际使用情况,您可以随时调整这些配置参数来优化Errbit的行为和性能。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考