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

news2024/11/19 8:34:20

目录

一、实验

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.coloradmin.cn/o/1573204.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习(理论第一课)

一、理解人工智能、机器学习、深度学习、强化学习? 人工智能、机器学习和深度学习之间存在递进关系,它们的覆盖范围逐层递减。 **人工智能(Artificial Intelligence,AI)**是最宽泛的概念,旨在研究、开发用于…

第十四届蓝桥杯物联网试题(省赛)

这个题还是有点难度的,刚好能做完,还遇到一个意料之外的BUG,这次算是失败了,因为那个BUG让我以为是板子坏了其实是我LORA没初始化 储存信息用结构体存储 第一次写结构体能一次实验成功也挺开心的 值得赞扬的是我这样排版的好处是所有变量都在…

基于Whisper的实时语音识别(1): 流式显示视频帧和音频帧

Whistream (微流)是基于openai-whisper 大语音模型下的流式语音识别工具 本期主要介绍实时显示工具Whishow,可以实时逐帧显示视频流(RTSP/RTMP)和离线文件(mp4,avi等) 下载地址:ht…

复现chatgpt_ros,需要openapi key

1. 前置工作: 现在ubuntu系统是20.04ros1,现在用docker新建并安装ros2: 最简单的,用大佬的一键安装: wget http://fishros.com/install -O fishros && . fishros 其次自己装…

深入浅出 -- 系统架构之负载均衡Nginx资源压缩

一、Nginx资源压缩 建立在动静分离的基础之上,如果一个静态资源的Size越小,那么自然传输速度会更快,同时也会更节省带宽,因此我们在部署项目时,也可以通过Nginx对于静态资源实现压缩传输,一方面可以节省带宽…

【微信小程序】【小程序样式加载不出来】

微信小程序配置sass 第一步:找配置文件 在项目中找到 project.config.json文件,在setting属性中添加 useCompilerPlugins属性,值为sass即可,若是 less,将数组里面的值改为less即可 "useCompilerPlugins": ["sas…

MySQL复制拓扑1

文章目录 主要内容一.安装MySQL服务器1.MySQL 安装程序和其它文件保存在下发的 mysql8-files.iso 镜像文件中,可以使用虚拟光驱来提取到 Linux 文件系统。代码如下(示例): 2.将 MySQL8.0 程序解压到 /opt 目录,再创建到 MySQL 默认…

08 Python进阶:XML 解析

什么是 XML? XML(可扩展标记语言,Extensible Markup Language)是一种用于表示和传输数据的标记语言。它被设计用来以一种结构化的形式描述文档的内容,并且具有良好的跨平台和跨语言的特性。XML使用标签来定义数据的结构…

PyTorch之计算模型推理时间

一、参考资料 如何测试模型的推理速度 Pytorch 测试模型的推理速度 二、计算PyTorch模型推理时间 1. 计算CPU推理时间 import torch import torchvision import time import tqdm from torchsummary import summarydef calcCPUTime():model torchvision.models.resnet18()…

深入浅出 -- 系统架构之分布式多形态的存储型集群

一、多形态的存储型集群 在上阶段,我们简单聊了下集群的基本知识,以及快速过了一下逻辑处理型集群的内容,下面重点来看看存储型集群,毕竟这块才是重头戏,集群的形态在其中有着多种多样的变化。 逻辑处理型的应用&…

线程池详解并使用Go语言实现 Pool

写在前面 在线程池中存在几个概念:核心线程数、最大线程数、任务队列。 核心线程数指的是线程池的基本大小;也就是指worker的数量最大线程数指的是,同一时刻线程池中线程的数量最大不能超过该值;实际上就是指task任务的数量。任务…

9_springboot_shiro_jwt_多端认证鉴权_整合jwt

1. Shiro框架回顾 到目前为之,Shiro框架本身的知识点已经介绍完了。web环境下,整个框架从使用的角度我们需要关注的几个点: 要使用Shiro框架,就要创建核心部件securityManager 对象。 SpringBoot项目中,引入shiro-spr…

python接入AI 实现微信自动回复

import numpy as np # 引入numpy库,目的是将读取的数据转换为列表 import pandas as pd # 引入pandas库,用来读取csv数据 from uiautomation import WindowControl # 引入uiautomation库中的WindowControl类,用来进行图像识别和模拟操作 i…

go | 上传文件分析 | http协议分析 | 使用openssl 实现 https 协议 server.key、server.pem

是这样的&#xff0c;现在分析抓包数据 test.go package mainimport ("fmt""log""github.com/gin-gonic/gin" )func main() {r : gin.Default()// Upload single filer.MaxMultipartMemory 8 << 20r.POST("/upload", func(c *g…

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解

Apache Log4j2 Jndi RCE CVE-2021-44228漏洞原理讲解 一、什么是Log4j2二、环境搭建三、简单使用Log4j2四、JDNI和RMI4.1、启动一个RMI服务端4.2、启动一个RMI客户端4.3、ldap 五、漏洞复现六、Python批量检测 参考视频&#xff1a;https://www.bilibili.com/video/BV1mZ4y1D7K…

基于Socket简单的TCP网络程序

⭐小白苦学IT的博客主页 ⭐初学者必看&#xff1a;Linux操作系统入门 ⭐代码仓库&#xff1a;Linux代码仓库 ❤关注我一起讨论和学习Linux系统 TCP单例模式的多线程版本的英汉互译服务器 我们先来认识一下与udp服务器实现的不同的接口&#xff1a; TCP服务器端 socket()&…

【C++初阶】String在OJ中的使用(一):仅仅反转字母、字符串中的第一个唯一字母、字符串最后一个单词的长度、验证回文串、字符串相加

前言&#xff1a; &#x1f3af;个人博客&#xff1a;Dream_Chaser &#x1f388;博客专栏&#xff1a;C &#x1f4da;本篇内容&#xff1a;仅仅反转字母、字符串中的第一个唯一字母、字符串最后一个单词的长度、验证回文串、字符串相加 目录 917.仅仅反转字母 题目描述&am…

【stm32】软件I2C读写MPU6050

软件I2C读写MPU6050(文章最后附上源码) 编码 概况 首先建立通信层的.c和.h模块 在通信层里写好I2C底层的GPIO初始化 以及6个时序基本单元 起始、终值、发送一个字节、接收一个字节、发送应答、接收应答 写好I2C通信层之后&#xff0c;再建立MPU6050的.c和.h模块 基于I2C通…

软考116-上午题-【计算机网络】-LINUX命令

一、真题 真题1&#xff1a; 真题2&#xff1a; 权限通常分为三类&#xff1a; 读&#xff08;r&#xff09;&#xff1a;允许读取文件内容或列出目录内容。写&#xff08;w&#xff09;&#xff1a;允许修改文件内容或在目录中创建/删除文件。执行&#xff08;x&#xff09;&…

stm32开发之threadx使用记录(主逻辑分析)

前言 threadx的相关参考资料 论坛资料、微软官网本次使用的开发板为普中科技–麒麟&#xff0c;核心芯片为 stm32f497zgt6开发工具选择的是stm32cubemx(代码生成工具)clion(代码编写工具)编译构建环境选择的是arm-none-gcc编译 本次项目结构 CMakeList对应的配置 set(CMAKE_…