Skip to content

thevickypedia/PyObservability

Repository files navigation

PyObservability

Python

Platform Supported

Platform

Deployments

pypi docker

Pypi Pypi-format Pypi-status

Kick off

Recommendations

Install PyObservability

python -m pip install pyobservability

Initiate - IDE

import pyobservability


if __name__ == '__main__':
    pyobservability.start()

Initiate - CLI

pyobservability start

Use pyobservability --help for usage instructions.

Containerized Deployment

docker pull thevickypedia/pyobservability:latest

docker run \
    --name observability \
    -p 8080:80 \
    -v /home/user/config:/config \
    --restart=no \
    thevickypedia/pyobservability

Environment Variables

Sourcing environment variables from an env file

By default, PyObservability will look for a .env file in the current working directory. Other file options (like JSON and YAML) are supported with a custom kwarg or env var env_file pointing to the filepath.

Mandatory

  • TARGETS - Target URLs running PyNinja in the following format.
    • TARGETS='[{"name":"node1","base_url":"http://192.168.1.10:8000","apikey":"token1"},{"name":"node2","base_url":"http://192.168.1.11:8000"}]'

Defaults

  • HOST - Host IP to run PyObservability. Defaults to 127.0.0.1 or 0.0.0.0
  • PORT - Port number to run PyObservability. Defaults to 8080
  • INTERVAL - Polling interval to retrieve server information.

Optional

  • USERNAME - Username to authenticate the monitoring page.
  • PASSWORD - Password to authenticate the monitoring page.
  • TIMEOUT - Timeout (in seconds) for UI authentication. Defaults to 5m.

Logging

PyObservability uses uvicorn logger by default. Following options can be used to override the default logger.

  • LOG - Lazy logger to use a custom log format. Can either be file or stdout.
  • DEBUG - Enables debug level logging. Defaults to False.
  • LOGS_PATH - Directory path to store log files if LOG is set to file.
  • LOG_CONFIG - Path to a custom logging configuration file.

License & copyright

© Vignesh Rao

Licensed under the MIT License