Prometheus

Flink 1.10 Container 环境实战

狂风中的少年 提交于 2020-08-20 05:29:00
作者 | 唐云(茶干),阿里巴巴高级开发工程师 整理 | 张壮壮(Flink 社区志愿者) 摘要:本文根据 Apache Flink 系列直播整理而成,由阿里巴巴高级开发工程师唐云(茶干)分享。主要内容如下: 容器管理系统的演变 Flink on K8S intro Flink on K8S实战分享 Demo Tips:点击下方可查看更多 1.10 系列直播视频~ 1.10系列直播: https://ververica.cn/developers/flink-training-course-1-10/ 本文第一部分将简明扼要地介绍容器管理系统的演变;第二部分是 Flink on K8S 简介,包括集群的部署模式调度原理等等;第三部分是我们这一年以来关于 Flink on K8S 的实战经验分享,介绍我们遇到的问题、踩过的坑;最后一部分是 Demo,将手把手演示集群部署、任务提交等等。 容器管理系统的演变 首先是以一个 Kubernetes 非内核开发人员的角度去探讨其和 YARN 之间的关系。众所周知,Apache Hadoop YARN 可能是在国内用途最广的一个调度系统,主要原因在于 Hadoop HDFS 在国内或者是在整个大数据业界,是一个使用最广泛的存储系统。因此,基于其上的 YARN 也自然而然成为了一个广为使用的一个调度系统,包括早期的 Hadoop

两天被打脸!还在用笨重的ELK?日志系统新贵Loki 杀到

喜欢而已 提交于 2020-08-20 01:34:08
正文 前两天,没错确实就是前两天,7.4号我发了一篇:老大要我搭建一个TB级的日志监控系统,听说 ELK 不错,大家看完纷纷点赞,但是今天我就来打脸了,打自己脸。没错,今天推荐下:日志系统新贵Loki 。 在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。 背景和动机 当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下: 我们的监控使用的是基于prometheus体系进行改造的,prometheus中比较重要的是metric和alert,metric是来说明当前或者历史达到了某个值,alert设置metric达到某个特定的基数触发了告警,但是这些信息明显是不够的。我们都知道,k8s的基本单位是pod,pod把日志输出到stdout和stderr,平时有什么问题我们通常在界面或者通过命令查看相关的日志,举个例子:当我们的某个pod的内存变得很大,触发了我们的alert,这个时候管理员,去页面查询确认是哪个pod有问题,然后要确认pod内存变大的原因,我们还需要去查询pod的日志,如果没有日志系统,那么我们就需要到页面或者使用命令进行查询了: 如果,这个时候应用突然挂了,这个时候我们就无法查到相关的日志了,所以需要引入日志系统

机房ping监控 smokeping+prometheus+grafana

非 Y 不嫁゛ 提交于 2020-08-19 22:29:35
一、前言 1、本监控方案主要由smokeping+promethues+grafana组成。smokeping主要数据采集,promethues作为数据存储,grafana数据展示 2、其实smokeping也有自己的展示方案,但是太low太难看,不符合当下装逼的风格,所以果断换成grafana 3、之所以使用promethues,是由于目前的生产环境有一个promethues,可以直接复用,当然也可以选用graphite等 二、环境准备 组件 版本 OS Ubuntu 16.04.4 LTS 三、smokeping smokeping的原理其实很简单,就是使用fping工具ping全国各省的IP,将结果存储在rrd文件当中 安装smokeping root@localhost:/tmp# apt-get install gcc make rrdtool librrds-perl librrds-dev openssh-client libcgi-fast-perl libconfig-grammar-perl libdigest-hmac-perl liblwp-protocol-https-perl liblwp-mediatypes-perl fpint root@localhost:/tmp# ./configure --prefix=/usr/local

alertmanager配置文件说明

半世苍凉 提交于 2020-08-19 22:09:30
alertmanager是通过命令行标记和配置文件配置的,命令行标记配置不可变的系统参数,配置文件定义抑制规则、通知路由和通知接收器。可以通过官方提供的 routing tree editor 查看配置的路由树详细信息 默认配置文件如下 [root@node00 ~]# cd /usr/local/prometheus/alertmanager/[root@node00 alertmanager]# cat alertmanager.yml.default global: resolve_timeout: 5m route: group_by: ['alertname'] group_wait: 10s group_interval: 10s repeat_interval: 1h receiver: 'web.hook'receivers:- name: 'web.hook' webhook_configs: - url: 'http://127.0.0.1:5001/'inhibit_rules: - source_match: severity: 'critical' target_match: severity: 'warning' equal: ['alertname', 'dev', 'instance'] 这个默认配置文件时通过一个webhook作为接受者

4.监控Redis

柔情痞子 提交于 2020-08-18 21:33:33
prometheus监控redis需要用到redis_exporter。 redis_exporter 项目地址: https://github.com/oliver006/redis_exporter 1、安装部署 我这里的redis部署在192.168.0.254之上,而prometheus服务端是在192.168.75.11上,这个时候,监控的工具redis_exporter可以部署在这两台主机任一一台上,只不过需要注意的是,在配置prometheus.yaml添加监控目标的时候,注意填写对应ip即可。 我这里则部署在了Prometheus Server之上。 cd /usr/local/src wget https://github.com/oliver006/redis_exporter/releases/download/v1.6.1/redis_exporter-v1.6.1.linux-amd64.tar.gz tar -zxv -f redis_exporter-v1.6.1.linux-amd64.tar.gz -C /usr/local/ cd /usr/local/ mv redis_exporter-v1.6.1.linux-arm64/ redis_exporter 2、redis_exporter 用法 解压后只有一个二进制程序就叫 redis

