商城网站 价格/建站教程

商城网站 价格,建站教程,江苏建科建设监理有限公司网站,政府门户网站建设要素一、下载对应的kube-prometheus源码 github地址:https://github.com/prometheus-operator/kube-prometheus 根据自己的Kubernetes版本下载对应的Kube-prometheus源码。 kubectl version 我的kubernetes的版本为v1.30.3固下载master分支的源码 1)进入…

一、下载对应的kube-prometheus源码

github地址:https://github.com/prometheus-operator/kube-prometheus

根据自己的Kubernetes版本下载对应的Kube-prometheus源码。

kubectl version

我的kubernetes的版本为v1.30.3固下载master分支的源码

1)进入目录

[root@k8s-master ~]# cd kube-prometheus
[root@k8s-master kube-prometheus]# ls
build.sh             docs             jsonnet                manifests
CHANGELOG.md         example.jsonnet  jsonnetfile.json       README.md
code-of-conduct.md   examples         jsonnetfile.lock.json  RELEASE.md
CONTRIBUTING.md      experimental     kustomization.yaml     scripts
DCO                  go.mod           LICENSE                sync-to-internal-registry.jsonnet
developer-workspace  go.sum           Makefile               tests
2)可以看到有个manifests目录这里面是我们所需的yaml,并且先运行manifests目录下setup中的yaml文件
[root@k8s-master kube-prometheus]# cd manifests/
[root@k8s-master manifests]# ls
会看到一个setup的文件夹
我们先执行这个文件夹这个里面会为我们创建命名空间
和一些基础清单
[root@k8s-master manifests]# kubectl create -f setup/

3)修改prometheus,grafana,alertmanager的yaml文件修改端口暴露为nodeport模式 为了能从外网访问

修改prometheus-service.yaml,添加NodePort类型和端口

修改prometheus-service.yaml文件,添加NodePort类型和端口

修改alertmanager-service.yaml文件添加NodePort类型和端口

进入kube-prometheus/manifests目录运行

cd kube-prometheus/manifests/
kubectl apply -f .

访问测试

通过以下命令查看相应的服务:

kubectl get svc -n monitoring

其中红框圈出的是比较关键的服务以及其对应的访问端口,但现在还无法访问grafan、prometheus以及alertmanger,因为prometheus operator内部默认配置了NetworkPolicy,需要删除其对应的资源,才可以通过外网访问:

cd ..  #需要到manifests的同级目录下运行
kubectl delete -f manifests/prometheus-networkPolicy.yaml
kubectl delete -f manifests/grafana-networkPolicy.yaml
kubectl delete -f manifests/alertmanager-networkPolicy.yaml

删除后,通过服务器ip:服务端口的形式,即可访问对应的服务了,在此,kube-prometheus的部署彻底完成。

grafana的默认账号和密码:admin/admin

alertmanager的登录界面

prometheus的登录界面

问题:

镜像:registry.k8s.io/prometheus-adapter/prometheus-adapter:v0.12.0替换为:v5cn/prometheus-adapter:v0.12.0

registry.k8s.io/kube-state-metrics/kube-state-metrics:v2.13.0替换为: 

quay.io/coreos/kube-state-metrics:latest

二、安装钉钉,并且配置钉钉

1)创建钉钉机器人

群聊设置中【添加机器人】-【自定义】

安全设置中勾选加签

需要保存Webhook和加签的秘钥,后面k3s往钉钉机器人群聊中发信息需要。

2)自定义机器人的监控配置文件

