Skip to main content

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-templatecmd.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

(同样的命令非常适合手动测试通知系统:制作一个匹配假事件的过滤器,例如通过设置sourceargus,并通过省略 - 标志创建单个假事件-b。)

下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

内置分布

argus_server-1.5.1-py3-none-any.whl (103.4 kB 查看哈希

已上传 py3