暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

企业级Harbor监控面板:容器管理的守护者

Linux运维智行录 2024-12-03
84

随着云计算和微服务架构的日益普及,容器技术已经成为现代软件开发和部署的核心。然而,随着容器数量的增长,管理和监控这些容器变得越来越复杂。Harbor作为一款开源的企业级Docker注册表项目,不仅提供了安全可靠的镜像存储解决方案,还内置了强大的监控功能。这使得企业能够实时了解其容器环境的状态,并迅速响应潜在问题。本文将详细介绍Harbor监控面板的功能及其对企业的重要意义。

预防胜于治疗,监控先行


01
部署harbor-exporter

1、添加harbor部署参数

$ cat <<'EOF' | sudo tee -a /etc/kubernetes/addons/harbor-value.yml
# harbor暴露metrics数据
metrics:
  enabled: true
EOF


2、更新harbor

$ helm -n harbor upgrade harbor -f /etc/kubernetes/addons/harbor-value.yml /etc/kubernetes/addons/harbor

3、验证服务

$ kubectl -n harbor get pod 
NAME                                 READY   STATUS    RESTARTS       AGE
harbor-core-655b8cdd5d-n7vbx         1/1     Running   0              71s
harbor-core-655b8cdd5d-pb896         1/1     Running   0              51s
harbor-exporter-5b789d5fb6-4dcr2     1/1     Running   0              71s
harbor-exporter-5b789d5fb6-6lzgf     1/1     Running   0              95s
harbor-jobservice-69c54699b9-8wlhw   1/1     Running   0              71s
harbor-jobservice-69c54699b9-tsbm7   1/1     Running   0              41s
harbor-portal-767957d4c6-ggrc2       1/1     Running   1 (168m ago)   29h
harbor-portal-767957d4c6-lkrsj       1/1     Running   1 (168m ago)   30h
harbor-registry-86b67f89fc-7w67v     2/2     Running   0              68s
harbor-registry-86b67f89fc-rbqtf     2/2     Running   0              71s
harbor-trivy-0                       1/1     Running   1 (168m ago)   29h
harbor-trivy-1                       1/1     Running   1 (168m ago)   30h


02
Prometheus采集harbor指标

1、Prometheus采集harbor数据

$ kubectl -n kube-system edit cm prometheus
    - job_name: 'harbor-exporter'
      scrape_interval: 15s
      kubernetes_sd_configs:
      - role: service
      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_service_port_name]
        action: keep
        regex: harbor;harbor-exporter;http-metrics

    - job_name: 'harbor-core'
      scrape_interval: 15s
      kubernetes_sd_configs:
      - role: service
      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_service_port_name]
        action: keep
        regex: harbor;harbor-core;http-metrics

    - job_name: 'harbor-registry'
      scrape_interval: 15s
      kubernetes_sd_configs:
      - role: service
      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_service_port_name]
        action: keep
        regex: harbor;harbor-registry;http-metrics

    - job_name: 'harbor-jobservice'
      scrape_interval: 15s
      kubernetes_sd_configs:
      - role: service
      relabel_configs:
      - source_labels: [__meta_kubernetes_namespace, __meta_kubernetes_service_name, __meta_kubernetes_service_port_name]
        action: keep
        regex: harbor;harbor-jobservice;http-metrics


2、验证是否采集成功

$ curl -s $(kubectl -n kube-system get svc prometheus -ojsonpath='{.spec.clusterIP}:{.spec.ports[0].port}')/prometheus/api/v1/query --data-urlencode 'query=up{job=~"harbor-.*"}' | jq '.data.result[] | {job: .metric.job, status: .value[1]}'
{
  "job": "harbor-core",
  "status": "1"
}
{
  "job": "harbor-exporter",
  "status": "1"
}
{
  "job": "harbor-jobservice",
  "status": "1"
}
{
  "job": "harbor-registry",
  "status": "1"
}


03
grafana添加Harbor监控面板

grafana上添加harbor_exporter官方面板地址:https://github.com/goharbor/harbor/blob/main/contrib/grafana-dashboard/metrics-example.json



效果图


Tipregister相关指标需要有pull或者push动作才会生成图标


04
结语

在当前快速变化的技术环境中,有效的IT基础设施管理对于保持企业的竞争力至关重要。Harbor监控面板为企业提供了一种强有力的工具,帮助它们更好地理解和控制自己的容器生态系统。通过实施恰当的监控策略,组织可以显著增强其系统的稳定性、安全性及整体性能。希望本文能为读者提供宝贵的见解,并激发大家进一步探索Harbor监控面板的兴趣。无论是为了满足日常运维的需求还是应对未来的挑战,掌握这一工具都将为企业带来长远的利益。


别忘了,关注我们的公众号,获取更多关于容器技术和云原生领域的深度洞察和技术实战,让我们携手在技术的海洋中乘风破浪!

END

文章转载自Linux运维智行录,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论