kubernetes promethues预警、报警
k8s addon中prometheus为测试事例,官方推荐生产环境使用Prometheus Operator and kube-prometheus.
1.clone 源码
git clone https://github.com/coreos/prometheus-operator.git
2.不进行报警设置
cd prometheus-operator/contrib/kube-prometheus/
2.1)设置对应的service对外开放端口NodePort
alertmanager-service.yamld 、grafana-service.yaml 、prometheus-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
alertmanager: main
name: alertmanager-main
namespace: monitoring
spec:
ports:
- name: web
port:
targetPort: web
nodePort:
type: NodePort
selector:
alertmanager: main
app: alertmanager
apiVersion: v1
kind: Service
metadata:
name: grafana
namespace: monitoring
spec:
ports:
- name: http
port:
targetPort: http
nodePort:
type: NodePort
selector:
app: grafana
apiVersion: v1
kind: Service
metadata:
labels:
prometheus: k8s
name: prometheus-k8s
namespace: monitoring
spec:
ports:
- name: web
port:
targetPort: web
nodePort:
type: NodePort
selector:
app: prometheus
prometheus: k8s
2.2)快速启动
kubectl create -f manifests/
2.3)查看结果


3.进行发送邮件报警设置
cd prometheus-operator/contrib/
mkdir my-kube-prometheus
cd my-kube-prometheus
3.1)安装jb
go get github.com/jsonnet-bundler/jsonnet-bundler/cmd/jb
3.2)安装gojsontoyaml
go get github.com/brancz/gojsontoyaml
3.3)设置环境变量
export PATH=$PATH:/root/go/bin
3.4)install kube-prometheus
$ jb init
$ jb install github.com/coreos/prometheus-operator/contrib/kube-prometheus/jsonnet/kube-prometheus
配置alertmanager 使之可以发送邮件
cd vendor/kube-prometheus/alertmanager/
vi alertmanager.libsonnet

