Prometheus監控 Redis , redis-cli_exporter

用Prometheus監控Redis 的時候,發現redis_exporter不能對redis裏面的隊列(list)長度進行監控,Google了一下,發現官網也沒有redis-cli_exporter。
索性就自己用Python寫了一個Rediscli_exporter.

#!/usr/bin/env python
#coding:utf-8
#Author: [email protected]
import prometheus_client
import redis
from prometheus_client import Gauge
from flask import Response,Flask

app = Flask(__name__)
queue_len = Gauge("www_site_queue_len","the len of redis_queue")

@app.route("/metrics")
def redis_conn():
    pool = redis.ConnectionPool(host="xxxxxxxx.redis.rds.aliyuncs.com",port=6379,db=0,password="avavavav")
    conn = redis.Redis(connection_pool=pool)
    queue_len_data = conn.llen("www_site")
    queue_len.set(queue_len_data)
    return Response(prometheus_client.generate_latest(queue_len),mimetype="text/plain")

if __name__ == "__main__":
    app.run(host="0.0.0.0",port=9101)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章