基於prometheus+grafana體系監控redis緩存服務

概述

前面已經介紹了怎麼用prometheus監控mysql數據庫,今天主要分享下怎麼去監控redis服務。由於沒有redis環境,所以用docker模擬了一下。


一、Docker部署

1、下載

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2、安裝

sudo yum install docker-ce

3、啟動

 sudo systemctl start docker

4、加入開機啟動

sudo systemctl enable docker

二、docker部署redis服務

1、下載redis

docker pull redis:4.0
基於prometheus+grafana體系監控redis緩存服務

2、下載redis配置文件

mkdir -p /usr/local/redis/data
mkdir -p /usr/local/redis/conf
wget https://raw.githubusercontent.com/antirez/redis/4.0/redis.conf -O /usr/local/redis/conf/redis.conf
基於prometheus+grafana體系監控redis緩存服務

3、修改配置文件

#vi /usr/local/redis/conf/redis.conf

bind 0.0.0.0
protected-mode no
#daemonize yes #務必將daemonize yes註釋起來,因為該配置和docker run中-d參數衝突,會導致容器一直啟動失敗
#開啟redis持久化
appendonly yes
requirepass password123

4、啟動redis

docker run \\
-p 16379:6379 \\
-v /usr/local/redis/data:/data:rw \\ # 映射數據目錄 rw 為讀寫
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf:ro \\ # 掛載配置文件,ro為readonly
--privileged=true \\ # 授權
--name redis \\
-d redis:4.0 redis-server /etc/redis/redis.conf # deamon運行服務使用指定的配置文件
基於prometheus+grafana體系監控redis緩存服務


三、安裝go語言環境

由於Prometheus 是用golang開發的,所以首先安裝一個go環境,Go語言是跨平臺,支持Windows、Linux、Mac OS X等系統,還提供有源碼,可編譯安裝。

下載地址:https://studygolang.com/dl

1、解壓

# tar -xvf go1.13.linux-amd64.tar.gz -C /usr/local/
基於prometheus+grafana體系監控redis緩存服務

2、配置環境變量

echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source /etc/profile
基於prometheus+grafana體系監控redis緩存服務

3、測試

驗證一下是否成功,用go version 來驗證

# go version
基於prometheus+grafana體系監控redis緩存服務


四、安裝redis_exporter

1、下載redis_exporter

官網地址:https://github.com/oliver006/redis_exporter/

下載地址:https://github.com/oliver006/redis_exporter/releases/download/v1.2.0/redis_exporter-v1.2.0.linux-amd64.tar.gz

基於prometheus+grafana體系監控redis緩存服務

2、上傳解壓

上傳到被監控的主機並解壓

tar -xvf redis_exporter-v1.2.0.linux-amd64.tar.gz -C /usr/local/
基於prometheus+grafana體系監控redis緩存服務

3、配置並啟動redis_exporter

格式:nohup ./redis_exporter -redis.addr ip:端口 -redis.password "密碼" &

基於prometheus+grafana體系監控redis緩存服務


五、關聯Prometheus

Prometheus 和 redis_exporter 服務都已經啟動起來了,那麼接下來就需要將二者關聯起來,讓 Prometheus 來定時抓取 Exporter 提供的數據。我們需要修改 Prometheus 的配置文件 prometheus.yml 增加 redis相關 exporter job。

說明一下:增加了一個 job_name 為 redis 的任務,targets 為指向 redis_exporter 提供的 Http 接口服務,labels 為該 job 配置一個標籤,方便下邊 Grafana 頁面顯示

配置prometheus.yml 加入

- job_name: redis
static_configs:
- targets: ['172.16.10.123:9121']
labels:
instance: docker_redis

重啟容器,隔一會查看metric:

基於prometheus+grafana體系監控redis緩存服務


六、grafana配置

1、下載dashboard

在 https://grafana.com/dashboards?search=redis 下載redis相關的dashboard

基於prometheus+grafana體系監控redis緩存服務

2、導入json

https://grafana.com/api/dashboards/2751/revisions/1/download
基於prometheus+grafana體系監控redis緩存服務

3、展示

基於prometheus+grafana體系監控redis緩存服務

基於prometheus+grafana體系監控redis緩存服務


覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~

基於prometheus+grafana體系監控redis緩存服務

"


分享到:


相關文章: