最近别有兴致,特此写了这篇文章,仅供参考
时间:2023/5/6
目录
前言
docker的优势
Docker的基本操作
环境说明
部署
1.拉取镜像或者已有镜像导入
2.docker启动prom/node-exporter
3.启动prometheus
4.启动grafana
配置监控面板
1.添加数据源(add data source)
2.下载可视化模板
3.导入模板
跨平台支持:Docker容器可以在任何操作系统上运行,因为它们独立于宿主机的操作系统。
隔离性:每个Docker容器都是相互隔离的,因此容器中的进程不会干扰其他容器中运行的进程。这提高了安全性,并使应用程序更加稳定可靠。
快速部署:Docker容器可以快速部署,因为它们可以在几秒钟内启动。这样可以节省时间,使开发人员能够专注于构建和测试应用程序。
更高的可伸缩性:Docker容器可以随时添加或删除,从而实现更高的可伸缩性。这意味着可以根据实际需要自由地增加或减少容器的数量。
简化配置管理:Docker容器中的应用程序和所有依赖项都打包在一个容器中,因此可以轻松地复制和分发应用程序。开发人员甚至可以使用版本控制系统来管理它们。
更快的持续集成和部署:Docker可以轻松地集成到CI / CD(持续集成和部署)工具中,使持续集成和部署变得更快和更高效。
docker rmi 镜像名称 #删除镜像
docker rm 实例名(id)) #删除实例
docker rm -f 实例名 #强制删除实例
docker restart 实例名 #重起实例
docker stop 实例名 #停止实例
docker start 实例名 #启动实例
docker ps -a #查看所有实例状态(包括停止)
docker ps #只查看运行的实例
docker images #查看有那些镜像
docker exec -it 实例名称 /bin/sh #进入容器里(bash,bin/bash)
docker rename 旧实例名(id)新实例名 #修改实例名称
docker cp 实例名(id):容器的文件路径 宿主机存放路径 #将容器的文件复制到宿主机上
docker cp 宿主机的文件路径 实例名(id):容器存放路径 #将宿主机上的文件复制到容器上
docker inspect 实例名(id) #查看实例的详细信息(宿主机与容器映射的目录和端口)
docker save 镜像名称 > 宿主机的文件路径+文件名 :将镜像保存到本地 例如:docker save wurstmeister/kafka:latest > /tmp/ka ka为文件名
docker load -i 宿主机的文件路径 :将镜像上传到容器 例如:docker load -i zk
docker run -d -v 宿主机目录:容器内目录 镜像名 :将本地目录映射挂载到容器内目录,例如:docker run d -v /tmp/logs:/data/logs nginx
前提:需要安装好docker环境
本文章采用centos7,IP:12.74.39.147
docker pull prom/node-exporter
docker pull prom/prometheus
docker pull grafana/grafana
[root@iZwz97j1xmdngswvnno2v2Z ~]# docker images
grafana/grafana latest 4a599282d351 41 hours ago 314MB
prom/prometheus latest 2bf604e6f624 7 days ago 223MB
prom/node-exporter latest d3e443c987ef 7 weeks ago 22.3MB
[root@iZwz97j1xmdngswvnno2v2Z ~]# docker run -d -p 9100:9100 \
-v "/proc:/host/proc:ro" \
-v "/sys:/host/sys:ro" \
-v "/:/rootfs:ro" \
--net="host" \
prom/node-exporter
[root@iZwz97j1xmdngswvnno2v2Z ~]# netstat -pantu | grep 9100
tcp6 0 0 :::9100 :::* LISTEN 4992/node_exporter
tcp6 0 0 172.28.35.123:9100 112.74.39.147:60650 ESTABLISHED 4992/node_exporter
打开浏览器:http://12.74.39.147:9100/metrics
出现类似以下内容就可以了
mkdir /opt/prometheus
cd /opt/prometheus/
vim prometheus.yml
global:
scrape_interval: 60s
evaluation_interval: 60s
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
labels:
instance: prometheus
- job_name: linux
static_configs:
- targets: ['112.74.39.147:9100']
labels:
instance: localhost
#注意:修改IP,这里是112.74.39.147:9100
[root@iZwz97j1xmdngswvnno2v2Z ~]# docker run -d \
-p 9090:9090 \
-v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus
[root@iZwz97j1xmdngswvnno2v2Z ~]# netstat -pantu | grep 9090
tcp 0 0 0.0.0.0:9090 0.0.0.0:* LISTEN 5102/docker-proxy
tcp6 0 0 :::9090 :::* LISTEN 5108/docker-proxy
打开浏览器:http://12.74.39.147:9090/targets
出现类似以下内容就可以了
http://12.74.39.147:9090/graph
[root@iZwz97j1xmdngswvnno2v2Z ~]# mkdir /opt/grafana-storage
[root@iZwz97j1xmdngswvnno2v2Z ~]# chmod 777 -R /opt/grafana-storage
[root@iZwz97j1xmdngswvnno2v2Z ~]# docker run -d \
-p 3000:3000 \
--name=grafana \
-v /opt/grafana-storage:/var/lib/grafana \
grafana/grafana
[root@iZwz97j1xmdngswvnno2v2Z ~]# netstat -pantu | grep 3000
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 5353/docker-proxy
tcp6 0 0 :::3000 :::* LISTEN 5358/docker-proxy
打开浏览器:http://12.74.39.147:3030
出现以下界面就安装成功了
注意:初始账号密码均为:admin ,登录后需要修改密码
注意:填写ip地址后,拉到最下面点击:sava&test
官网下载:
下载链接:https://grafana.com/api/dashboards/12633/revisions/1/download
链接:https://pan.baidu.com/s/1iqW6phy2HKR13kDgfE_dfA
提取码:cryo
注意:上传下载的模板文件
最后你就可以看到以下监控面板了