@sigyn/agent
TypeScript icon, indicating that this package has built-in type declarations

4.0.0 • Public • Published

Agent

Sigyn alerting agent

npm version size ossf scorecard license

🚧 Requirements

🚀 Getting Started

This package is available in the Node Package Repository and can be easily installed with npm or yarn

$ npm i @sigyn/agent
# or
$ yarn add @sigyn/agent

Add environment variables

$ touch .env

Add these variables:

# Required
GRAFANA_API_TOKEN=your_token
# Default to sigyn.sqlite3
SIGYN_DB=your_db

Add Sigyn config

$ touch sigyn.config.json

Please see here for config documentation

📚 Usage

import { start } from "@sigyn/agent";

await start();

🌐 API

start(location?: string, options?: StartOptions): Promise<ToadScheduler>

Run Sigyn agent. It will fetch logs depending your rules polling and send alerts when count threshold is reached.

  • location: string Optional, default to process.cwd(). The path to your SQLite database, it will create the file if it doesn't exists but the directory must exists.
  • options.logger: Logger Optional, default to pino. You can use your own logger which must be an object with theses 3 methods: debug, info & error.
  • options.level Optional, only works if no logger given. Set log level: "info" | "debug" | "error".
  • options.timeout Optional, you can provide a timeout for Grafana API requests. Default: 30_000.

The returned scheduler instance allow you to put some extra logic if needed, see API for scheduler.

🖋️ Interfaces

interface Logger {
  info: (message: string) => void;
  error: (message: string) => void;
  debug: (message: string) => void;
}

interface StartOptions {
  logger?: Logger;
  level?: "info" | "debug" | "error";
  timeout?: number;
}

License

MIT

Readme

Keywords

none

Package Sidebar

Install

npm i @sigyn/agent

Weekly Downloads

6

Version

4.0.0

License

MIT

Unpacked Size

954 kB

Total Files

7

Last publish

Collaborators

  • pierred
  • fraxken