首页 > 其他分享 >关于修改prometheus-operator 方式下的prometheus的配置文件

关于修改prometheus-operator 方式下的prometheus的配置文件

时间:2024-01-16 16:55:27浏览次数:27  
标签:kubectl 配置文件 Prometheus prometheus 实例 operator

f

q

简单介绍
prometheus-operator 中的每个 Prometheus CRD 资源,Operator 都会以 StatefulSet 形式在相同的命名空间下部署对应配置的资源,Prometheus Pod 的配置是通过一个包含 Prometheus 配置的名为 的 Secret 对象声明挂载的。

该 CRD 根据标签选择来指定部署的 Prometheus 实例应该覆盖哪些 ServiceMonitors,然后 Operator 会根据包含的 ServiceMonitors 生成配置,并在包含配置的 Secret 中进行更新。

如果未提供对 ServiceMonitor 的选择,则 Operator 会将 Secret 的管理留给用户,这样就可以提供自定义配置,同时还能享受 Operator 管理 Operator 的设置能力。
本文主要介绍如何在不创建ServiceMonitor 的情况下直接通过修改Secret 从而修改prometheus配置
要修改由prometheus-operator部署的Prometheus实例的配置文件,可以使用以下步骤:

首先,通过kubectl命令行工具连接到您的Kubernetes集群。

这将列出您的Kubernetes集群中所有prometheus实例的名称。

[root@k8s-master01 ~]$ kubectl -n monitoring get prometheus
NAME VERSION REPLICAS AGE
k8s v2.22.1 2 326d
执行以下命令,将prometheus实例的配置文件导出到本地文件中:
kubectl get secret <prometheus-operator-name>-prometheus -o jsonpath="{.data['prometheus\.yaml\.gz']}" | base64 --decode |gzip -d > prometheus.yml
其中,是您的prometheus-operator实例的名称。此命令将把prometheus实例的配置文件解码为prometheus.yml文件。例如:

kubectl -n monitoring get secret prometheus-k8s -o jsonpath="{.data['prometheus\.yaml\.gz']}" | base64 --decode | gzip -d  > prometheus.yml
然后,您可以使用任何文本编辑器来修改prometheus.yml文件中的配置。例如,您可以添加或删除抓取目标,配置告警规则或修改抓取的时间间隔。

修改后,使用以下命令将新的配置文件重新导入到prometheus实例中:

kubectl create secret generic <prometheus-operator-name>-prometheus --from-file=prometheus.yml -n <namespace> --dry-run=client -o yaml | kubectl apply -f -
其中,是您的prometheus-operator实例的名称,是您的prometheus实例所在的Kubernetes命名空间。
例如:

kubectl create secret generic prometheus-k8s --from-file=prometheus.yml -n monitoring  --dry-run=client -o yaml | kubectl apply -f -
最后,重启prometheus实例,以便它可以加载新的配置文件。

[root@k8s-master01]$ kubectl rollout restart sts prometheus-k8s -n monitoring

 

这些步骤应该可以帮助您修改prometheus-operator部署的Prometheus实例的配置文件。

然而这样并没有奏效[手动狗头]:

如果你是通过helm部署的,直接修改serviceMonitor相关文件。

我这里是通过ks-install Kubesphere集成您自己的 Prometheus 方式安装的,主要是为了修改kubesphere自带prometheus监控中被过滤掉的指标( 基于 kube-prometheus 的定制版本生成)
比如: 我需要 node-exporter 中node_filefd_allocated,node_cpu_seconds_total,node_filesystem_avail_bytes等指标
或者 container 中container_start_time_seconds、 container_fs_reads_bytes_total 、container_spec_memory_limit_bytes等等指标
就需要分别修改ks-installer/roles/ks-monitor/files/prometheus/node-exporter/node-exporter-serviceMonitor.yaml 和ks-installer/roles/ks-monitor/files/prometheus/kubernetes/kubernetes-serviceMonitorKubelet.yaml中的metricRelabelings部分
如图:

总结:在prometheus-operator方式下prometheus的配置文件是Operator 根据包含的 ServiceMonitors 生成配置,并在包含配置的 Secret 中进行更新,最终以Secrt对象将配置文件挂载到prometheus 中,同时也实现了配置文件的自动更新

标签:kubectl,配置文件,Prometheus,prometheus,实例,operator
From: https://www.cnblogs.com/A121/p/17968065

相关文章

  • 关于修改Prometheus指标告警阈值
     方法一:在rancher平台仪表盘里修改 修改告警规则的配置文件 修改阈值并保存 rules界面查看是否生效 方法二: ......
  • 关于命令行修改K8s内Prometheus配置文件参数
    #登录master节点操作1、进入prometheus介质目录:[root@k8s-master01]$cd/yang/operator/operator-0.7/manifests/prometheus2、备份prometheus配置文件[root@k8s-master01]$cpprometheus-prometheus.yamlprometheus-prometheus.yaml.202312153、编辑prometheus配置文件修......
  • [cpp]: operator""s -- <string>
    [cpp]: operator""s -- <string>    1operator""s:将一个字符数组字面量转化为【basic_string】类型数据。1.1#include<string>1.2operator""s :convertsacharacterarrayliteralto basic_string   2e.g.......
  • Idea SpringBoot 子模块 加载不到该子模块根目录config下面的配置文件
    IdeaSpringBoot子模块加载不到该子模块根目录config下面的配置文件importorg.mybatis.spring.annotation.MapperScan;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframew......
  • prometheus 日常配置记录
    通用模糊匹配irate(node_network_transmit_bytes_total{device!~"lo|bond[0-9]|cbr[0-9]|veth.*"}[5m])>0kube-prometheus部署配置说明kind:Prometheusmetadata:#spec:alerting:alertmanagers:-name:prometheus-prometheus-oper-alertmanager#定义......
  • Istio从入门到精通—— 安装 —— 使用 Istio Operator 安装
    使用IstioOperator安装https://istio.io/latest/zh/docs/setup/install/operator/全新安装Istio时不鼓励使用Operator,请优先使用Istioctl和Helm安装方法。Operator仍然会得到维护,但新的功能请求可能不会优先考虑。除了手动在生产环境中安装、升级、和卸载Istio,......
  • Prometheus配置Basic Auth进行安全防护,实现登录控制
    本文分享自华为云社区《Prometheus配置BasicAuth进行安全防护,实现登录控制》,作者:可以交个朋友。一、PrometheusBasicAuth使用背景在日常prometheus的使用中是没有安全加密措施的,可能会导致监控信息,敏感信息遭遇泄漏。在这种情况下需要保护对Prometheus的访问。二、方案简介Prom......
  • 自定义监控(kube-prometheus)
       ......
  • Django 源码(三)-应用 & 中间件 & 配置文件
    Django源码(三)-应用&中间件&配置文件本部分主要是在为程序启动时候加载应用以及中间件的信息;1.应用的加载在程序启动的部分,我们分析到程序执行的时候都会执行一个setup()函数,相关的内容可以看之前的章节的部分;defsetup(set_prefix=True):"""Configurethes......
  • Prometheus,Prometheus 搭建
     Prometheus,Prometheus搭建Kubernetes是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。Prometheus是一种开源的监控系统和时间序列数据库,用于收集、存储和查询指标数据。Grafana是一个开源的数据可视化和监控分析平台,用于展示Prometheus收集的指标数据。在K......