Docker容器与虚拟化技术:OpenEuler 部署 Prometheus 与 Grafana

news/2024/5/19 0:03:46 标签: docker, prometheus, grafana

目录

一、实验

1.环境

2.OpenEuler 部署 Prometheus

3.OpenEuler 部署 Grafana

 4.使用cpolar内网穿透

二、问题

1.拉取镜像失败

2.如何导入Grafana监控模板(ES)


一、实验

1.环境

(1)主机

表1  主机

系统架构版本IP备注
LinuxopenEuler22.03 LTS SP2

192.168.204.145(动态)

192.168.204.141(静态)

192.168.204.142(静态)

docker25.0.3
cpolar (客户端)3.12服务器端 3.22

(2)查看系统版本

[root@localhost ~]# cat /etc/os-release

e4d8bd1e19174f7ebec18a7c53fb3c2a.png

(3) 查看网络ip 

[root@localhost ~]# ip addr


 

 (4) 查看docker版本 

[root@localhost ~]# docker --version

d00ab0ec09264683a2035688aee10fcd.png

2.OpenEuler 部署 Prometheus

(1) 拉取Prometheus镜像

[root@localhost ~]# docker pull prom/prometheus

(2)拉取数据收集镜像

用于机器系统数据收集

[root@localhost ~]# docker pull prom/node-exporter

用于收集宿主机上的docker容器数据

[root@localhost ~]# docker pull google/cadvisor

(3)创建node-exporter容器

[root@localhost ~]# docker run -d --name node-exporter --restart=always -p 9100:9100 -v "/proc:/host/proc:ro" -v "/sys:/host/sys:ro" -v "/:/rootfs:ro" prom/node-exporter

(4)监听端口

[root@localhost ~]# netstat -antlp | grep 9100

(5)访问

http://192.168.204.141:9100/metrics

(6)创建cadvisor容器

[root@localhost ~]# docker run -v /:/rootfs:ro -v /var/run:/var/run:rw -v /sys:/sys:ro -v /var/lib/docker/:/var/lib/docker:ro -v /dev/disk/:/dev/disk:ro -p 8080:8080 -d --name=cadvisor --restart=always google/cadvisor:latest

(7) 监听端口

[root@localhost ~]# netstat -antlp | grep 8080

(8)访问

http://192.168.204.141:8080/metrics

(9)创建配置文件

