基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)

最近别有兴致,特此写了这篇文章,仅供参考

时间:2023/5/6

目录

前言

docker的优势

Docker的基本操作

环境说明

部署

1.拉取镜像或者已有镜像导入

2.docker启动prom/node-exporter

 3.启动prometheus

4.启动grafana

配置监控面板

1.添加数据源(add data source)

2.下载可视化模板

3.导入模板


前言

docker的优势

  1. 跨平台支持:Docker容器可以在任何操作系统上运行,因为它们独立于宿主机的操作系统。

  2. 隔离性:每个Docker容器都是相互隔离的,因此容器中的进程不会干扰其他容器中运行的进程。这提高了安全性,并使应用程序更加稳定可靠。

  3. 快速部署:Docker容器可以快速部署,因为它们可以在几秒钟内启动。这样可以节省时间,使开发人员能够专注于构建和测试应用程序。

  4. 更高的可伸缩性:Docker容器可以随时添加或删除,从而实现更高的可伸缩性。这意味着可以根据实际需要自由地增加或减少容器的数量。

  5. 简化配置管理:Docker容器中的应用程序和所有依赖项都打包在一个容器中,因此可以轻松地复制和分发应用程序。开发人员甚至可以使用版本控制系统来管理它们。

  6. 更快的持续集成和部署:Docker可以轻松地集成到CI / CD(持续集成和部署)工具中,使持续集成和部署变得更快和更高效。

Docker的基本操作

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

部署

1.拉取镜像或者已有镜像导入

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

2.docker启动prom/node-exporter

[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

出现类似以下内容就可以了

基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第1张图片

 3.启动prometheus

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

出现类似以下内容就可以了

基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第2张图片

 http://12.74.39.147:9090/graph

4.启动grafana

[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

出现以下界面就安装成功了

基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第3张图片

注意:初始账号密码均为:admin ,登录后需要修改密码

配置监控面板

1.添加数据源(add data source)

基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第4张图片

 基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第5张图片

 基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第6张图片

注意:填写ip地址后,拉到最下面点击:sava&test 

2.下载可视化模板

官网下载:

下载链接:https://grafana.com/api/dashboards/12633/revisions/1/download

链接:https://pan.baidu.com/s/1iqW6phy2HKR13kDgfE_dfA 
提取码:cryo

3.导入模板

基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第7张图片

 基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第8张图片

 注意:上传下载的模板文件

最后你就可以看到以下监控面板了

基于docker配置prometheus+grafana监控linux主机(附加docker基本操作)_第9张图片

你可能感兴趣的:(docker,prometheus,grafana)