#cat dingtalk-config.yamlapiVersion: v1
kind: ConfigMap
metadata:name: dingtalk-confignamespace: monitoring
data:config.yml: |-templates:- /etc/prometheus-webhook-dingtalk/template.tmpl   #在dingtalk-deployment.yaml配置文件中已经把config配置文件挂载在容器的/etc/prometheus-webhook-dingtalk目录下了targets:webhook:url: https://oapi.dingtalk.com/robot/send?access_token=cbc36a81873b58b2374becf8a33f9053e02692a114ac7ecc1cc451caf19792a6secret: SEC5d83c04905da4d00454782242d3e5d36857f6088ee284523041521d6cc025b0dmention:all: true #@所有人webhook2:url: https://oapi.dingtalk.com/robot/send?access_token=4df2745e8df1de6d0429e35caf15e03secret: SECe079af795abd316a7e1f431ee8ebcf082cc0b0611a859datemplate.tmpl: |-    #下面这个模板文件是钉钉机器人的模板文件,可以自己定义{{ define "__subject" }}[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}] {{ .GroupLabels.SortedPairs.Values | join " " }} {{ if gt (len .CommonLabels) (len .GroupLabels) }}({{ with .CommonLabels.Remove .GroupLabels.Names }}{{ .Values | join " " }}{{ end }}){{ end }}{{ end }}{{ define "__alertmanagerURL" }}{{ .ExternalURL }}/#/alerts?receiver={{ .Receiver }}{{ end }}{{ define "__text_alert_list" }}{{ range . }}**Labels**{{ range .Labels.SortedPairs }} - {{ .Name }}: {{ .Value | markdown | html }}{{ end }}**Annotations**{{ range .Annotations.SortedPairs }} - {{ .Name }}: {{ .Value | markdown | html }}{{ end }}**Source:** [{{ .GeneratorURL }}]({{ .GeneratorURL }}){{ end }}{{ end }}{{ define "default.__text_alert_list" }}{{ range . }}---**告警级别:** {{ .Labels.severity | upper }}**运营团队:** {{ .Labels.team | upper }}**触发时间:** {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}**事件信息:**{{ range .Annotations.SortedPairs }} - {{ .Name }}: {{ .Value | markdown | html }}{{ end }}**事件标签:**{{ range .Labels.SortedPairs }}{{ if and (ne (.Name) "severity") (ne (.Name) "summary") (ne (.Name) "team") }} - {{ .Name }}: {{ .Value | markdown | html }}{{ end }}{{ end }}{{ end }}{{ end }}{{ define "default.__text_alertresovle_list" }}{{ range . }}---**告警级别:** {{ .Labels.severity | upper }}**运营团队:** {{ .Labels.team | upper }}**触发时间:** {{ dateInZone "2006.01.02 15:04:05" (.StartsAt) "Asia/Shanghai" }}**结束时间:** {{ dateInZone "2006.01.02 15:04:05" (.EndsAt) "Asia/Shanghai" }}**事件信息:**{{ range .Annotations.SortedPairs }} - {{ .Name }}: {{ .Value | markdown | html }}{{ end }}**事件标签:**{{ range .Labels.SortedPairs }}{{ if and (ne (.Name) "severity") (ne (.Name) "summary") (ne (.Name) "team") }} - {{ .Name }}: {{ .Value | markdown | html }}{{ end }}{{ end }}{{ end }}{{ end }}{{/* Default */}}{{ define "default.title" }}{{ template "__subject" . }}{{ end }}{{ define "default.content" }}#### \[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}\] **[{{ index .GroupLabels "alertname" }}]({{ template "__alertmanagerURL" . }})**{{ if gt (len .Alerts.Firing) 0 -}}{{ template "default.__text_alert_list" .Alerts.Firing }}{{- end }}{{ if gt (len .Alerts.Resolved) 0 -}}{{ template "default.__text_alertresovle_list" .Alerts.Resolved }}{{- end }}{{- end }}{{/* Legacy */}}{{ define "legacy.title" }}{{ template "__subject" . }}{{ end }}{{ define "legacy.content" }}#### \[{{ .Status | toUpper }}{{ if eq .Status "firing" }}:{{ .Alerts.Firing | len }}{{ end }}\] **[{{ index .GroupLabels "alertname" }}]({{ template "__alertmanagerURL" . }})**{{ template "__text_alert_list" .Alerts.Firing }}{{- end }}{{/* Following names for compatibility */}}{{ define "ding.link.title" }}{{ template "default.title" . }}{{ end }}{{ define "ding.link.content" }}{{ template "default.content" . }}{{ end }}

