Argus 是用于监控系统的警报聚合器
项目描述
阿格斯
Argus 是一个用于跨网络管理系统聚合事件并向用户发送通知的平台。用户创建通知配置文件来定义他们订阅的事件。
此存储库托管使用 Django 构建的后端。还有一个 REACT SPA 前端。
另请参阅Python 客户端库。
安装
有多种安装 Argus 的方法。
先决条件
要求
- Python 3.7+
- 点子
可选要求
- 如果要运行前端,建议使用Redis 。Redis 支持 websocket,以便将实时更新推送到前端。
- 阿格斯前端
- PostgreSQL
- Docker 和 docker-compose 在 Docker 中运行 Argus
可选:Dataporten 注册
Argus 支持 Dataporten 身份验证,可用于登录 Argus 前端。请参阅文档的Dataporten部分以了解有关 Dataporten 注册以及如何使用 Argus 进行设置的信息。
使用 pip 安装 Argus
你也可以pip通过 PyPI 安装 Argus。包名是argus-server:
$ pip install argus-server
如果您在生产中使用 PyPI 包,请注意:该文件
requirements.txt包含测试版本的依赖项版本。要将所有依赖项更新到最新版本,请使用pip-compile:
$ pip install pip-tools
$ pip-compile -o your-updated-requirements.txt
$ pip install --upgrade -r your-updated-requirements.txt
现在根据您的需要更改和调整Argus 的设置。
运行初始 Argus 设置,并记下生成的管理员密码:
$ python manage.py initial_setup
******************************************************************************
Created Argus superuser "admin" with password "2S0qJbjVEew0GunL".
Please change the password via the admin interface.
******************************************************************************
然后运行 Argus API 服务器:
$ python manage.py runserver
使用 Docker Compose 设置 Argus
先下载源代码。
$ git clone https://github.com/Uninett/Argus.git
$ cd Argus
使用 docker-compose 运行 Argus 非常简单
$ docker-compose up
运行初始 Argus 设置,并记下生成的管理员密码:
$ docker-compose exec api django-admin initial_setup
******************************************************************************
Created Argus superuser "admin" with password "ns6bfoKquW12koIP".
Please change the password via the admin interface.
******************************************************************************
您会发现 Argus 在http://localhost:8000/上运行。
阿格斯的设置
可以使用环境变量、
settings.py文件或两者的组合来设置特定于站点的设置。
有关这两种方法和设置列表的更多信息,请参阅 站点特定设置的文档部分。
在开发中运行 Argus
第 1 步:安装
您可以使用 docker-compose 方便地为 Argus 设置完整的开发环境,包括 PostgreSQL。上面提供了说明 。
要改为手动安装,请按照以下步骤操作。
先下载源代码。
$ git clone https://github.com/Uninett/Argus.git
$ cd Argus
我们建议使用 virtualenv 或 virtaulenvwrapper 创建一个存放 Argus 依赖项的地方。
创建并激活 Python 虚拟环境。
$ python -m venv venv
$ source venv/bin/activate
将 Argus 的要求安装到虚拟环境中。
$ pip install -r requirements-django32.txt
$ pip install -r requirements/dev.txt
第 2 步:设置环境变量和 Django 设置
复制cmd.sh-template到cmd.sh并使其可执行
$ cp cmd.sh-template cmd.sh
$ chmod u+x cmd.sh
现在使用编辑器在文件中设置环境变量。
所需的设置cmd.sh是
DATABASE_URL,DJANGO_SETTINGS_MODULE和SECRET_KEY.
DATAPORTEN变量是可选的。有关详细信息,请参阅设置特定于站点的设置的数据端口部分
。
DJANGO_SETTINGS_MODULE可以设置为argus.site.settings.dev。
如果您需要比环境变量更复杂的设置并且cmd.sh可以提供,我们建议在与任何覆盖localsettings.py相同的目录中设置。manage.py
有关在开发模式下管理 Argus 的更多详细信息和有用提示,请参阅开发说明。
第 3 步:在开发中运行 Argus
之后,运行初始 Argus 设置并启动服务器。
$ python manage.py initial_setup
$ python manage.py runserver
您会发现 Argus 在http://localhost:8000/上运行。
代码风格
Argus 使用黑色作为源代码格式化程序。Black 将根据开发要求自动安装。
预提交挂钩将在提交之前自动格式化新代码。要启用此预提交挂钩,请运行
$ pre-commit install
运行测试
鉴于如上所述安装和配置 Argus,此命令是运行测试的最基本选项。
$ python manage.py test
如果您已安装tox,以下命令将针对多个 Django 版本、多个 Python 版本测试 Argus 代码,并自动计算代码覆盖率。
$ tox
将生成HTML 覆盖率报告。有关更多选项,请参阅tox.ini文件。
模拟数据
使用管理命令用模拟数据填充数据库create_fake_incident:
$ python manage.py create_fake_incident
请参阅标志和切换的内置帮助:
$ python manage.py create_fake_incident --help
-b由于前端显示的当前默认事件数为 10,因此您可能希望使用-flag一次性创建超过 10 个事件:
$ python manage.py create_fake_incident -b 15
(同样的命令非常适合手动测试通知系统:制作一个匹配假事件的过滤器,例如通过设置source为
argus,并通过省略 - 标志创建单个假事件-b。)
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
内置分布
argus_server -1.5.1-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 82bfca8a1478461e7b9eacaa22d3afb8c0842674a1cf59bce6b5da4c32d9f46d |
|
| MD5 | 0eda5848a4361303a720cd7a99b5efbb |
|
| 布莱克2-256 | 0610fef437cf70392bfcb73d23e73481d9521b30eb0a90ec6afa181ba397293b |