Kubernetes/K8s架构师实战集训营【中、高级班】-2020

試著忘記壹切 提交于 2020-08-18 12:38:09
下载地址: 【中级班】 链接: https://pan.baidu.com/s/1NXboN3REOEhKUa0KLx6x7w 提取码:hnur 【高级班】 链接: https://pan.baidu.com/s/1eYNq74qRnc1au3gnHU62jw 提取码:brjd 目录: 【01】:开班仪式 开班仪式:同学认识,内容综述及学习建议(3月3日 20:10-22:00) 【02】:Kubernetes 入门(上)-重新认识Docker 第1章:为什么要用容器?(3月8日 09:00-10:00) 第1章:Docker 基本使用(3月8日 10:00-12:00) 第1章:手把手教你制作镜像(Dockerfile)(3月8日 14:00-15:00) 第1章:Habor镜像仓库,企业Jenkins CI平台(3月8日 15:00-17:00) 第1章:Prometheus+Grafana 监控 Docker(3月8日 17:00-18:00) 【03】:Kubernetes 入门(下) 第2章:K8S 产生背景,核心概念(3月15日 09:00-10:00) 第3章:快速部署一个K8S集群(kubeadm)(3月15日 10:00-12:00) 第4章:kubectl命令行管理工具(3月15日 14:00-15:00) 第5章:服务编排(YAML)(3月15日 15:00

Kubernetes 教程:根据 PID 获取 Pod 名称

落花浮王杯 提交于 2020-08-18 10:06:40
原文链接: https://fuckcloudnative.io/posts/find-kubernetes-pod-info-from-process-id/ 在管理 Kubernetes 集群的过程中,我们经常会遇到这样一种情况:在某台节点上发现某个进程资源占用量很高,却又不知道是哪个容器里的进程。有没有办法可以根据 PID 快速找到 Pod 名称呢? 假设现在有一个 prometheus 进程的 PID 是 14338 : 为了进一步挖掘信息,有两种思路,一种是挖掘 PID 对应的容器的信息,另一种是挖掘 PID 对应的 Pod 的信息。 1. Container ID 要获取容器的 ID,可以查看 PID 对应的 cgroup 信息: $ cat /proc/14338/cgroup 11:blkio:/kubepods/burstable/pod8e018a8e-4aaa-4ac6-986a-1a5133a4bcf1/d6f24b62ea28e9e67f7bc06f98de083cc49454f353389cd396f5d3ac6448f19c 10:cpuset:/kubepods/burstable/pod8e018a8e-4aaa-4ac6-986a-1a5133a4bcf1

个人视频汇总

杀马特。学长 韩版系。学妹 提交于 2020-08-18 09:10:46
个人视频汇总 1、2020年深入浅出prometheus+grafana 企业监控应用 https://edu.51cto.com/sd/d075b 2、2020年深入浅出zabbix5.0 企业应用实战 https://edu.51cto.com/sd/8f88b 3、2020年Jumpserver堡垒机版本1.5.8企业落地实践 https://edu.51cto.com/sd/84158 4、2020年Redis5.0 从入门到企业应用实战视频教程 https://edu.51cto.com/sd/aa00f 5、2020年MongoDB 企业应用实战 基础 复制集 分片集群 https://edu.51cto.com/sd/1766d 6、2020年MySQL5.7系列实战课程--主从复制篇 https://edu.51cto.com/sd/c5e81 7、2020年MySQL5.7系列实战课程--高可用MHA与读写分离Atlas应用实战 https://edu.51cto.com/sd/f7955 来源: oschina 链接: https://my.oschina.net/u/4339343/blog/4365164

5.监控MySQL

做~自己de王妃 提交于 2020-08-18 08:43:25
prometheus监控MySQL需要用到mysql_exporter。 mysql_exporter 项目地址: https://github.com/prometheus/mysqld_exporter 1、安装部署 我这里的mysql部署在192.168.0.254之上,而prometheus服务端是在192.168.75.11上,这个时候,监控的工具mysql_exporter可以部署在这两台主机任一一台上,只不过需要注意的是,在配置prometheus.yaml添加监控目标的时候,注意填写对应ip即可。 我这里为了方便则部署在了192.168.75.11之上。 cd /usr/local/src wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz tar -zxv -f mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/ cd /usr/local/ mv mysqld_exporter-0.12.1.linux-amd64/ mysqld_exporter 2,授权连接。 想要获取监控数据,需要授权程序能够连接到MySQL。

prometheus-operator监控traefik-Ingress组件状态

老子叫甜甜 提交于 2020-08-17 23:51:43
系统环境: Prometheus Operator版本: 0.29 Kubernetes 版本: 1.14.0 一、Traefik 配置文件设置 Prometheus 要监控 Traefik 控制器,首先要控制 Traeik 将 Metrics 数据暴露出来,这需要在配置文件中加入下面配置: [ metrics] [ metrics.prometheus] entryPoint = "traefik" buckets = [ 0.1, 0.3, 1.2, 5.0] 安装 Traefik 时候已经将配置文件外挂到 Kubernetes ConfigMap 中,详情可以参考 Kubernetes 部署 Traefik Ingress 一文。 例如,集群中将 Traefik 配置文件挂载到 Kubernetes ConfigMap 中,可以用 “kubectl etid” 命令编辑 Traefik 配置文件,加上 Prometheus 配置,这里提供本人完整配置如下: $ kubectl edit ConfigMap traefik-config -n kube-system apiVersion: v1 data: traefik.toml: | # traefik.toml debug = true InsecureSkipVerify = true