arkose_prometheus/arkose_prometheus/__init__.py

35 lines
843 B
Python

import logging
import argparse
import asyncio
from prometheus_client import start_http_server
from . import arkose_gauge
logger = logging.getLogger(__name__)
def main():
parser = argparse.ArgumentParser("arkose_prometheus")
parser.add_argument("-p", "--port", type=int, default=9154)
parser.add_argument(
"-i",
"--scrape-interval",
type=int,
default=180,
help="Scrape interval, in seconds.",
)
args = parser.parse_args()
logging.basicConfig(level=logging.INFO)
start_http_server(args.port)
logger.info("Listening on port %d...", args.port)
try:
asyncio.run(arkose_gauge.scrape_metric_forever(interval=args.scrape_interval))
except KeyboardInterrupt:
logger.info("Closing server (keyboard interrupt)")
if __name__ == "__main__":
main()