基于Docker部署Prometheus

打印 上一主题 下一主题

主题 562|帖子 562|积分 1686

目次
docker部署
1、确定是CentOS7及以上版本
2、如有旧版本,必要先卸载旧版本
3、yum安装gcc相关以及必要的软件包
4、配置国内docker-ce的yum源(采用的是阿里云)
5、配置完yum源后可以切换到/etc/yum.repos.d/目次下,查看下是否存在docker-ce.repo,存在的话说明配置乐成
 6、更新yum软件包索引
 7、安装docker
8、启动docker
9、查看docker版本
10、配置镜像加速器
11、docker info命令查看一下是否新增了阿里云的地址,确保配置乐成
Prometheus部署
1、下载镜像包
2、启动容器
2.1启动node-exporter
2.2启动 mysqld-exporter
2.3启动 redis_exporter
2.4查看容器IP
2.5启动Prometheus
2.6启动grafana
配置Grafana
监控mysql
监控主机
监控容器
监控redis


环境:阿里云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
复制代码
  

  • prom/node-exporter:用于网络主机系统信息和指标的
  • prom/mysqld-exporter:用于网络数据库系统信息和指标的
  • oliver006/redis_exporter :用于网络redis信息和指标的
  • grafana/grafana:是一个用于可视化和分析监控指标的开源平台。
  • prom/prometheus:是一个开源的监控系统,用于网络和存储时间序列数据,并提供基于数据的查询、报警和可视化功能。
  2、启动容器

2.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启动 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
复制代码
启动(注意:宿主机的路径必须是绝对路径:/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,以相同方式导入即可


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

去皮卡多

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表