#cat dingtalk-deployment.yamlapiVersion: v1
kind: Service
metadata:name: dingtalknamespace: monitoringlabels:app: dingtalkannotations:prometheus.io/scrape: 'false'
spec:selector:app: dingtalkports:- name: dingtalkport: 8060protocol: TCPtargetPort: 8060---
apiVersion: apps/v1
kind: Deployment
metadata:name: dingtalknamespace: monitoring
spec:replicas: 1selector:matchLabels:app: dingtalktemplate:metadata:name: dingtalklabels:app: dingtalkspec:containers:- name: dingtalkimage: timonwong/prometheus-webhook-dingtalk:latestimagePullPolicy: IfNotPresentports:- containerPort: 8060volumeMounts:- name: configmountPath: /etc/prometheus-webhook-dingtalk  #dingtalk配置文件会挂载在容器内的该路径下volumes:- name: configconfigMap:name: dingtalk-config

3)启动

#需要先启动dingtalk-config.yaml,因为dingtalk-deployment.yaml依赖其中的configMap
kubectl apply -f dingtalk-config.yaml -f dingtalk-deployment.yaml
kubectl get pod -n monitoring

 kubectl get svc -n monitoring

4)配置alertmanager-secret.yaml 

备份alertmanager-secret.yaml,然后修改alertmanager-secret.yaml内容为如下内容

cp alertmanager-secret.yaml alertmanager-secret.yaml_bak
#cat  alertmanager-secret.yaml
apiVersion: v1
kind: Secret
metadata:labels:app.kubernetes.io/component: alert-routerapp.kubernetes.io/instance: mainapp.kubernetes.io/name: alertmanagerapp.kubernetes.io/part-of: kube-prometheusapp.kubernetes.io/version: 0.23.0name: alertmanager-mainnamespace: monitoring
stringData:alertmanager.yaml: |-"global":"resolve_timeout": "5m""receivers":- "name": "Webhook""webhook_configs":- "url": "http://dingtalk.monitoring.svc.cluster.local:8060/dingtalk/webhook/send" #重要表示monitoring中的名为dingtalk的svc服务"route":"group_by":- "namespace""group_wait": "30s"  #组告警等待时间,也就是告警产生后等待30s,如果有同一组告警一起发出"receiver": "Webhook""repeat_interval": "2m" #重复告警的间隔时间,减少报警发送频率"routes":- "matchers":- "alertname = Webhook""receiver": "Webhook"
type: Opaque

在 URL "http://dingtalk.monitoring.svc.cluster.local:8060/dingtalk/webhook/send" 中,各部分的含义如下:

  1. http:

    • 指定协议类型,这里使用的是 HTTP 协议。
  2. dingtalk.monitoring.svc.cluster.local:

    • 这是一个域名,通常用于 Kubernetes 集群内部的服务发现。
    • dingtalk: 表示具体的服务名称,指向处理钉钉通知的服务。
    • monitoring: 指定命名空间,表示该服务位于 monitoring 命名空间内。
    • svc: 表示这是一个 Kubernetes 服务(Service)。
    • cluster.local: 默认的集群域名,用于 Kubernetes 集群内的 DNS 解析。
  3. 8060:

    • 这是服务监听的端口号,表示该服务在 8060 端口上接收请求。
  4. /dingtalk/webhook/send:

    • 这是请求的路径,指向特定的 API 端点,用于发送 webhook 通知到钉钉。

5)启动

kubectl apply -f alertmanager-secret.yaml

6)测试验证告警

在/home/k8s/kube-prometheus-0.10.0/manifests的nodeExporter-prometheusRule.yaml中添加自定义的监控规则

/home/k8s/kube-prometheus-0.10.0/manifests
vim nodeExporter-prometheusRule.yaml
...- alert: demon-podannotations:description: filed  demon-pod < 2expr: sum(node_namespace_pod:kube_pod_info:{namespace="demon"}) < 2for: 2mlabels:team: podsseverity: critical- alert: Node内存可用大小10兆expr: node_memory_MemFree_bytes > 10for: 2mlabels:severity: criticalteam: podsannotations:description: 容器可用内存小于100k...

重新运行该规则文件,让其生效

kubectl apply -f nodeExporter-prometheusRule.yaml

进pod看配置是否刷进去了

隔一段时间后在Prometheus上查看是否有报警

隔一段时间后看钉钉是否有消息推送。

参考:

kube-prometheus部署(无坑版)-CSDN博客

Prometheus监控K8S集群并实现告警

bilibili视频:

