概述
前面已經介紹了怎麼用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
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
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運行服務使用指定的配置文件
三、安裝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/
2、配置環境變量
echo "export PATH=$PATH:/usr/local/go/bin" >> /etc/profile
source /etc/profile
3、測試
驗證一下是否成功,用go version 來驗證
# go version
四、安裝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
2、上傳解壓
上傳到被監控的主機並解壓
tar -xvf redis_exporter-v1.2.0.linux-amd64.tar.gz -C /usr/local/
3、配置並啟動redis_exporter
格式:nohup ./redis_exporter -redis.addr ip:端口 -redis.password "密碼" &
五、關聯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:
六、grafana配置
1、下載dashboard
在 https://grafana.com/dashboards?search=redis 下載redis相關的dashboard
2、導入json
https://grafana.com/api/dashboards/2751/revisions/1/download
3、展示
覺得有用的朋友多幫忙轉發哦!後面會分享更多devops和DBA方面的內容,感興趣的朋友可以關注下~