Grafana에서는 Redis의 Metric 정보를 제공하는 Plugin을 제공한다. - Redis Plugins
위의 사진과 같이 Redis에 대한 Plugin을 설치 후 접속정보만 넣어주면 손쉽게 Redis에 대한 시각화를 시킬 수 있다.
적용 순서는 아래와 같다.
plugin 설치
datasource 생성
plugin의
plugin을 정상적으로 설치하면 Datasource를 선택할 수 있는 List에 Redis가 생긴다. Redis를 선택 후 아래의 사진에서 접속정보를 누른 후 plugin에서 제공하는 Dashboard를 이용하면 끝나게 된다.
접속 정보 입력
결과화면
생각보다 간단하다고 적용하기 쉬워서 너무 좋은데? 라고 했지만 query를 이용하여 데이터를 조회하려 하다 보니 query를 사용하지 못하고 가져올 수 있는 데이터에 한계가 있다고 생각해서 결국 export를 찾아보게 되었다...
이전 글 nginx-prometheus-exporter를 설치한 것을 참조하여 redis_exporter를 설치하면 된다.
# 설치 기준 v1.45.0
wget https://github.com/oliver006/redis_exporter/releases/download/v1.45.0/redis_exporter-v1.45.0.linux-arm.tar.gz
tar -zxvf redis_exporter-v1.45.0.linux-arm.tar.gz
# Result
exporter/
|-- LICENSE
|-- README.md
`-- redis_exporter
압축을 해재 후 redis의 Connection 정보와 같이 실행시키면 redis의 metrics 정보를 손쉽게 얻어올 수 있다.
# help
$ ./redis_exporter --help
# result
...
-redis.addr string
Address of the Redis instance to scrape (default "redis://localhost:6379")
-redis.password string
Password of the Redis instance to scrape
-web.listen-address string
Address to listen on for web interface and telemetry. (default ":9121")
-web.telemetry-path string
Path under which to expose metrics. (default "/metrics")
...
# excute
./redis_exporter -redis.addr=${레디스 접속 address} -redis.password=${레디스 password}
정상적으로 exporter를 실행시켰다면 http://localhost:9121/metrics
로 curl
을 이용해 요청을 보내보자. :9121
로 요청을 보내면 html을 return 해주고 :9121/metrics
로 요청하면 redis의 metrics 정보를 받을 수 있다.
추 후 프로메테우스에서는 :9121/metrics
의 정보를 이용하게 된다.
# exporter
$ curl http://localhost:9121
# result
<html>
<head><title>Redis Exporter v1.45.0</title></head>
<body>
<h1>Redis Exporter v1.45.0</h1>
<p><a href='/metrics'>Metrics</a></p>
</body>
</html>
exporter와 동일하게 이전 글에서 설치는 해봤으니 prometheus.yml
의 설정하는 것만 해당 글에서 작성하겠다.
# ...
scrape_configs:
- job_name: "redis"
static_configs:
- targets: ["localhost:9121"]
이전 글에서 크게 벗어나는 것이 없으며 대쉬보드는 redis-exporter-1-x를 가져다 사용했다.