Docker实现Prometheus监控redis+grafana图形展示

文章目录

    • 首先在系统中安装Docker
      • 安装成功后查看版本:
      • 设置镜像源
      • 重启Docker:
    • 随后拉取Prometheus的Docker镜像:
    • 监控redis例子
      • 拉取镜像
      • 启动redis:
      • 启动redis状态收集器
      • 运行docker ps 查看服务:
    • 随后创建prometheus的配置文件
      • 配置下面代码:
      • 启动Prometheus
      • 浏览器查看界面
      • 重启prometheus服务:
    • 使用grafana图形化
      • 导入数据:
      • 选择prometheus
      • 配置prometheus地址和端口:
    • 导入redis 模板
      • 随后就能以图形化界面来监控服务了:

本次我们利用Docker和Prometheus以及周边的其他生态来搭建一套属于自己的全时监控告警平台,系统采用Centos7.6。

首先在系统中安装Docker

#升级yum
sudo yum update
#卸载旧版本docker
sudo yum remove docker  docker-common docker-selinux docker-engine
#安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#设置源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
#安装docker
sudo yum install docker-ce#启动服务
sudo systemctl start docker

安装成功后查看版本:

[root@instance-53r3vagg tmp]# docker -v
Docker version 19.03.14, build 5eb3275d40

设置镜像源

在下载镜像之前,我们需要设置一下国内源,用来提高下载速度,执行sudo vim /etc/docker/daemon.json 命令创建新文件,并添加如下代码

{"registry-mirrors": ["https://d7grpode.mirror.aliyuncs.com"]
}

重启Docker:

sudo systemctl restart docker

随后拉取Prometheus的Docker镜像:

docker pull prom/prometheus:latest

监控redis例子

这里我们以监控Redis数据库为例子,所以还需要拉取redis和redis状态收集器两个镜像:

拉取镜像

docker pull redis
docker pull oliver006/redis_exporter:latest

分别启动redis和redis状态收集器:

启动redis:

docker run -d --name redis -p 6379:6379 redis

启动redis状态收集器

docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter:latest --redis.addr redis://192.168.0.1:6379

这里redis_exporter监听服务器上的redis服务,而redis_exporter运行在9121端口上,注意redis的地址写服务器的公网ip。

运行docker ps 查看服务:

[root@instance-53r3vagg tmp]# docker ps
CONTAINER ID        IMAGE                                   COMMAND                  CREATED             STATUS              PORTS                    NAMES
51349113892a        redis                                   "docker-entrypoint.s…"   52 minutes ago      Up 52 minutes       0.0.0.0:6379->6379/tcp   redis
0ffcf81ea7ff        oliver006/redis_exporter:latest         "/redis_exporter --r…"   About an hour ago   Up About an hour    0.0.0.0:9121->9121/tcp   redis_exporter

在这里插入图片描述

随后创建prometheus的配置文件

vim /tmp/prometheus.yml

配置下面代码:

scrape_configs:# The job name is added as a label `job=` to any timeseries scraped from this config.- job_name: 'redis'# Override the global default and scrape targets from this job every 5 seconds.scrape_interval: 5sstatic_configs:- targets: ['120.48.20.113:9121']

这里每隔5秒就获取一下服务运行信息,注意服务器地址要写公网ip,随后启动prometheus服务

启动Prometheus

docker run -d -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus:latest

浏览器查看界面

此时,prometheus就运行在9090端口上,访问一下:http://192.168.0.1:9090/targets

在这里插入图片描述

就可以看到redis服务正在运行,与此同时,也可以查询一些参数,比如内存占用:

在这里插入图片描述

重启prometheus服务:

#把宿主机Prometheus配置文件挂载镜像中
docker run -d -p 9090:9090 -v /tmp/prometheus.yml:/etc/prometheus/prometheus.yml -v /tmp/redis.rules:/etc/prometheus/redis.rules  prom/prometheus:latest

使用grafana图形化

整个过程滴水不漏,当然了,如果你觉得prometheus的监控界面过于简陋,可以使用Grafana将监控数据可视化:

docker run -d --name prom-dashboard -p 3000:3000

访问地址:http://192.168.0.1:3000/

默认账号密码是admin/amdin。

导入数据:

在这里插入图片描述

选择prometheus

在这里插入图片描述

配置prometheus地址和端口:

在这里插入图片描述

导入redis 模板

访问地址

https://grafana.com/grafana/dashboards

点击Download,下载json文件

随后就能以图形化界面来监控服务了:

在这里插入图片描述


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部