Name | nav-argus-glue JSON |
Version |
0.7.1
JSON |
| download |
home_page | None |
Summary | An Argus glue service for Network Administration Visualized |
upload_time | 2024-09-13 10:53:12 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | GPLv3 |
keywords |
api
argus
client
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# NAV ↔ Argus glue service
This is a glue service for integration between
[Argus](https://github.com/Uninett/Argus), the alert aggregation server, and
[Network Administration Visualized](https://github.com/Uninett/nav) (NAV), the
network monitoring software suite provided by Uninett.
## How it works
`navargus` acts as an export script for the NAV event engine. It accepts
stacked, JSON-serialized alert objects on its STDIN.
The event engine will feed `navargus` a continuous stream of NAV alerts as they
are generated. `navargus` uses these alerts to either create new incidents in
the Argus API, or resolve existing ones as needed.
Refer to the Argus server documentation to learn more about [integrating monitoring
systems](https://argus-server.readthedocs.io/en/latest/integrating-monitoring-systems.html)
with Argus.
## Configuration
NAV
---
Add `navargus` in the `[export]` section of the `eventengine.conf` file.
```ini
[export]
# If set, the script option will point to a program that will receive a
# continuous stream of JSON serialized alert objects on its STDIN.
script = /path/to/navargus
```
Argus
-----
In the Argus admin interface, create a new "Source system" for your
NAV instance. This will automatically create an Argus user account for
this instance. Now, use the Argus admin interface to create an authentication
token for your user.
NAV-Argus glue service
----------------------
`navargus` is configured via `navargus.yml`. Since `navargus` is designed to
run in conjunction with NAV's event engine, this config file must be placed in
NAV's config directory (typically `/etc/nav`).
A minimal `navargus.yml` contains the base URL of your Argus server and the
Argus API token generated above.
An example:
```yml
---
api:
url: https://argus.example.com/api/v1
token: very-long-and-secret-string
```
The configuration file may optionally contain a list of tags.
These tags will be added to all incidents created by this NAV instance.
To learn more about tags, refer to
[Argus documentation](https://argus-server.readthedocs.io/).
A full configuration file example is provided in
[navargus.example.yml](navargus.example.yml).
Now, you can run the command `navargus --test-api` to verify that the glue
service is properly configured and able to query the Argus API.
## Code style
This module uses Black as a source code formatter for Python code.
A pre-commit hook will format new code automatically before committing.
To enable this pre-commit hook, run
```console
$ pre-commit install
```
Raw data
{
"_id": null,
"home_page": null,
"name": "nav-argus-glue",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "api, argus, client",
"author": null,
"author_email": "Morten Brekkevold <morten.brekkevold@sikt.no>",
"download_url": "https://files.pythonhosted.org/packages/7e/71/0bfa5694eabaeed8c30ed6f2891c17314e7835f3c2e044dbcc5ba3115313/nav_argus_glue-0.7.1.tar.gz",
"platform": null,
"description": "# NAV \u2194 Argus glue service\n\nThis is a glue service for integration between\n[Argus](https://github.com/Uninett/Argus), the alert aggregation server, and\n[Network Administration Visualized](https://github.com/Uninett/nav) (NAV), the\nnetwork monitoring software suite provided by Uninett.\n\n## How it works\n\n`navargus` acts as an export script for the NAV event engine. It accepts\nstacked, JSON-serialized alert objects on its STDIN.\nThe event engine will feed `navargus` a continuous stream of NAV alerts as they\nare generated. `navargus` uses these alerts to either create new incidents in\nthe Argus API, or resolve existing ones as needed.\n\nRefer to the Argus server documentation to learn more about [integrating monitoring \nsystems](https://argus-server.readthedocs.io/en/latest/integrating-monitoring-systems.html)\nwith Argus.\n\n## Configuration\n\nNAV\n---\nAdd `navargus` in the `[export]` section of the `eventengine.conf` file.\n\n```ini\n[export]\n# If set, the script option will point to a program that will receive a\n# continuous stream of JSON serialized alert objects on its STDIN.\nscript = /path/to/navargus\n```\n\nArgus\n-----\nIn the Argus admin interface, create a new \"Source system\" for your\nNAV instance. This will automatically create an Argus user account for\nthis instance. Now, use the Argus admin interface to create an authentication\ntoken for your user.\n\nNAV-Argus glue service\n----------------------\n`navargus` is configured via `navargus.yml`. Since `navargus` is designed to\nrun in conjunction with NAV's event engine, this config file must be placed in\nNAV's config directory (typically `/etc/nav`).\n\nA minimal `navargus.yml` contains the base URL of your Argus server and the\nArgus API token generated above.\n\nAn example:\n\n```yml\n---\napi:\n url: https://argus.example.com/api/v1\n token: very-long-and-secret-string\n```\n\nThe configuration file may optionally contain a list of tags.\nThese tags will be added to all incidents created by this NAV instance.\nTo learn more about tags, refer to\n[Argus documentation](https://argus-server.readthedocs.io/).\n\nA full configuration file example is provided in\n[navargus.example.yml](navargus.example.yml).\n\nNow, you can run the command `navargus --test-api` to verify that the glue\nservice is properly configured and able to query the Argus API.\n\n## Code style\n\nThis module uses Black as a source code formatter for Python code.\n\nA pre-commit hook will format new code automatically before committing.\nTo enable this pre-commit hook, run\n\n```console\n$ pre-commit install\n```\n",
"bugtrack_url": null,
"license": "GPLv3",
"summary": "An Argus glue service for Network Administration Visualized",
"version": "0.7.1",
"project_urls": {
"Homepage": "https://github.com/Uninett/nav-argus-glue"
},
"split_keywords": [
"api",
" argus",
" client"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "0339288390e4049e6f57002230dff340a9f625c8cd3458a3cd07c78544a3bca8",
"md5": "80078e676d43631e3f8157a95cfabe14",
"sha256": "2a6426e216abf6c1d826c9d04a481054a5e56dc3800b13b4b5f9dac7288e37df"
},
"downloads": -1,
"filename": "nav_argus_glue-0.7.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "80078e676d43631e3f8157a95cfabe14",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 10434,
"upload_time": "2024-09-13T10:53:11",
"upload_time_iso_8601": "2024-09-13T10:53:11.294516Z",
"url": "https://files.pythonhosted.org/packages/03/39/288390e4049e6f57002230dff340a9f625c8cd3458a3cd07c78544a3bca8/nav_argus_glue-0.7.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7e710bfa5694eabaeed8c30ed6f2891c17314e7835f3c2e044dbcc5ba3115313",
"md5": "296a491171678b82f027a9732e1e4300",
"sha256": "6f43e52b5ed80f14ac49b940c194695f5f31c4eb3ee2ffe8e5b1984a1279c215"
},
"downloads": -1,
"filename": "nav_argus_glue-0.7.1.tar.gz",
"has_sig": false,
"md5_digest": "296a491171678b82f027a9732e1e4300",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 9639,
"upload_time": "2024-09-13T10:53:12",
"upload_time_iso_8601": "2024-09-13T10:53:12.374651Z",
"url": "https://files.pythonhosted.org/packages/7e/71/0bfa5694eabaeed8c30ed6f2891c17314e7835f3c2e044dbcc5ba3115313/nav_argus_glue-0.7.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-13 10:53:12",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Uninett",
"github_project": "nav-argus-glue",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "nav-argus-glue"
}