Docker部署Prometheus+Grafana+node-exporter

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

服务器确保已经安装docker服务,并确保防火墙的状态,检查命令如下,

docker --version

在这里插入图片描述

firewall-cmd --state

在这里插入图片描述

# 临时关闭防火墙
systemctl stop firewalld.service
# 设置开机禁用防火墙(永久关闭防火墙)
systemctl disable firewalld.service 

一、安装Prometheus(普罗米修斯)

1、创建配置文件(docker挂载目录)

直接在你需要放置文件的目录下,(vim 文件名.yaml ) 本地操作,采用在/home/prometheus 目录下创建

vim  /home/prometheus/prometheus.yml

内容如下:

 global:
  scrape_interval:     15s
  evaluation_interval: 15s
alerting:
  alertmanagers:
  - static_configs:
    - targets:
rule_files:
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  - job_name: 'node_exporter'
    static_configs:
      - targets: ['192.168.0.200:9100']

按ESC,输入:wq保存并退出

内容解释:

 global: # 全局配置
  scrape_interval:     15s 	# 抓取目标的时间间隔
  evaluation_interval: 15s	# 规则评估的时间间隔
alerting:
  alertmanagers:
  - static_configs:
    - targets:
rule_files:	# 规则文件的路径,用于定义告警规则(暂时未配置)
scrape_configs:	# 抓取配置,包含多个子配置,每个子配置定义一个任务(job)
  - job_name: 'prometheus'	# 任务名称,用于标识不同的监控目标
    static_configs:	# 静态配置,包含一个或多个目标(targets)列表,用于指定要抓取的目标地址
    - targets: ['localhost:9090']	# 酌情 配置,在k8s集群中,可用服务名代替
  - job_name: 'node_exporter'	# 本文章后面部署的node_exporter,(注意)修改自己的IP地址和端口
    static_configs:
      - targets: ['192.168.0.200:9100']		# 注意修改自己的ip地址和暴漏出的端口!!!

2、下载、启动并挂载Prometheus

注意:文章介绍中采用本地测试环境,自己练手环境,没有设置容器自启,有需要自己可以设置
–restart=always

# 下载镜像
docker pull prom/prometheus
# 查看镜像
docker images
# 启动容器
docker run -d --name=prometheus -p 9090:9090 -v /home/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
# 检查容器
docker ps

命令解释:

  • –name prometheus 启动镜像后就是个容器,给容器起个名字叫prometheus
  • -p 9090:9090 指定宿主机(Linux)的9090端口与prometheus容器的9090端口对应
  • -v 挂载目录,将(主机)/home/prometheus/prometheus.yml文件和(容器)中的/etc/prometheus/prometheus.yml文件进行挂载
  • -d 后台运行
  • prom/prometheus 选择需要启动的镜像名称

3、浏览器进行访问是否正常

地址访问:http://ip:9090/ (注意修改自己电脑ip和容器暴漏的端口)

在这里插入图片描述

二、安装node-exporter

1、下载node-exporter镜像并启动

注意:文章介绍中采用本地测试环境,自己练手环境,没有设置容器自启,有需要自己可以设置
–restart=always

# 下载镜像
docker pull prom/node-exporter
# 查看镜像
docker images
# 启动容器
docker run --name exporter -p 9100:9100 -d prom/node-exporter
# 检查容器
docker ps

如果在启动报错::Error response from daemon: driver failed programming external connectivity on endpoint mynode-exporter
问题原因:docker服务启动时定义的自定义链DOCKER被清除
解决办法:

# 重启Docker
systemctl restart docker
# 删除刚才启动的容器,
docker ps -a
# 采用名称,也可以使用容器id
docker rm -f exporter
# 重新启动刚才的  启动容器命令

2、浏览器进行访问是否正常

地址访问:http://ip:9100/metrics

在这里插入图片描述

三、安装Grafana

1、下载Grafana镜像并启动

注意:文章介绍中采用本地测试环境,自己练手环境,没有设置容器自启,有需要自己可以设置
–restart=always

# 下载镜像
docker pull grafana/grafana
# 查看镜像
docker images
# 启动容器
docker run --name grafana -p 3000:3000 -d grafana/grafana
# 检查容器
docker ps

2、浏览器进行访问是否正常

地址访问:http://ip地址:3000/
默认用户名:admin
默认密码: admin
在这里插入图片描述
如果需要设置新的密码就需要输入新的密码和确认密码,不需要的直接跳过
在这里插入图片描述

3、配置数据源

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4、选择适应仪表盘模板

进入官方提供模板库 https://grafana.com/grafana/dashboards/
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是一个基于Docker Compose的搭建PrometheusGrafana、Alertmanager、Blackbox ExporterNode Exporter的示例: ```yaml version: "3" services: prometheus: image: prom/prometheus container_name: prometheus ports: - "9090:9090" volumes: - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' - '--web.enable-admin-api' restart: always grafana: image: grafana/grafana container_name: grafana ports: - "3000:3000" volumes: - ./grafana:/var/lib/grafana restart: always alertmanager: image: prom/alertmanager container_name: alertmanager ports: - "9093:9093" volumes: - ./alertmanager/config.yml:/etc/alertmanager/config.yml command: - '--config.file=/etc/alertmanager/config.yml' restart: always blackbox-exporter: image: prom/blackbox-exporter container_name: blackbox-exporter ports: - "9115:9115" volumes: - ./blackbox-exporter/config.yml:/etc/blackbox-exporter/config.yml command: - '--config.file=/etc/blackbox-exporter/config.yml' restart: always node-exporter: image: prom/node-exporter container_name: node-exporter ports: - "9100:9100" restart: always ``` 需要注意的是,这里的配置文件都需要自己创建并且挂载到对应的容器中。例如,prometheus.yml、config.yml和config.yml分别对应Prometheus、Alertmanager和Blackbox Exporter的配置文件。同时,Grafana的数据目录也需要挂载到主机上以便数据持久化。 另外,需要注意的是这只是一个示例,具体的配置文件需要根据实际情况进行修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值