翼度科技»论坛 云主机 服务器技术 查看内容

Docker部署Prometheus的实现示例

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
环境:阿里云CentOS7.9

docker部署


1、确定是CentOS7及以上版本
  1. cat /etc/redhat-release
复制代码
2、如有旧版本,需要先卸载旧版本
  1. yum remove docker
复制代码
3、yum安装gcc相关以及需要的软件包
  1. yum -y install gcc gcc-c++ yum-utils
复制代码
4、配置国内docker-ce的yum源(采用的是阿里云)
  1. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
5、配置完yum源后可以切换到/etc/yum.repos.d/目录下,查看下是否存在docker-ce.repo,存在的话说明配置成功



6、更新yum软件包索引
  1. yum makecache fast
复制代码
7、安装docker
  1. yum -y install docker-ce docker-ce-cli containerd.io
复制代码
8、启动docker
  1. systemctl start docker
  2. systemctl status docker
复制代码
9、查看docker版本
  1. docker --version
  2. Docker version 26.1.4, build 5650f9b
复制代码
10、配置镜像加速器
  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4.   "registry-mirrors": ["https://cz1numin.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker
复制代码
11、docker info命令查看一下是否新增了阿里云的地址,确保配置成功


Prometheus部署


1、下载镜像包
  1. docker pull prom/node-exporter
  2. docker pull prom/mysqld-exporter
  3. docker pull oliver006/redis_exporter
  4. docker pull prom/prometheus
  5. docker pull grafana/grafana
复制代码

    1. prom/node-exporter
    复制代码
    :用于收集主机系统信息和指标的
    1. prom/mysqld-exporter
    复制代码
    :用于收集数据库系统信息和指标的
    1. oliver006/redis_exporter
    复制代码
    :用于收集redis信息和指标的
    1. grafana/grafana
    复制代码
    :是一个用于可视化和分析监控指标的开源平台。
    1. prom/prometheus
    复制代码
    :是一个开源的监控系统,用于收集和存储时间序列数据,并提供基于数据的查询、报警和可视化功能。

2、启动容器

2.1启动
  1. node-exporter
复制代码
  1. docker run -d --name node-exporter \
  2. --restart=always -p 9100:9100 \
  3. -v /proc:/host/proc:ro \
  4. -v /sys:/host/sys:ro \
  5. -v /:/rootfs:ro prom/node-exporter
复制代码
访问地址:http://47.119.27.111:9100/metrics

2.2启动
  1. mysqld-exporter
复制代码
  1. docker run -d --name mysqld_exporter \
  2. --restart=always -p 9104:9104 \
  3. -e DATA_SOURCE_NAME="root:Password123@(192.168.0.230:3306)/"  \
  4. prom/mysqld-exporter
复制代码
访问地址:http://47.119.27.111:9104/metrics

2.3启动 redis_exporter
  1. #不带密码
  2. docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter --redis.addr redis://192.168.0.230:6379

  3. # 绑定集群中一个redis实例就可以了
  4. # 带密码
  5. docker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter --redis.addr redis://192.168.0.230:6379 --redis.password '123123'
复制代码
访问地址:http://47.119.27.111:9121/metrics

2.4查看容器IP
查看当前运行的网络列表
  1. docker network ls

  2. NETWORK ID     NAME      DRIVER    SCOPE
  3. 16dab27fe490   bridge    bridge    local
  4. 05a7e6db54e6   host      host      local
  5. f2da59c2d4f9   none      null      local
复制代码
查看指定网络中的容器和其IP地址
  1. docker network inspect <网络ID或网络名称>

  2.             "0f8f21d3d4cb8a892e3915430a56569c5182346d79a7dd6434718b7dfa59ab0a": {
  3.                 "Name": "redis_exporter",
  4.                 "EndpointID": "597b8133bfc51af671889a8786000fc27b4c53a74edda683b2be4272ceac0310",
  5.                 "MacAddress": "02:42:ac:11:00:04",
  6.                 "IPv4Address": "172.17.0.4/16",
  7.                 "IPv6Address": ""
  8.             },
  9.             "940f4c0ca99bc9af06dd17f405bb5fb5f52bcd147149270f07ebe5af72128d9f": {
  10.                 "Name": "node-exporter",
  11.                 "EndpointID": "111ecdc84bd9682018f09d8e5010802dcb5c6d4052c126b931abbc0e539dff90",
  12.                 "MacAddress": "02:42:ac:11:00:02",
  13.                 "IPv4Address": "172.17.0.2/16",
  14.                 "IPv6Address": ""
  15.             },
  16.             "cdc09d537f36572104e001d071cbc4642b0b9a528019f37149de3727f96827e1": {
  17.                 "Name": "mysqld_exporter",
  18.                 "EndpointID": "63029028def1861190829aec2a4d2f75048bd8e3acfe0fee0c628c169562e998",
  19.                 "MacAddress": "02:42:ac:11:00:03",
  20.                 "IPv4Address": "172.17.0.3/16",
  21.                 "IPv6Address": ""
  22.             }
复制代码
2.5启动Prometheus
新建目录prometheus,编辑配置文件prometheus.yml
  1. mkdir /opt/prometheus
  2. cd /opt/prometheus/
  3. vim prometheus.yml
复制代码
  1. global:
  2.   scrape_interval:     60s
  3.   evaluation_interval: 60s

  4. scrape_configs:

  5.   - job_name: prometheus
  6.     static_configs:
  7.       - targets: ['localhost:9090']
  8.         labels:
  9.           instance: prometheus

  10.   - job_name: node
  11.     static_configs:
  12.       - targets: ['172.17.0.2:9100']
  13.         labels:
  14.           instance: node-exporter

  15.   - job_name: redis
  16.     static_configs:
  17.       - targets: ['172.17.0.4:9121']
  18.         labels:
  19.           instance: redis_exporter

  20.   - job_name: mysqld
  21.     static_configs:
  22.       - targets: ['172.17.0.3:9104']
  23.         labels:
  24.           instance: mysql-exporter
复制代码
启动(注意:宿主机的路径必须是绝对路径:
  1. /opt/prometheus/prometheus.yml
复制代码
,否则会报错)
  1. docker run  -d --name prometheus --restart=always -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
复制代码
访问地址:http://47.119.27.111:9090/graph

访问targets地址:http://47.119.27.111:9090/targets

2.6启动grafana
新建空文件夹grafana-storage,用来存储数据
  1. mkdir /opt/grafana-storage
复制代码
添加权限
  1. chmod 777 -R /opt/grafana-storage
复制代码
启动
  1. docker run -d --name grafana --restart=always  \
  2. -p 3000:3000 --name=grafana  \
  3. -v /opt/grafana-storage:/var/lib/grafana grafana/grafana
复制代码
访问地址:http://47.119.27.111:3000/login

配置Grafana

默认登录:admin/admin

设置----》Data sources----》Add data source

选择Prometheus

Name:Prometheus
URL【Prometheus的ip(docker容器私网ip)+端口】:http://172.17.0.5:9090

点击下面的Save & Test,如果出现绿色的,说明ok了


监控mysql

导入grafana监控模板,mysql监控模板id为7362,填入如下输入框内





监控主机

导入主机的监控模板,模板id为8919,以相同方式导入即可

监控容器

导入容器的监控模板,模板id为179,以相同方式导入即可

监控redis

导入容器的监控模板,模板id为 763,以相同方式导入即可

到此这篇关于Docker部署Prometheus的实现示例的文章就介绍到这了,更多相关Docker部署Prometheus内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

来源:https://www.jb51.net/server/3266234qn.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具