文档章节

kubernetes promethues预警、报警

o
 osc_c4xow9p9
发布于 2018/06/13 09:59
字数 492
阅读 69
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

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: 9093
    targetPort: web
    nodePort: 30093
  type: NodePort
  selector:
    alertmanager: main
    app: alertmanager
View Code
apiVersion: v1
kind: Service
metadata:
  name: grafana
  namespace: monitoring
spec:
  ports:
  - name: http
    port: 3000
    targetPort: http
    nodePort: 30300
  type: NodePort
  selector:
    app: grafana
View Code
apiVersion: v1
kind: Service
metadata:
  labels:
    prometheus: k8s
  name: prometheus-k8s
  namespace: monitoring
spec:
  ports:
  - name: web
    port: 9090
    targetPort: web
    nodePort: 30909
  type: NodePort
  selector:
    app: prometheus
    prometheus: k8s
View Code

 

  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/


o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Hadoop 管理监控工具--Apache Ambari

Apache Ambari 是一个基于 Web 的 Apache Hadoop 集群的供应、管理和监控。Ambari目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。 Ap...

匿名
2012/12/25
2.9W
3
Kubernetes网络分析-Container间通信

本文假设你已经搭建好了Kubernetes集群,那么请求是如何到达POD,然后被Container处理的。都是干货。 如果没听说过Kubernetes,不知道POD是什么,请先参考: http://www.infoq.com/cn/articl...

xue777hua
2015/10/09
4.4K
6
OSSIM中主动与被动探测工具(pads+pf0+arpwatch)组合应用

OSSIM中主动与被动探测工具(pads+pf0+arpwatch)组合应用 OSSIM不仅降低了大家涉足IDS的门槛,而且为各种复杂的应用提供了一种快捷的平台,其中核心技术之一就是基于插件的事件提取,系统内...

OSSIM
2015/10/25
610
0
【开源】.net 分布式架构之监控平台

开源地址: http://git.oschina.net/chejiangyi/Dyd.BaseService.Monitor .net 简单监控平台,用于集群的性能监控,应用耗时监控管理,统一日志管理等多维度的性能监控分析。 集群的性能监控:...

车江毅
2015/09/24
6.5K
21
CentOS 7 YUM 搭建Kubernetes 1.0

Kubernetes 日前终于发布了稳定版 1.0, 本文将要出一个系列的文章来讲述如何搭建环境,部署服务,网络分析,升级服务,备份数据,最后到达如何对Kubernetes进行二次发。 1. CentOS7 YUM 搭建...

xue777hua
2015/09/06
7.8K
14

没有更多内容

加载失败,请刷新页面

加载更多

Smartbi数据分析工具处理大数据性能如何?

为什么需要跨库整合能力 Smartbi支持多种数据源轻松接入,基本涵盖了市面上所有主流的数据库。无可否认多元的数据连接能力使Smartbi能快速连接现有数据源,构建统一的数据分析平台。但在项目...

osc_w0uxg75l
21分钟前
0
0
深入Vue 底层原理以及运行机制

Vue,React 这样的框架可以说是现在前端的必备技能,一个刚入门两三个月的前端都是要会Vue的,而且随着Vue3.0发布日程的推进,使用的人群变得多了,开始想去了解它。 Vue这么受大众接受,那么...

五月君
今天
0
0
好用的Excel大数据分析工具

为什么需要Excel分析 自助BI使得BI不再是高管领导的专利,促成了BI的平民化,更是BI的发展趋势。但自助BI工具的选择却并不简单,很多厂商推出了自己的自助分析工具,但在企业的使用过程中,实...

osc_vuza8uho
22分钟前
6
0
企业玩转DevOps转型:由弱到强,只需7步

【摘要】 在参考业界方法并总结客户成功故事的基础上,本文提出了“七步法”路线图,希望能帮助更多的企业顺利进行DevOps转型。 从2009年诞生,DevOps已经悄然走过了10多个年头。Gartner在技...

华为云开发者社区
23分钟前
0
0
浙江日报丨AI赋能,如何抢占“智”高点

  今天在杭州市余杭区秒优服饰智能工厂,机器人将订单所需的面料辅料精准送到各个吊挂生产线,每台机器、每个工人的具体任务、实时进度等都化为大数据,显示在工厂的大屏幕上。作为一家今年...

osc_wfvuuuju
23分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部