让你快速入门Prometheus监控并实现邮箱报警_哔哩哔哩_bilibili

k8s 1.23.1 部署 prometheus 钉钉推送 自定义监控配置 promql基础语法_kube-prometheus 钉钉-CSDN博客

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

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

相关文章

地区环境保护支出数据(2007-2023年)

政府环境保护支出是指ZF在环境保护方面投入的CZ资金&#xff0c;用于自然生态保护、污染防治、环境监测与监管等多个领域&#xff0c;旨在改善环境质量、防范环境风险以及促进可持续发展 一、数据介绍 数据名称&#xff1a;地区环境保护支出数据 数据范围&#xff1a;中国31…

【MATLAB代码】三维空间上的RSS(信号强度)定位,n个锚点自适应(锚点数>3即可)(源代码下载链接)

文章目录 代码概况源代码运行结果RSS定位原理讲解1.基本概念2.信号强度与距离关系3. 定位原理 其他情况 代码概况 基于MATLAB的定位程序&#xff0c;使用RSS&#xff08;接收信号强度&#xff09;来估计距离&#xff0c;再由距离计算位置&#xff0c;用于三维空间上的定位。调…

生活中重大决定,除了你自己,谁也帮不了你!

随着年龄增长&#xff0c;越来越发现&#xff1a;生活是非常现实&#xff0c;更现实的社会&#xff0c;自己除了自己&#xff0c;谁也帮不了你。 因此&#xff0c;一个人的生活是好是坏&#xff0c;往往取决于我们自己的努力程度&#xff0c;越努力才会越幸运。没有伞的孩子&am…

RSpec简析及应用案例

文章目录 RSpec简析RSpec 的特点如何开始使用 RSpec示例 应用案例控制器测试创建 PostsController 的测试 请求测试创建请求测试 集成测试创建集成测试 RSpec简析 RSpec 是一个流行的 Ruby 测试工具&#xff0c;它支持行为驱动开发&#xff08;BDD&#xff09;。RSpec 提供了一…

消息中间件 Kafka 快速入门与实战

1、概述 最近感觉上班实在是太无聊&#xff0c;打算给大家分享一下Kafka的使用&#xff0c;本篇文章首先给大家分享三种方式搭建Kafka环境&#xff0c;接着给大家介绍kafka核心的基础概念以及Java API的使用&#xff0c;最后分享一个SpringBoot的集成案例&#xff0c;希望对大…

Ubuntu的基本用法与指令(为后面学习ROS打基础)

目录 0.声明&#xff1a;此博客的部分内容来自B站up主 机器人工匠阿杰&#xff0c;欢迎大家前往up主视频区学习&#xff08;本人正在跟随此up主的视频学习无人机的部分相关知识&#xff09; 1.win空格&#xff08;切换中英文&#xff09; 2.终端指令 1.ls&#xff1a;显示主…

数据结构-3.4.队列的基本概念

一.队列的定义&#xff1a; 1.图解&#xff1a; 2.重要术语&#xff1a; 空队列&#xff1a;队列中不含任何元素。 二.队列的基本操作&#xff1a; 三.总结&#xff1a;

神经网络(一):神经网络入门

文章目录 一、神经网络1.1神经元结构1.2单层神经网络&#xff1a;单层感知机1.3两层神经网络&#xff1a;多层感知机1.4多层神经网络 二、全连接神经网络2.1基本结构2.2激活函数、前向传播、反向传播、损失函数2.2.1激活函数的意义2.2.2前向传播2.2.3损失函数、反向传播2.2.4梯…

NLP 文本分类任务核心梳理

解决思路 分解为多个独立二分类任务将多标签分类转化为多分类问题更换 loss 直接由模型进行多标签分类 数据稀疏问题 标注更多数据&#xff0c;核心解决方案&#xff1a; 自己构造训练样本 数据增强&#xff0c;如使用 chatGPT 来构造数据更换模型 减少数据需求增加规则弥补…

LaTex符号不好记忆?

总结在Matlab中常用的LaTeX符号如下&#xff1a; 1. **希腊字母**&#xff1a; - \alpha 表示 α - \beta 表示 β - \gamma 表示 γ - \delta 表示 δ - \epsilon 表示 ε - \zeta 表示 ζ - \eta 表示 η - \theta 表示 θ - \iota 表示 ι -…