3.5)vi manifestsContent.jsonnet
local kp = (import 'kube-prometheus/kube-prometheus.libsonnet') + {
_config+:: {
namespace: 'monitoring',
},
}; { ['00namespace-' + name]: kp.kubePrometheus[name] for name in std.objectFields(kp.kubePrometheus) } +
{ ['0prometheus-operator-' + name]: kp.prometheusOperator[name] for name in std.objectFields(kp.prometheusOperator) } +
{ ['node-exporter-' + name]: kp.nodeExporter[name] for name in std.objectFields(kp.nodeExporter) } +
{ ['kube-state-metrics-' + name]: kp.kubeStateMetrics[name] for name in std.objectFields(kp.kubeStateMetrics) } +
{ ['alertmanager-' + name]: kp.alertmanager[name] for name in std.objectFields(kp.alertmanager) } +
{ ['prometheus-' + name]: kp.prometheus[name] for name in std.objectFields(kp.prometheus) } +
{ ['grafana-' + name]: kp.grafana[name] for name in std.objectFields(kp.grafana) }
manifestsContent.jsonnet
3.6)vi generate-manifest.sh
#!/usr/bin/env bash
set -e
set -x
# only exit with zero if all commands of the pipeline exit successfully
set -o pipefail # Make sure to start with a clean 'manifests' dir
rm -rf manifests
mkdir manifests # optional, but we would like to generate yaml, not json
jsonnet -J vendor -m manifests manifestsContent.jsonnet | xargs -I{} sh -c 'cat $1 | gojsontoyaml > $1.yaml; rm -f $1' -- {}
generate-manifest.sh
注意: 3.5和3.6 所在目录
3.7)安装jsonnet
git clone https://github.com/google/jsonnet.git
3.7.1)安装gcc-c++
yum install gcc-c++
3.7.2)编译jsonnet
make
3.7.3)查看是否安装成功
./jsonnet -h
3.7.4)设置jsonnet环境变量
export PATH=$PATH:/data/tools/jsonnet
3.8)启动 generate-manifest.sh
cd /data/prometheus-operator/contrib/my-kube-prometheus/
./generate-manifest.sh
生成manifests文件夹
cd manifests
设置对应的service对外暴露端口 NodePort
3.9)启动服务
kubectl create -f manifests/
kubernetes promethues预警、报警的更多相关文章
- Kubernetes+Promethues+Cloud Alert实践分享
前言 容器集群管理系统 Kubernetes(简称K8s),为容器化的应用提供部署运行.容器编排.负载均衡.服务发现和动态伸缩等一系列完整功能,Prometheus 对 K8s 支持非常棒,能够自动发 ...
- Kubernetes集群的监控报警策略最佳实践
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79652064 本文为Kub ...
- iNeuOS工业互联网操作系统,设备振动状态监测、预警和分析应用案例
目 录 1. 概述... 2 2. 系统部署结构... 2 3. 系统应用介绍... 4 4. 专业分析人员... 8 5. 应用案例分享 ...
- Rancher 容器管理平台-实战训练营-免费视频培训
2018年5月-2019年5月免费培训视频(共21期): http://e.vhall.com/user/home/20160226 培训简介: Rancher2.0版基于开源的Kubernete ...
- echarts故障统计多维柱状图 堆叠柱状图 柱状图Demo2
黑底:echarts链接:http://gallery.echartsjs.com/editor.html?c=xnP8JPeu4R option = { backgroundColor: 'blac ...
- Zabbix + Cloud Alert 实践分享
前言 如果要问老牌开源监控工具泰斗,当zabbix莫属.之前已分享过 [Kubernetes+Promethues+Cloud Alert实践分享],本篇将继续分享 Zabbix + Cloud Al ...
- Zabbix 预警问题-预警对应的用户报警媒介收不到
问题背景 公司现在有这种需求,需要我们对关键的预警发送到对应的项目组负责人,比如 保险项目组的服务器预警大于警告的预警发送到保险负责人的邮箱(也会发送给运维的,背锅逃不掉的). 进行创建一个 用户群组 ...
- kubernetes集群全栈监控报警方案kube-prometheus
参考文档 http://www.servicemesher.com/blog/prometheus-operator-manual/ https://github.com/coreos/prometh ...
- iNeuOS工业互联平台,WEB组态(iNeuView)集成实时预警和报警柱状图
目 录 1. 概述... 2 2. 平台演示... 2 3. 应用过程... 2 4. 实时数据展示效果... 3 1. 概述 对于我们 ...
随机推荐
- bootstrap 模态框事件
事件 描述 实例 show.bs.modal 在调用 show 方法后触发. $('#identifier').on('show.bs.modal', function () { // 执行一些动作. ...
- Day 05 可变不可变、数据类型内置方法
1.可变类型:值改变,但是id不变,证明就是改变原值,是可变类型 2.不可变类型:值改变,但是id也跟着改变,证明是产生新的值,是不可变类型 数字类型 一.整型int 1.用途:记录年龄.等级.数量 ...
- 如何在myeclipse中安装spket插件
在web开发中,经常会遇到自动提示,比如jquery.extjs等,在myeclipse写这些代码时需要自动提示,就需要安装spket插件,具体方法见下面 工具/原料 myeclipse spke ...
- sqlserver存储过程sp_send_dbmail邮件(html)实际应用
前段时间因工作需求,特地学习了下sp_send_dbmail的使用,发现网上的示例对我这样的菜鸟太不友好/(ㄒoㄒ)/~~,好不容易完工来和大家分享一下,不谈理论,只管实践! 如下是实际需求: -- ...
- 前端-JavaScript1-4——JavaScript之变量
变量(Variables),和高中代数学习的x.y.z很像,它们不是字母,而是蕴含值的符号. 它和直接量不同,直接量5,就是数字5:直接量”你好”就是字符串“你好”.现在这个变量不一样了,你看见一个a ...
- 学习笔记之机器学习(Machine Learning)
机器学习 - 维基百科,自由的百科全书 https://zh.wikipedia.org/wiki/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0 机器学习是人工智能的一个分 ...
- day31网络编程
网络编程1. 目标:编写一个C/S架构的软件 C/S: Client(用户端)--------基于网络----------Server(服务端) B/S: Browser-------基于 ...
- 自动配置pom文件,构建maven项目jar包依赖关系,找到jar包运用到jmeter
首先说下pom文件特别方便的优点: 什么是pom文件? POM(Project Object Model) 是Maven的基础. 它是一个XML文件,包含了Maven用来build项目所需要的项目配置 ...
- Android 开发 VectorDrawable 矢量图 (三)矢量图动画
VectorDrawable 矢量图 三部曲: Android 开发 VectorDrawable 矢量图 (一)了解Android矢量图与获取矢量图 Android 开发 VectorDrawabl ...
- 【学习】数据处理基础知识(基本功能)【pandas】
本章介绍pandas的重要功能,只记录一些重点内容 1.重新索引 pandas对象的一个重要方法是reindex,其作用是创建一个适应用新索引的新对象 #重新索引 obj = pd.Series([4 ...