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

news/2024/5/19 0:57:18 标签: kubernetes, prometheus, harbor, grafana, 云原生监控

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

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

简介

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

grafana_4">采集指标&配置grafana面板

本文前置条件需要安装harborprometheusgrafanaharbor可以通过docker-compose的方式快速安装,安装方式可以参考 docker笔记10–安装与使用harborprometheus 可以单独安装,也可以通过开源组件来安装,例如通过 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: harbor
  name: harbor
  namespace: devops-test
subsets:
- addresses:
  - ip: 172.16.xx.xx
  ports:
  - name: metrics
    port: 9090
    protocol: TCP

2) 新建Service
# vim harbor-svc.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: harbor
  name: harbor
  namespace: devops-test
spec:
  internalTrafficPolicy: Cluster
  ports:
  - name: metrics
    port: 9090
    protocol: TCP
    targetPort: 9090
  type: ClusterIP

3) 新建 serviceMonitor
# vim harbor-servicemonitor.yaml
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  annotations: {}
  labels:
    app: harbor-exporter
  name: harbor
  namespace: devops-test
spec:
  endpoints:
  - interval: 30s
    path: /metrics
    port: http
    scheme: http
  jobLabel: harbor-app
  namespaceSelector:
    matchNames:
    - devops-test
  selector:
    matchLabels:
      app: harbor-exporter

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

grafana_74">配置grafana面板

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

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

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

说明

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


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

相关文章

dolphinscheduler伪集群部署教程

文章目录 前言一、配置免密登录1. 配置root用户免密登录2. 创建用户2.1 创建dolphinscheduler用户2.2 配置dolphinscheduler用户免密登录2.3 退出dolphinscheduler用户 二、安装准备1. 安装条件2. 安装jdk3. 安装MySQL4. 安装zookeeper4.1 zookeeper单机部署4.2 启动zookeeper4…

小程序API能力集成指南——数据缓存API汇总

ty.setStorage 将数据存储在本地缓存中指定的 key 中。会覆盖掉原来该 key 对应的内容。除非用户主动删除或因存储空间原因被系统清理,否则数据都一直可用。单个 key 允许存储的最大数据长度为 1MB,所有数据存储上限为 10MB。 需引入BaseKit&#xff0c…

嵌入式学习第二十天!(进程)

进程基本概念: 1. 进程: 程序:存放在外存中的一段数据组成的文件 进程:是一个程序动态执行的过程,包括进程的创建、进程的调度、进程的消亡 2. 进程相关命令: 1. top: 动态查看当前系统中的所有进程信息…

tinyxml2开源库使用

源码下载:GitHub - leethomason/tinyxml2: TinyXML2 is a simple, small, efficient, C XML parser that can be easily integrated into other programs. 1.加载tinyxml2库 解压上面现在的压缩包,将tinyxml2.h/tinyxml2.cpp添加到项目工程当中&#x…

Ubuntu中Python包的寻找路径

文章目录 一、Pyhon包的查找位置二、某个Python特定包的查找位置参考 一、Pyhon包的查找位置 ▶ [~]$ python -m site sys.path [/home/wangji,/usr/lib/python310.zip,/usr/lib/python3.10,/usr/lib/python3.10/lib-dynload,/home/wangji/.local/lib/python3.10/site-packag…

AI论文速读 | STG-LLM 大语言模型如何理解时空数据?

论文标题:How Can Large Language Models Understand Spatial-Temporal Data? 论文链接:https://arxiv.org/abs/2401.14192 作者:Lei Liu, Shuo Yu, Runze Wang, Zhenxun Ma, Yanming Shen(申彦明) 关键词&#xf…

leetcode初级算法(python)- 数组

文章目录 1.从排序数组中删除重复项2.买卖股票最佳时机23.旋转数组运行颠倒列表法整体移动元素块法4.存在重复运行包含判断法排序比较判断法运行集合判断法5.只出现一次的数字6.两个数组的交集27.移动零8.两数之和9.旋转图像这篇博客中的代码都是数组计算。 1.从排序数组中删除…

vscode 设置打开中断的默认工作目录/路径

vscode 设置打开终端的默认工作目录/路径** 文章目录 vscode 设置打开终端的默认工作目录/路径**打开vscode,打开设置UI 或是设置JSON文件,找到相关设置项方式1:通过打开settings.json的UI界面 设置:方式2:通过打开设置settings.j…