安全的价值:构建现代企业的基础

物理安全对于组织来说并不是事后才考虑的问题&#xff1a;它是关键的基础设施。零售商、医疗保健提供商、市政当局、学校和所有其他类型的组织都依赖安全系统来保障其人员和场所的安全。 随着安全技术能力的不断发展&#xff0c;许多组织正在以更广泛的视角看待他们的投资&am…

Codeforces Round 975 (Div. 2)

传送门&#xff1a;https://codeforces.com/contest/2019 B. All Pairs Segments 题意&#xff1a; 首先样例解释一下&#xff1a; 一共有&#xff1a;[1,2],[1,3],[1,5],[1,6],[1,7],[2,3],[2,5],[2,6],[2,7],[3,5],[3,6],[3,7],[5,6],[5,7],[6,7] 点 1&#xff0c;7 在5个…

Mac电脑上最简单安装Python的方式

背景 最近换了一台新的 MacBook Air 电脑&#xff0c;所有的开发软件都没有了&#xff0c;需要重新配环境&#xff0c;而我现在最常用的开发程序就是Python。这篇文章记录一下我新Mac电脑安装Python的全过程&#xff0c;也给大家一些思路上的提醒。 以下是我新电脑的配置&…

Django项目配置日志

需求 在Django项目中实现控制台输出到日志文件&#xff0c;并且设置固定的大小以及当超过指定大小后覆盖最早的信息。 系统日志 使用Django自带的配置&#xff0c;可以自动记录Django的系统日志。 可以使用logging模块来配置。下面是一个完整的示例代码&#xff0c;展示了如…

xxl-job 适配达梦数据库

前言 在数字化转型的浪潮中&#xff0c;任务调度成为了后端服务不可或缺的一部分。XXL-JOB 是一个轻量级、分布式的任务调度框架&#xff0c;广泛应用于各种业务场景。达梦数据库&#xff08;DM&#xff09;&#xff0c;作为一款国内领先的数据库产品&#xff0c;已经被越来越…

Redis篇(应用案例 - 商户查询缓存)

目录 一、什么是缓存? 二、为什么要使用缓存 三、如何使用缓存 四、添加商户缓存 1. 缓存模型和思路 2. 代码如下 五、缓存更新策略 1. 内存淘汰 2. 超时剔除 3. 主动更新 六、数据库缓存不一致解决方案 1. 数据库缓存不一致解决方案 2. 数据库和缓存不一致采用什…

AMD ROCm™ 安装指南

AMD ROCm™ installation — ROCm Blogs 注意: 本文之前是 AMD 实验笔记博客系列的一部分。 AMD ROCm™ 是第一个面向 HPC/超大规模级 GPU 计算的开源软件开发平台。AMD ROCm™ 将 UNIX 的选择权、极简主义和模块化软件开发哲学引入 GPU 计算领域。有关更多信息&#xff0c;请参…

搜索引擎简介

搜索引擎架构 整个搜索引擎分为三个系统 爬虫系统 索引系统 线上搜素服务 爬虫系统 爬虫分为两个阶段&#xff1a; 第一阶段&#xff1a;根据目标网站的列表页&#xff0c;爬对应的文档 URL 第二阶段&#xff1a;根据文档 URL&#xff0c;下载文档内容 触发器&#xff1…

【行业报告】AI大模型对我国劳动力市场潜在影响研究报告(2024),附PDF下载!!

前言 9月13日&#xff0c;北京大学国家发展研究院联合智联招聘在中国国际服务贸易交易会上发布的《AI大模型对我国劳动力市场潜在影响研究&#xff1a;2024》&#xff08;以下简称“报告”&#xff09;显示&#xff0c;2024年上半年&#xff0c;招聘职位数同比增速前五的人工智…

数据结构——二叉树的性质和存储结构

二叉树的抽象类型定义 基本操作&#xff1a; CreateBiTree(&T&#xff0c;definition) 初始条件&#xff1a;definition给出二叉树T的定义。 操作结果:按definition构造二叉树T。 PreOrderTraverse(T) 初始条件:二叉树T存在。 操作结果:先序遍历T&#xff0c;对每个结…