k8s笔记26--快速实现prometheus监控harbor

k8s笔记26--快速实现prometheus监控harbor

  • 简介
  • 采集指标&配置grafana面板
    • 采集指标
    • 配置grafana面板
  • 说明

简介

harbor是当前最流行的开源容器镜像仓库项目,被大量IT团队广泛应用于生产、测试环境的项目中。本文基于Harbor、Prometheus、Grafana介绍快速实现监控harbor的方法和步骤。

采集指标&配置grafana面板

本文前置条件需要安装harbor、prometheus、grafana。harbor可以通过docker-compose的方式快速安装,安装方式可以参考 docker笔记10–安装与使用harbor 。prometheus 可以单独安装,也可以通过开源组件来安装,例如通过 kubesphere来安装(笔者直接使用这种方式)。grafana安装方式可以参考 k8s笔记12–grafana的配置和常见使用。

安装完成基础组件/系统后,我们可以参考如下采集指标、配置grafana面板的步骤完成harbor的监控。

采集指标

较新版本的harbor已经提供了metrics接口,即 ip:9090/metrics。能正常获取harbor指标后,我们只需要在集群中新建一个svc和 serviceMonitor,然后prometheus就能自动采集到harbor的指标。
主要配置案例yaml如下:

1) 新建Endpoints
# vim harbor-ep.yaml
apiVersion: v1
kind: Endpoints
metadata:labels:app: harborname: harbornamespace: devops-test
subsets:
- addresses:- ip: 172.16.xx.xxports:- name: metricsport: 9090protocol: TCP2) 新建Service
# vim harbor-svc.yaml
apiVersion: v1
kind: Service
metadata:labels:app: harborname: harbornamespace: devops-test
spec:internalTrafficPolicy: Clusterports:- name: metricsport: 9090protocol: TCPtargetPort: 9090type: ClusterIP3) 新建 serviceMonitor
# vim harbor-servicemonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:annotations: {}labels:app: harbor-exportername: harbornamespace: devops-test
spec:endpoints:- interval: 30spath: /metricsport: httpscheme: httpjobLabel: harbor-appnamespaceSelector:matchNames:- devops-testselector:matchLabels:app: harbor-exporter

新建serviceMonitor后就可以在prometheus的targets中看到监控实例,也可以在promethes中搜到harbor相关的指标,如下图
在这里插入图片描述
在这里插入图片描述

配置grafana面板

参考 grafana 官方dashboard,笔者结合 ID: 16686 和 ID: 14075 基本就可以快速作出一个想要的harbor监控面板了。通过该面板可以直观看到harbor实例状态、整体存储量、各个项目核心信息(仓库 数、镜像容量、拉取数等)。

效果如下:
请添加图片描述
请添加图片描述

至此,我们已经可以通过prometheus和grafana快速实现对harbor的监控了。通过监控发现harbor 仓库基础信息和存储量,对于存储量很大的project,我们可以按需在harbor中配置每天的清理测量(例如保留镜像最近10次推送的tag)。

说明

Prometheus监控Harbor实战
kubesphere官网–面向云原生应用的容器混合云
harbor官网
grafana官网

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712279.shtml

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

相关文章

3. 台阶问题

数楼梯 题目描述 楼梯有 N N N 阶,上楼可以一步上一阶,也可以一步上二阶。 编一个程序,计算共有多少种不同的走法。 输入格式 一个数字,楼梯数。 输出格式 输出走的方式总数。 样例 #1 样例输入 #1 4样例输出 #1 5提示…

FPGA之带有进位逻辑的加法运算

module ADDER( input [5:0]A, input [5:0]B,output[6:0]Q ); assign Q AB; endmodule 综合结果如下图所示: 使用了6个Lut,,6个LUT分布…

详细介绍如何用windows11自带Hyper-V安装虚拟机

通过系统自带的hyper-v安装windows11,舒服又惬意,相比用第三方虚拟机软件速度快很多。 硬件准备 1、对于电脑自带的虚拟机Hyper-V,不是每种电脑系统版本都带着的。我们先要确定您的系统符合 Hyper-V 的最低要求。我们跟着下面的步骤来执行&…

鸿蒙开发相关知识(四)【数据持久化(用户首选项、关系型数据库)、通知(基础通知、进度条通知、通知意图)】

文章目录 一、数据持久化1、用户首选项(1)语法说明(2)完整代码示例 2、关系型数据库(1)初始化数据库(2)增删改数据(3)查询数据(4)完整…

《2023年勒索软件攻击态势报告》

获取方式: 链接:https://pan.baidu.com/s/1zd-yVsuGwJADyyGNFR_TIQ?pwd2lo0 提取码:2lo0

