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预警、报警的更多相关文章

  1. Kubernetes+Promethues+Cloud Alert实践分享

    前言 容器集群管理系统 Kubernetes(简称K8s),为容器化的应用提供部署运行.容器编排.负载均衡.服务发现和动态伸缩等一系列完整功能,Prometheus 对 K8s 支持非常棒,能够自动发 ...

  2. Kubernetes集群的监控报警策略最佳实践

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/M2l0ZgSsVc7r69eFdTj/article/details/79652064 本文为Kub ...

  3. iNeuOS工业互联网操作系统,设备振动状态监测、预警和分析应用案例

    目       录 1.      概述... 2 2.      系统部署结构... 2 3.      系统应用介绍... 4 4.      专业分析人员... 8 5.      应用案例分享 ...

  4. Rancher 容器管理平台-实战训练营-免费视频培训

      2018年5月-2019年5月免费培训视频(共21期): http://e.vhall.com/user/home/20160226 培训简介: Rancher2.0版基于开源的Kubernete ...

  5. echarts故障统计多维柱状图 堆叠柱状图 柱状图Demo2

    黑底:echarts链接:http://gallery.echartsjs.com/editor.html?c=xnP8JPeu4R option = { backgroundColor: 'blac ...

  6. Zabbix + Cloud Alert 实践分享

    前言 如果要问老牌开源监控工具泰斗,当zabbix莫属.之前已分享过 [Kubernetes+Promethues+Cloud Alert实践分享],本篇将继续分享 Zabbix + Cloud Al ...

  7. Zabbix 预警问题-预警对应的用户报警媒介收不到

    问题背景 公司现在有这种需求,需要我们对关键的预警发送到对应的项目组负责人,比如 保险项目组的服务器预警大于警告的预警发送到保险负责人的邮箱(也会发送给运维的,背锅逃不掉的). 进行创建一个 用户群组 ...

  8. kubernetes集群全栈监控报警方案kube-prometheus

    参考文档 http://www.servicemesher.com/blog/prometheus-operator-manual/ https://github.com/coreos/prometh ...

  9. iNeuOS工业互联平台,WEB组态(iNeuView)集成实时预警和报警柱状图

    目       录 1.      概述... 2 2.      平台演示... 2 3.      应用过程... 2 4.      实时数据展示效果... 3  1.      概述 对于我们 ...

随机推荐

  1. Flutter 学习资料

    Flutter 学习资料: 学习资料 网址 Flutter 中文网 https://flutterchina.club/ <Flutter实战>电子书 https://book.flutt ...

  2. Eclipse+PyDev 安装和配置

    Eclipse+PyDev 安装和配置 2012-03-17 23:23:23 | 17465次阅读 | 评论:0 条 |  Python开发有很多工具,其中Eclipse+Pydev 是最常见的一种 ...

  3. laravel框架容器管理

    来自http://www.cnblogs.com/chy1000/p/7072936.html 本文面向php语言的laravel框架的用户,介绍一些laravel框架里面容器管理方面的使用要点.文章 ...

  4. problem:vue组件局部刷新,在组件销毁(destroyed)时取消刷新无效问题

    场景: 一个群发消息列表(数组) 列表下有多条消息(元素) 每条正在发送的消息数据状态需要实时刷新,发送完成时需要显示成功提示符合且不需要刷新,然后3秒消失.首次显示列表时,已经成功的状态不显示这个成 ...

  5. 简单分析下mybatis中mapper文件中小知识

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE mapper PUBLIC "-// ...

  6. 刘志梅201771010115.《面向对象程序设计(java)》第二周学习总结

    实验二 Java基本程序设计(1) 实验时间 2018-9-6 第一部分:理论知识学习 3.1一个简单的Java应用程序 关键字public称为访问修饰符,这些修饰符用于控制程序的其他部分对这段代码的 ...

  7. linux 配置vue环境

    系统 [root@Gao conf.d]# uname -a 工具 1.Final Shell 2.工具截图 需要下载的部分 node.js    npm   cnpm   vue-cli 安装nod ...

  8. cookies的常见方式

    cookie有如下特点 保存在客户端,一般由浏览器负责存储在本地. 通常是加密存储的,不过由于存储在本地,很难保证数据不被非法访问,并不怎么安全,所以cookies中不宜保存敏感信息,如密码等. 哪些 ...

  9. uva-10602-贪心

    题意:有个编辑器,支持三种操作,摁下一个键盘上的字符,重复最后一个单词,删除最后一个字符.给N个字符串,必须先在编辑器内输入第一个字符, 问,输入完所有字符串最少需要摁下多少次键盘. 最多100个字符 ...

  10. linux 查看文件显示行号

    1.用vi或vim打开文件显示行号: 显示当前行号:  :nu 显示所有行号:  :set nu 2.设置服务器显示行号 2.1编辑~/.vimrc文件,在该文件中加入 set nu 2.2在UBUN ...