35 lines
843 B
Python
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()
|