Skip to content

Latest commit

 

History

History

agent

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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