暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

第二章:使用docker方式部署prometheus

运维家 2024-08-12
70

主旨

上一章写了通过二进制的方式安装prometheus,其实有那么一些复杂与不方便性哈,那么这里我们写一下如何通过其他的方式,也就是docker的方式来部署prometheus,下面是具体的步骤,可以根据实际情况来进行选择。

1、安装依赖包

首先我们先安装下安装docker的依赖包;

[root@loaclhost ~]# yum -y install yum-utils device-mapper-persistent-data lvm2

复制

2、安装docker软件

2.1 配置yum源

[root@loaclhost ~]# cd /etc/yum.repos.d/
[root@loaclhost yum.repos.d]# ls
CentOS-Base.repo  CentOS-CR.repo  CentOS-Debuginfo.repo  CentOS-fasttrack.repo  CentOS-Media.repo  CentOS-Sources.repo  CentOS-Vault.repo
[root@loaclhost yum.repos.d]# mkdir bak
[root@loaclhost yum.repos.d]# mv *.repo bak/
[root@loaclhost yum.repos.d]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
[root@loaclhost yum.repos.d]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
[root@loaclhost yum.repos.d]# ls
bak  CentOS-Base.repo  docker-ce.repo
[root@loaclhost yum.repos.d]

复制

2.2 安装docker

使用如下命令查看docker的版本

[root@loaclhost ~]#  yum list docker-ce --showduplicates | sort -r

复制

我们可以通过上面的命令找到最新的版本,或者其他版本,而后采用下面的方式进行安装;

# 安装最新版本
yum -y install docker-ce
# 安装指定版本,例如安装25.0.1-1版本,那么命令如下
yum -y install docker-ce-25.0.1-1.el7

复制

2.3 启停docker

# 启动
[root@loaclhost ~]# systemctl start docker
# 停止
[root@loaclhost ~]# systemctl stop docker
# 重启
[root@loaclhost ~]# systemctl restart docker
# 开机自启动
[root@loaclhost ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /etc/systemd/system/docker.service.
[root@loaclhost ~]
# 查看版本
[root@loaclhost ~]# docker version
Client: Docker Engine - Community
 Version:           18.09.9
 API version:       1.39
 Go version:        go1.11.13
 Git commit:        039a7df9ba
 Built:             Wed Sep  4 16:50:02 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.9
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.11.13
  Git commit:       039a7df9ba
  Built:            Wed Sep  4 16:55:50 2019
  OS/Arch:          linux/amd64
  Experimental:     false
[root@loaclhost ~]

复制

2.4 给docker配置国内源

docker默认的源是国外的,访问特别慢,使用起来不是很方便,所以我们对这个源进行替换,什么是源呢,就是你从哪里拉取镜像。

[root@loaclhost ~]# vim /etc/docker/daemon.json
[root@loaclhost ~]# cat !$
cat /etc/docker/daemon.json
{
    "registry-mirrors": [
        "https://ung2thfc.mirror.aliyuncs.com",
        "https://docker.mirrors.ustc.edu.cn",
        "http://hub-mirror.c.163.com",
        "https://registry.docker-cn.com"
    ]
}
# 配置解释
# 阿里云镜像加速:https://ung2thfc.mirror.aliyuncs.com
# 中国科技大学镜像加速:https://docker.mirrors.ustc.edu.cn
# 网易镜像加速:http://hub-mirror.c.163.com
# docker中国区官方镜像加速:https://registry.docker-cn.com
[root@loaclhost ~]# systemctl restart docker  # 重启一下docker
[root@loaclhost ~]# docker info | grep 'Registry Mirrors' -A5  # 看一下镜像源已经修改完毕了
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Registry Mirrors:
 https://ung2thfc.mirror.aliyuncs.com/
 https://docker.mirrors.ustc.edu.cn/
 http://hub-mirror.c.163.com/
 https://registry.docker-cn.com/
Live Restore Enabled: false
[root@loaclhost ~]

复制

3、安装prometheus

3.1 修改主机名

PS:我这台服务器的IP地址是:10.1.5.56 在宿主机上操作,修改主机名:

[root@loaclhost ~]# vim /etc/hosts
# 新增下面的配置
10.1.5.56 test-01
[root@loaclhost ~]


复制

3.2 拉取镜像

[root@loaclhost ~]# docker pull prom/prometheus
[root@loaclhost ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
prom/prometheus     latest              a3d385fc29f9        2 years ago         201MB
[root@loaclhost ~]

复制

3.3 复制配置文件

[root@loaclhost ~]# mkdir /etc/prometheus  # 新建一个目录,用来存放prometheus配置文件
[root@loaclhost ~]# find / -name prometheus.yml  #  找一下prometheus的配置文件
/var/lib/docker/overlay2/626cda1a84840b095888f4e454135e15ba3a6cbc7ed686d3b2553d1f0a881e08/diff/etc/prometheus/prometheus.yml
/var/lib/docker/overlay2/dc68c4b9538af91e6b6e38c27cff74722e606963a9e773e03d3f48a1c65067e4/diff/etc/prometheus/prometheus.yml
/usr/local/prometheus/prometheus.yml
[root@loaclhost ~]#
# 复制一个配置文件到我们刚创建的目录中
[root@loaclhost ~]# cp /var/lib/docker/overlay2/626cda1a84840b095888f4e454135e15ba3a6cbc7ed686d3b2553d1f0a881e08/diff/etc/prometheus/prometheus.yml /etc/prometheus/
[root@loaclhost ~]

复制

3.4 修改配置文件

[root@loaclhost ~]# vim /etc/prometheus/prometheus.yml 
scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: "test-001"  # 这里修改了,同一个集群中每一个prometheus的名字最好保持不一致

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
      - targets: ["test-01:9090"]  # 这里原来是localhost,只能本地,我们现在映射到了宿主机上

复制

3.5 启动容器

[root@loaclhost ~]# docker run -d -p 9090:9090 --restart=always -v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v /etc/hosts:/etc/hosts --name prometheus prom/prometheus
c3d9db274c577a65bfa46d57c395c2ef4361f47ac5c5cee328637ea431c06502
# 参数解释
# -d # 后台启动
# -p # 端口映射,宿主机的9090:容器的9090
# --restart=always # 让这个容器始终随着docker的启停而启动
# -v # 目录映射,宿主机的目录:容器的目录
# --name prometheus  # 给这个容器起一个名字,叫做prometheus

复制

3.6 浏览器访问

访问地址如下:http://10.1.5.56:9090怎么样,是不是使用docker的方式部署prometheus要比二进制的方式更加简单,只要你的环境中有docker的环境,那么其实我们安装prometheus真的是非常方便与快捷的。安装完了,下来我们就开始深入prometheus其他的内容了。

领取红包,能省则省

“🎉🎁 独家福利来啦!美团、饿了么、滴滴打车、菜鸟裹裹、电影票红包大放送!每天都有哦!🎁🎉

👀 快来瞅瞅,动动手指就能省下一笔!别错过,赶紧按照下方操作领取你的专属红包吧!👇

💬 如果你还有其他想要的红包类型,记得留言告诉我们哦,我们会尽力满足大家的需求!🎁💖”


文章转载自运维家,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论