Library for building InfraSonar agents


Keywords
monitoring, infrasonar, agent
License
GPL-3.0
Install
pip install pylibagent==0.2.1

Documentation

CI Release Version

Python library for building InfraSonar Agents

This library is created for building InfraSonar agents.

Installation

pip install pylibagent

Environment variables

Variable Default Description
TOKEN required Token to connect to.
ASSET_ID required Asset Id or file location where the Agent asset Id is stored (e.g 123 or /var/infrasonar/asset_id.json).
API_URI https://api.infrasonar.com InfraSonar API.
VERIFY_SSL 1 Verify SSL certificate, 0 (=disabled) or 1 (=enabled).
LOG_LEVEL warning Log level (error, warning, info, debug).
LOG_COLORIZED 0 Log colorized, 0 (=disabled) or 1 (=enabled).
LOG_FMT %y%m... Default format is %y%m%d %H:%M:%S.

Usage (Demonized agent)

Building an InfraSonar demonized agent.

from pylibagent.agent import Agent
from pylibagent.check import CheckBase

__version__ = "0.1.0"


class SampleCheck(CheckBase):

    key = "sample"
    interval = 300

    @classmethod
    async def run(cls):
        return {
            "type": [
                {
                    "name": "item",
                    "metric": 123
                }
            ]
        }


if __name__ == "__main__":
    collector_key = "sample"
    version = "0.1.0"
    checks = [SampleCheck]

    Agent(collector_key, version).start(checks)

Usage (Non-demonized agent)

Building an InfraSonar agent.

import asyncio
from pylibagent.agent import Agent

__version__ = "0.1.0"


async def main():
    version = "0.1.0"
    collector_key = "sample"
    check_key = "sample"

    agent = Agent(collector_key, version)
    await agent.announce()  # optionally, we can provide an initial asset name
    await agent.send_data(check_key, {
        "type": [
            {
                "name": "item",
                "metric": 123
            }
        ]
    })


if __name__ == "__main__":
    asyncio.run(main())