Skip to main content

Library for building InfraSonar agents

Project description

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.
DISABLED_CHECKS_CACHE_AGE 900 Time in seconds before we poll again for reading the disabled checks.

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())

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pylibagent-1.0.2.tar.gz (23.2 kB view details)

Uploaded Source

File details

Details for the file pylibagent-1.0.2.tar.gz.

File metadata

  • Download URL: pylibagent-1.0.2.tar.gz
  • Upload date:
  • Size: 23.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for pylibagent-1.0.2.tar.gz
Algorithm Hash digest
SHA256 d96d651e92ce5db85744d5363206bfb665908caffee5f13b12650a9fec6d715c
MD5 beda421ee8c4b7715e4c29eaf089208d
BLAKE2b-256 6560f0f575e9610d6d10e44f1bb3f7d328891c4c9b7b348a3444a9ffb3eb0f77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page