上篇内容我们主要是针对告警以及如何自定义告警规则做了演示,但是我们会发现告警不够清晰,例如如何根据不同的主机、业务艾特人员。本篇文章讲解如何设置告警路由。
我们安装好 prometheus-operator 之后,打开 prometheus 页面Alerts页面能看到好多报警规则,目前有的还处于报警状态 ? 但是这些报警信息是哪里来的呢?
上篇文章我们讲解了自定义监控,但是我们会发现,每次新增一个监控对象都需要我们手动的创建一个ServiceMonitor,这无疑是比较麻烦的,那么有没有一种可以自动发现的实现方案呢。本篇文章我们讲解如何自动发现监控目标
提供helm/yaml容器化prometheus-operator的方式; prometheus-operator是专门为k8s集群量身定做的,用于监控k8s集群,同时自带grafana,alertmanager 报警等组件; 目录 (1).容器化组件 (2).helm容器化方式 (3).yaml容器化方式 (4).ingress-nginx代理prometheus-operator 正文 (1).容器化组件 容器化成功后的组件 coreos/kube-prometheus.git yaml配置文件位于目录(配置文件很多,一共有65个): kube-prometheus/tree/master/manifests 执行命令部署prometheus-operator (4).ingress-nginx代理prometheus-operator 笔者提供了prometheus-operator的prometheus和grafana的ingress代理配置文件,位于:
上篇回顾 上篇文章我们主要是讲解了使用prometheus-operator来进行部署,其中大部分需要监控的指标我们都可以收集到,但是也是有不完善的地方,例如我们自定义的exporter。
上篇文章我们主要是针对告警路由进行了讲解,告警路由使用无疑是非常方便的,但是缺少一些告警处理人相关提醒,所以我们本篇文章讲解一下告警认领的功能实现
release-0.9 1.21、1.22 release-0.10 1.22、1.23 release-0.11 1.23、1.24 main 1.24 参考连接:https://github.com/prometheus-operator none> 77d v1.20.5 下载kube-prometheus git clone -b release-0.8 https://github.com/prometheus-operator
本文将学习如何使用 Prometheus-Operator 来监控 Calico。 本文不会涉及到 Calico 和 Prometheus-Operator 的部署细节,如果不知道如何部署,请查阅官方文档和相关博客。 1. Prometheus 采集 Felix 指标 启用了 Felix 的指标后,就可以通过 Prometheus-Operator 来采集指标数据了。 所以我选择删除 Prometheus-Operator 自带的 Grafana,自行部署 helm 仓库中的 Grafana。 添加 Prometheus-Operator 的数据源: ?
使用gin、gorm实现钉钉群的crud,钉钉outgoing机制触发建群接口。当第一次点击创建群时会自动创建群,当其他人再次点击创建群时,会自动拉其进入已经创建的群并更新告警认领,当我们解决完问题后,可以触发机器人对群内人员进行移除操作,当然该群目前还是会被保留。
上篇文章我们主要是针对处理告警自助创建群进行了说明设计。增加该功能的初衷主要是为了方便处理问题,当我们遇到比较严重的问题、或者说需要开发、主管一起进行排查时我们就可以使用该功能,点击后会自动将对应开发、主管拉入群聊中,当问题解决后该群会移除除了群主(建议新增一个账号来作为群主账号)之外所有人。
prometheus-operator 监控 k8s 外部集群 其实监控 k8s 外部集群和监控内部集群没啥区别,大概思路就是把外部资源通过 endpoint的方式给他虚拟成 k8s 集群内部的一个资源 ,其实下面操作就是有点为了用k8s 而用 k8s 了,有点吃力不讨好的架势,但是我们这里为了学习,可以玩耍 prometheus-operator 监控 etcd 无论是 Kubernetes 集群外的还是使用 insecureSkipVerify=true [image-20200907105741840] 关于 ServiceMonitor 属性的更多用法可以查看文档:https://github.com/coreos/prometheus-operator
的以下两个概念: - 资源:对象的状态定义 - 控制器:观测、分析和行动,以调节资源的分布 当然我们如果有对应的需求也完全可以自己去实现一个`Operator`,接下来我们就来给大家详细介绍下`Prometheus-Operator ## 介绍Prometheus-Operato 首先我们先来了解下`Prometheus-Operator`的架构图: ! [promtheus opeator](https://www.qikqiak.com/img/posts/prometheus-operator.png) 上图是`Prometheus-Operator 我这边集群是1.15版本,所以我就拉去release-0.3版本,首先Clone 代码 ```bash git clone https://github.com/prometheus-operator /kube-prometheus.git git checkout release-0.3 ``` > 最新的版本官方将资源https://github.com/coreos/prometheus-operator
生产prometheus-operator 监控二进制kubernetes 什么是 Operator? 介绍Prometheus-Operator 首先我们先来了解下Prometheus-Operator的架构图: ? 上图是Prometheus-Operator官方提供的架构图,其中Operator是最核心的部分,作为一个控制器,他会去创建Prometheus、ServiceMonitor、AlertManager以及 我这边集群是1.15版本,所以我就拉去release-0.3版本,首先Clone 代码 git clone https://github.com/prometheus-operator/kube-prometheus.git git checkout release-0.3 最新的版本官方将资源https://github.com/coreos/prometheus-operator/tree/master/contrib
prometheus-operator 监控 k8s 外部集群 其实监控 k8s 外部集群和监控内部集群没啥区别,大概思路就是把外部资源通过 endpoint的方式给他虚拟成 k8s 集群内部的一个资源 ,其实下面操作就是有点为了用k8s 而用 k8s 了,有点吃力不讨好的架势,但是我们这里为了学习,可以玩耍 prometheus-operator 监控 etcd 无论是 Kubernetes 集群外的还是使用 关于 ServiceMonitor 属性的更多用法可以查看文档:https://github.com/coreos/prometheus-operator/blob/master/Documentation
本文内容为 K8s集群通过helm方式创建kube-prometheus-stack监控平台教程 折腾了一晚上,搞定了,一开始一直用prometheus-operator这个chart来装,报错各种找问题 ,后来才发现我的集群版本太高了,1.22的版本,而且 prometheus-operator之后的版本改变了名字kube-prometheus-stack,旧的版本可能不兼容。 NAME CHART VERSION APP VERSION DESCRIPTION ali/prometheus-operator 8.7.0 0.35.0 Provides easy monitoring definitions for Kubern... azure/prometheus-operator ┌──[root@vms81.liruilongs.github.io]-[~/ansible/k8s-helm-create] └─$helm install liruilong ali/prometheus-operator
摘要 本文范围: Prometheus-Operator & kube-prometheus 安装;以及在解决使用ServiceMonitor时遇到的坑。 ThanosRuler ServiceMonitor PodMonitor Probe PrometheusRule AlertmanagerConfig 参考文档: https://github.com/prometheus-operator 1.25) release-0.12 腾讯云集群(TKE 1.20) release-0.9 kube-prometheus 安装卸载 安装 git clone https://github.com/prometheus-operator
图片2.png 图片3.png [root@vms61 prometheus-operator]# helm ls NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION [root@vms61 prometheus-operator]# helm install mon . manifest_sorter.go: [root@vms61 prometheus-operator]# kubectl get pods NAME 图片7.png [root@vms61 prometheus-operator]# kubectl get sa NAME SECRETS ]# kubectl get secrets mon-grafana -o yaml 图片8.png [root@vms61 prometheus-operator]# echo YWRtaW4
2.2.4.安装prometheus-operator组件:使用prometheus-operator收集istio metrics 需要先部署prometheus-operator: https:// github.com/prometheus-operator/prometheus-operator/releases wget https://github.com/prometheus-operator /prometheus-operator/archive/v0.46.0.tar.gz 解压后在根目录执行: kubectl apply -f bundle.yaml ? 可以看到在default命名空间下出现了一个prometheus-operator的pod: ? 再执行istio的prometheus-operator的关联配置文件:这样让prometheus-operator可以感知到istio: kubectl apply -f istio-1.8.3/samples
如下图,可见首先prometheus-operator是个github账号,该账号下面有两个重要的仓库:prometheus-operator和kube-prometheus 关于prometheus-operator 和kube-prometheus这两个仓库的区别,继续看官方描述,如下图,prometheus-operator是基础,通过CRD简化了prometheus、alertmanager以及其他监控组件的部署 ,而kube-prometheus则是在prometheus-operator的基础上增加了很多集群监控的样例,例如多实例、各种指标的exporter等等 简单的说:prometheus-operator 只提供监控服务用到各种要素,kube-prometheus在prometheus-operator的基础上提供了具体的成果,即各种监控图表 如果您看过《快速搭建云原生开发环境(k8s+pv+prometheus 和kube-prometheus的关系,然后重点来了:strimzi的官方资料中,搭建监控服务是基于prometheus-operator来做的 也就是说,按照strimzi官方的资料部署好的监控服务中
Type REPOSITORY TAG Required(*) prometheus-operator grafana/grafana 5.1.1 * prometheus-operator prom/ prometheus v2.2.1 * prometheus-operator quay.io/prometheus/prometheus v2.2.1 * prometheus-operator quay.io rc.1 * prometheus-operator quay.io/coreos/prometheus-operator v0.19.0 * prometheus-operator quay.io/coreos :v0.19.0 $ docker tag huwanyang168/prometheus-operator:v0.19.0 quay.io/coreos/prometheus-operator:v0.19.0 /prometheus-operator created service/prometheus-operator created deployment.apps/prometheus-operator