img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

选择Prometheus-Operator:

因为是prometheus主动去拉取的,所以在k8s里pod因为调度的原因导致pod的ip会发生变化,人工不可能去维持,自动发现有基于DNS的,但是新增还是有点麻烦。

Prometheus-operator的本职就是一组用户自定义的CRD资源以及Controller的实现,Prometheus Operator这个controller有BRAC权限下去负责监听这些自定义资源的变化,并且根据这些资源的定义自动化的完成如Prometheus Server自身以及配置的自动化管理工作。

promethues-operator的github地址:https://github.com/coreos/prometheus-operator.git

在按照github部署玩成promethues-operator之后,你会发现原始的配置文件是满足不了个人的需求的,比如我想实现邮件报警,以及增加grafana的Dashboard或者是datasource,如果直接在界面上增加的话 容器如果自动重启或者发布的话数据就不存在了,因为promethues-operator中的grafana的数据是以secret存放并且通过挂载的形式固化在容器里,每次重启之后就会重新读取该secret,那么通过界面配置的就会丢失,所以我们需要自定义配置重写secret。

自定义配置我们需要Jsonnet jb

jb 安装:

go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb

jsonnet安装:

go get github.com/google/go-jsonnet/cmd/jsonnet

go get github.com/brancz/gojsontoyaml

$ mkdir my-kube-prometheus; cd my-kube-prometheus

$ jb init # Creates the initial/empty jsonnetfile.json # Install the kube-prometheus dependency

$ jb install github.com/coreos/kube-prometheus/jsonnet/kube-prometheus@release-0.1

Creates vendor/ & jsonnetfile.lock.json, and fills in jsonnetfile.json

那么在my-kube-prometheus的目录结构就是:jsonnetfile.json jsonnetfile.lock.json vendor

之后我们需要将git clone https://github.com/coreos/kube-prometheus.git克隆下来

进入该目录/root/prometheus-operator/contrib/kube-prometheus 将build.sh和example.jsonnet 复制到

my-kube-prometheus的目录下

之后复制并修改example.jsonnet

其中es-dashboard.json就是grafana的dashboard的json数据 我们只要将grafana的json数据通过import导入就可以了,所以我们要在此目录下新建一个json文件es-dashboard.json

json的数据通过grafana 临时生成复制出json:

将以上json复制出来到es-dashboard.json,这样dashboard的数据就完成了

之后新加一个datasource用以支撑es-dashboard.json

修改grafana.libsonnet:

vim vendor/grafana/grafana.libsonnet

新增es的数据源:

{

name: ‘es’,

type: ‘elasticsearch’,

url: ‘http://elasticsearch-api.kube-system.svc.cluster.local:9200’,

access: ‘proxy’,

database: ‘[java-]YYYY.MM.DD’,

jsonData: {

esVersion: ‘56’,

interval: ‘Daily’ ,

maxConcurrentShardRequests: ‘2560’,

timeField: “@timestamp”,

},

之后通过./build.sh example.jsonnet 直接build,如果成功的话会生成manifests文件,并且该文件里会存在多个yaml文件:

如果之前已经按照官网的部署了那么我们只要replace grafana-dashboardDatasources.yaml,grafana-dashboardDefinitions.yaml 并且重启pod就可以了

效果图:

之后无论怎么重启配置将不会丢失

同样邮件也是类似,我这里直接贴我的配置

邮件报警配置路径在:/root/my-kube-prometheus/vendor/kube-prometheus/alertmanager

修改alertmanager.libsonnet:

_config+:: {

namespace: ‘default’,

versions+:: {

alertmanager: ‘v0.16.1’,

},

imageRepos+:: {

alertmanager: ‘quay.io/prometheus/alertmanager’,

},

alertmanager+:: {

name: $._config.alertmanager.name,

config: {

global: {

resolve_timeout: ‘5m’,

smtp_smarthost: ‘smtp.mxhichina.com:465’,

smtp_from: ‘*****************’,

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

045755)]
[外链图片转存中…(img-IgkiPWxT-1715820045755)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