探索数据结构:解锁计算世界的密码

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty‘s blog 前言 随着应用程序变得越来越复杂和数据越来越丰富,几百万、…

600万订单每秒Disruptor +SpringBoot,如何解决消息不丢失?

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,最近有小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、shein 希音、百度、网易的面试资格,遇到很多很重要的面试题: Disruptor 官方说能达到每秒600w OPS订单处理能力&…

Java——Object

1.Object万类之祖 1.1 Object类型的概述 Object类是所有类型的顶层父类,所有类型的直接或者间接的父类;所有的类型中都含有Object类中的所有方法。 随意定义一个类型,不手动显式定义其父类,那么这个类的父类就是Object类 public Object() …

【C语言】指针初阶2.0版本

这篇博文我们来继续学习指针的其他内容 指针2.0 传值调用与传址调用传值调用传址调用 一维数组与指针理解数组名使用指针深入理解一维数组 二级指针指针数组二维数组与指针 传值调用与传址调用 在开始之前,我们需要先了解这个概念,后面才能够正常的学习…

利用 Python 抓取数据探索汽车市场趋势

一、引言 随着全球对环境保护意识的增强和技术的进步,新能源汽车作为一种环保、高效的交通工具,正逐渐受到人们的关注和青睐。在这个背景下,对汽车市场的数据进行分析和研究显得尤为重要。 本文将介绍如何利用 Python 编程语言,结…

VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程

引言劝退 VSCode,全称为Visual Studio Code,是由微软开发的一款轻量级,跨平台的代码编辑器。大家能来搜用VSCode配置c/c,想必也知道VSCode的强大,可以手握一个VSCode同时编写如C,C,C#&#xff…

微服务day02-Ribbon负载均衡与Nacos安装与入门

一.Ribbon负载均衡 在上一节中,我们通过在RestTemplte实例中加上了注解 LoadBalanced,表示将来由RestTemplate发起的请求会被Ribbon拦截和处理,实现了访问服务时的负载均衡,那么他是如何实现的呢? 1.1 Ribbon负载均衡的原理 Rib…

链表的归并排序-LeetCode(Python版)

双指针归并排序!图解排序链表!-知乎 class ListNode(object):def __init__(self, val0, nextNone):self.val valself.next nextclass Solution(object):def find_mid(self, head): # 快慢指针slow, fast head, headwhile fast.next and fast.next.n…

linux 硬盘存储剩余容量自动化监控+报警通知

linux 硬盘存储剩余容量自动化监控报警通知 编写shell脚本 #!/bin/bash# 获取系统存储大小(单位为GB) storage_size$(df -h / | awk NR2 {print $4} | sed s/G//)# 阈值(小于10GB触发报警) threshold10# 钉钉机器人 Webhook UR…

LabVIEW非接触式电阻抗层析成像系统

LabVIEW非接触式电阻抗层析成像系统 非接触式电阻抗层析成像(NEIT)技术以其无辐射、非接触、响应速度快的特点,为实时监测提供了新的解决方案。基于LabVIEW的电阻抗层析成像系统,实现了数据的在线采集及实时成像,提高…

代码随想录算法训练营第四十四天|139.单词拆分、56.携带矿石资源

139.单词拆分 思路:将字符串s看作为背包容量,从字符串中获取物品,刚好满足背包容量的过程,因为可以从字符串中多次取值,相当于物品的数量是不限制,这就是一个完全背包的问题!这个题有个关键点&a…

Python中的windows路径问题

在Python中处理Windows路径时,经常会遇到一些特殊的问题。这主要是因为Windows和大多数其他操作系统(如Linux和macOS)使用不同的路径分隔符。在Windows中,路径使用反斜杠(\)作为分隔符,而在其他操作系统中,路径使用正斜杠(/)作为分隔符。 以下是在Python中处理Windo…

Java SE:多线程(Thread)

1. 线程两个基本概念 并发:即线程交替运行多个指令并行:即多个线程同时运行指令 并发并行不矛盾,两者可同时发生,即多个线程交替运行指令 2. 多线程3种实现方式 2.1 直接创建线程对象 /*** 方式1:* 1. 创建thread类的…

mybatis plus 深入学习 【Base Mapper】的方法 【IService】的方法

mybatis plus 深入学习 常见注解 1.TableName 描述:表名注解,标识实体类对应的表使用位置:实体类 TableName("sys_user") public class User {private Long id;private String name;private Integer age;private String email;…

【Linux系统化学习】信号的保存

目录 阻塞信号 信号处理常见方式概览 信号的其他相关概念 在内核中的表示 sigset_t 信号集操作函数 sigprocmask函数 sigpending函数 信号的捕捉 内核如何实现信号的捕捉 sigaction函数 可重入函数 volatile 阻塞信号 信号处理常见方式概览 当信号来临时&#x…