提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
服务器确保已经安装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/