Prometheus-Operator 自定义配置_prometheus-operator修改配置文件

$ 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: ‘*****************’,

smtp_auth_username: ‘******************’,

smtp_auth_password: '**********************,

smtp_require_tls: false,

},

route: {

group_by: [‘job’],

group_wait: ‘30s’,

group_interval: ‘5m’,

repeat_interval: ‘12h’,

receiver: ‘mail’,

routes: [

{

receiver: ‘mail’,

match: {

alertname: ‘DeadMansSwitch’,

},

},

],

},

坑:

alertmanager 配置邮件报错

time=“2019-03-03T08:46:47Z” level=error msg=“Error on notify: require_tls: true (default), but “smtp.icoremail.net:465” does not advertise the STARTTLS extension” source=“notify.go:283”

time=“2019-03-03T08:46:47Z” level=error msg=“Notify for 1 alerts failed: require_tls: true (default), but “smtp.icoremail.net:465” does not advertise the STARTTLS extension” source=“dispatch.go:262”

将 require_tls这是为false之后报错:

Prometheus Operator 是一个用于 Kubernetes 集群中部署、管理和扩展 Prometheus 的工具,它允许你通过 YAML 格式的配置文件来管理 Prometheus 和 AlertManager。若要在 Prometeus-Operator 中设置钉钉告警,你需要配置 Alertmanager 的外部发送器 (external senders),这里使用的是 Prometheus 的 webhook 函数。 以下是基本步骤: 1. **创建告警通知规则**: 在 `prometheus-operator` 库中,你需要定义一个 `AlertmanagerConfig` 资源,其中包含一个 webhook 的定义。例如,你可以创建一个名为 `alertmanager-prom-dingtalk.yml` 的文件: ```yaml apiVersion: monitoring.coreos.com/v1 kind: AlertmanagerConfig metadata: name: "dingtalk" spec: receivers: - name: dingtalk-receiver webhook_configs: - url: "<your_dingtalk_webhook_url>" httpMethod: POST insecureSkipTLSVerify: true alertNames: ["*"] # 如果你想要限制触发告警的通知只针对特定的labels,可以添加 labels selector # example: # matchLabels: # severity: "critical" ``` 将 `<your_dingtalk_webhook_url>` 替换为你实际的钉钉 webhook 接口地址。 2. **启动 webhook**: 确保你已经安装了 Alertmanager,并且启用了 webhook 功能。通常,webhook 需要在 Alertmanager 启动时启用。 3. **关联告警接收器到 Prometheus 实例**: 当你在 Prometheus配置文件中设置了相应的告警规则,你需要确保 Alertmanager 使用的配置包含了这个新的告警接收器。可以在 Prometheus配置 (`prometheus-operator` 自动创建的 `.Values.prometheus.alertmanagerConfig` 配置) 或者你自己创建的 `PrometheusRule` 对象中添加接收器引用。 4. **更新资源并验证**: 将上述配置应用到集群中,你可以使用 `kubectl apply -f <path_to_your_file>` 命令。然后查看 Alertmanager 日志,确认告警是否能成功发送到钉钉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值