Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dottorblaster/siren
Your tiny friendly rusty neighborhood monitoring CLI tool, featuring Nagios/Sensu-compatible checks
https://github.com/dottorblaster/siren
checks monitoring nagios ops runner rust sensu task
Last synced: about 2 months ago
JSON representation
Your tiny friendly rusty neighborhood monitoring CLI tool, featuring Nagios/Sensu-compatible checks
- Host: GitHub
- URL: https://github.com/dottorblaster/siren
- Owner: dottorblaster
- License: mit
- Created: 2017-08-09T10:51:18.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-08-16T04:51:09.000Z (4 months ago)
- Last Synced: 2024-10-18T06:03:17.186Z (2 months ago)
- Topics: checks, monitoring, nagios, ops, runner, rust, sensu, task
- Language: Rust
- Homepage:
- Size: 396 KB
- Stars: 9
- Watchers: 6
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Siren
Your friendly neighborhood monitoring CLI tool.Just write your own `Sirenfile.json` like this:
```json
{
"switch_cwd": true,
"tasks": [
{
"name": "foo",
"description": "foo description",
"command": "echo foo"
},
{
"name": "bar",
"description": "bar description",
"command": "echo bar"
}
]
}
```Siren takes your tasks and executes them, alerting you if one of your checks fail. The checks are standard Nagios', so you can write your own checks just issuing an exit code different than `0` if something fails. When a task has its exit code equal to `0`, that check is seen as successful.
## Installation
```sh
cargo install siren
```## Run
Once you placed your own Sirenfile into the current directory, you can run Siren:
```sh
$ siren
```You can also run Siren with a different Sirenfile than the default one:
```sh
$ siren --file my/personal/checks/Sirenfile.json
```## JSON output
Users can decide to have a recap of all tasks in JSON format instead of the plain text/console one.This can be done using the `--json-output` flag:
```sh
$ siren --json-output
```This is meant for further integrations like complex systems where Siren is only a piece of the puzzle.
## Configuration options
Here the fields you can configure in your `Sirenfile`:
- `switch_cwd`: Specifies if you want the current working directory to be changed to the one containing the `Sirenfile`. Useful if you want to write commands relative to that relative path.
- `tasks`: An array of tasks, purely. Every task has a field containing its name, a description, and a command field that gets executed as a child process.