[root@localhost ~]# mkdir /opt/prometheus
[root@localhost ~]# cd /opt/prometheus/
[root@localhost 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: ['172.17.0.7:9100']
        labels:
          instance: localhost
 
  - job_name: cadvisor
    static_configs:
      - targets: ['172.17.0.8:8080']
        labels:
          instance: cAdvisor

第二种方式:(宿主机地址)

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: ['192.168.204.141:9100']
        labels:
          instance: localhost
 
  - job_name: cadvisor
    static_configs:
      - targets: ['192.168.204.141:8080']
        labels:
          instance: cAdvisor

(10) 创建Prometheus容器

[root@localhost prometheus]# docker run  -d --name prometheus --restart=always -p 9090:9090 -v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus

(11)监听端口

[root@localhost prometheus]# netstat -antlp | grep 9090

(12)访问

http://192.168.204.141:9090/graph

访问targets(第一种方式的宿主机地址)

http://192.168.204.141:9090/targets

访问targets(第二种方式的容器地址)

http://192.168.204.141:9090/targets

3.OpenEuler 部署 Grafana

(1)拉取Grafana镜像

[root@localhost ~]# docker pull grafana/grafana

(2)创建目录

授权

[root@localhost ~]# mkdir /opt/grafana-storage
[root@localhost ~]# chmod 777 -R /opt/grafana-storage

(3)创建Grafana容器

[root@localhost ~]# docker run -d --name grafana --restart=always -p 3000:3000 --name=grafana -v /opt/grafana-storage:/var/lib/grafana grafana/grafana

(4)监听端口

[root@localhost ~]# netstat -antlp | grep 3000

(5)访问

http://192.168.204.141:3000

(6)登录

默认的用户名和密码都是admin

设置新密码

跳转首页

(7)添加数据源

弹出页面

选择Prometheus

输入URL

保存并测试

(8)查看Grafana监控模板的官网

https://grafana.com/grafana/dashboards/

(9)导入Grafana监控模板(主机)

选择

弹出页面

导入

导入主机的监控模板,模板id为8919

修改

完成

 4.使用cpolar内网穿透

(1)固定二级子域名地址

登录cpolar官网,点击左侧的预留,找到保留二级子域名,为远程服务器连接保留一个固定二级子域名地址

https://dashboard.cpolar.com/get-started

(2)创建隧道

域名类型:选择二级子域名
 
预留的http地址:复制粘贴官网保留成功的地址,Prometheus
 
地区选择:China VIP

(3) 查看隧道列表

(4)查看在线隧道列表

(5)二级子域名地址访问

http://prometheus.vip.cpolar.cn/graph

http://prometheus.vip.cpolar.cn/targets

(6)  Grafana添加数据源

http://prometheus.vip.cpolar.cn

保存并测试

导入

(7)导入主机的监控模板

模板id为8919

完成

二、问题

1.拉取镜像失败

(1)报错

Get "https://registry-1.docker.io/v2/": tls: failed to verify certificate: x509: certificate has expired or is not yet valid: current time 2024-04-01T14:17:15+08:00 is before 2024-04-04T00:00:00Z

(2)原因分析

时间未同步。

(3)解决方法

同步时间:

[root@localhost ~]# ntpdate cn.pool.ntp.org

成功:

2.如何导入Grafana监控模板(ES)

添加数据源

保存并测试

导入

导入ES的监控模板,模板id为878

修改


http://www.niftyadmin.cn/n/5477878.html

相关文章

视频拍摄后如何用二维码分享?在线制作视频二维码的方法

现在很多人会将拍摄的视频内容用生成二维码的方式来分享给其他人,与以前使用微信、QQ、网盘等形式相比,二维码能够更加简单快捷的将视频传递给其他人查看,不需要下载缓存占用扫码者的内存,提供更好的用户体验效果。 视频转二维码…

IT行业网络安全守护者-行云管家云堡垒机

IT行业即信息技术行业,是一个涵盖广泛的行业领域,主要涉及与信息的处理、存储、传输和应用相关的技术。对于IT行业而言,保障数据安全以及网络安全至关重要,一不小心就容易造成数据泄露事件。今天我们小编就给大家介绍一下IT行业网…

vue3使用jsQR解析二维码

1.了解jsQR jsQR是一个纯javascript脚本实现的二维码识别库,不仅可以在浏览器端使用,而且支持后端node.js环境。jsQR使用较为简单,有着不错的识别率。 2.效果图 3.二维码 4.下载jsqr包 npm i -d jsqr5.代码 <script setup> import {ref } from vue import jsQR fr…

n皇后问题python实现

n皇后问题简单版 在n*n的方格棋盘放置了n个皇后&#xff0c;使得它们不相互攻击(即任意2个皇后不允许处在同一排&#xff0c;同一列)。对于给定的N&#xff0c;求出有多少种合法的放置方法。 用一个visit数组标记某一列列是否有棋子&#xff0c;依次对行递归&#xff0c;直到…

版本管理面试题|SVN和Git有什么区别?

SVN&#xff08;Subversion&#xff09;和Git都是版本控制系统&#xff0c;它们用于跟踪和管理项目中文件的变化。虽然它们的目标相同&#xff0c;但它们在实现方式和使用方法上有一些重要的区别&#xff1a; 分布式 vs 集中式&#xff1a; Git是一种分布式版本控制系统&…

【讲解如何OpenCV入门】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

Linux 内核:线程的实现

在linux中的线程是轻量级线程&#xff08;Light-Weight-process&#xff0c;LWP&#xff09; 文章目录 线程概念线程实现线程拓展 线程概念 线程分类 用户级线程内核级线程&#xff0c;没有用户空间&#xff0c;完全工作在内核中&#xff08;下图中没有[]的就是用户级线程&am…

华为 2024 届校园招聘-硬件通⽤/单板开发——第一套(部分题目分享,完整版带答案,共十套)

华为 2024 届校园招聘-硬件通⽤/单板开发——第一套 部分题目分享&#xff0c;完整版带答案&#xff08;共十套&#xff09;获取&#xff08;WX:didadidadidida313&#xff0c;加我备注&#xff1a;CSDN huawei硬件单板题目&#xff0c;谢绝白嫖哈&#xff09; 1、对于 RC 定…