Prometheus

Prometheus监控系列最佳实践

為{幸葍}努か 提交于 2020-03-21 22:12:42
Prometheus是继kubernetes第二个从CNCF中毕业的项目,个人也是非常的喜欢这款通过数据指标发现和预测告警的开源监控平台,官方的话就不多说了,根据官网的介绍有以下功能,但是有些简短的概括了你也不一定知道,所以加了一些个人的白话 官方截图 Prometheus之白话文一段 实现高纬度的数据模型 时间序列数据通过 metric 名和键值对来区分,这里你可以区分多(隔离)环境的监控指标。 所有的 metrics 都可以设置任意的多维标签,可以自定义添加多个,比如这个服务的监控属于哪个团队的。 数据模型更随意,不需要刻意设置为以点分隔的字符串; 可以对数据模型进行聚合,切割和切片操作; 支持双精度浮点类型,标签可以设为全 unicode; 看到这可能你还是不知道啥意思,那就等接下来用到的时候就恍然大悟了... 强大的PromQL语句 支持查询语句,可以通过PromSQL进行数值之间的比较 可以通过PromSQL内嵌的函数计算指标的变化,比如平均值,增长率等等... 出色的可视化 个人觉得一点都不咋出色,哈哈,还是结合 Grafana 使用吧,毕竟人家专业啊~ 高效的存储 可以根据需求设置指标数据的存储天数,也可以持久化存储,比如通过 remotestorageadapter 使用简单 部署简单 支持动态发现 支持热加载 支持配置文件格式检查 精准的告警 告警指的不是

如何使用 Thanos 实现 Prometheus 多集群监控

拈花ヽ惹草 提交于 2020-03-20 15:17:45
3 月,跳不动了?>>> Prometheus 是 Kubernetes 中默认的监控方案,它专注于告警和收集存储最近的监控指标。但在一定的集群规模下,Prometheus 也暴露出一些问题。例如:如何以经济可靠的方式存储 PB 级别的历史数据,并且不牺牲查询时间?如何通过单一的查询接口访问到不同 Prometheus 服务器上的所有指标数据?能否以某种方式合并采集到的重复数据?针对以上的这些问题, Thanos 提供了高可用的的解决方案,并且它有着不受限制的数据存储能力。 Thanos Thanos 基于 Prometheus。当我们以不同方式使用 Thanos 时,或多或少都会用到 Prometheus 功能,但是 Prometheus 始终是指标收集和使用本地数据进行预警功能的基础。 Thanos 使用 Prometheus 存储格式,把历史数据以相对高性价比的方式保存在对象存储里,同时兼有较快的查询速度。此外,它还能对你所有的 Prometheus 提供全局查询视图。 依据 KISS 原则和 Unix 哲学,Thanos 划分如下特定功能的组件。 边车组件(Sidecar):连接Prometheus,并把Prometheus暴露给查询网关(Querier/Query),以供实时查询,并且可以上传Prometheus数据给云存储,以供长期保存; 查询网关(Querier

快速实现钉钉告警通知、处理告警、关闭告警

大兔子大兔子 提交于 2020-03-19 13:58:11
3 月,跳不动了?>>> 钉钉目前已经成为大多数公司必备的软件,无论是上下班快速方便的远程打卡,从而避免了迟到的尴尬局面;还是快速的接收公司第一手消息,从而有效的加快工作的效率。 对于实现告警通知到钉钉群当中,目前部分主流监控系统可以通过编写代码的方式实现,但是通知的告警内容不够明显,导致寻找关键问题原因的时间过长,并且也无法判定告警是否被处理,这就会大幅影响运维人员的工作效率。 睿象云智能告警平台Cloud Alert (以下简称为CA)作为中国第一个 SaaS 模式的云告警平台,就完美的解决了上述问题,从CA平台接入到钉钉群的告警通知,可以清楚的看到告警标题、告警编号、告警时间、告警级别、告警应用、告警内容;用户可以直接在钉钉群中进行认领、关闭等操作。接下来就说下接入步骤吧~ 主要分为两步,第一步是将监控平台接入到CA当中,第二步是设置钉钉的通知方式。 将监控平台接入到 CA 中 进入Cloud Alert,点击集成-监控工具,选择您的监控工具进行集成,目前支持的有Zabbix、Prometheus、Nagios、Open-Falcon、AWS、阿里云、Cacti、solarwinds、睿象云、监控宝、Grafana 、Vmware、Site24x7、如果上述都没有支持你的监控系统,那还可以用通用集成rest api和邮箱集成。 设置钉钉的通知方式 在PC端钉钉中,点击头像

Prometheusf安装使用

吃可爱长大的小学妹 提交于 2020-03-18 22:50:33
3 月,跳不动了?>>> 参考 https://blog.51cto.com/14157628/2473866?source=dra 在部署Prometheus之前,由于实验环境,配置较低,所以将原本的dashboard、Scope进行删除了! 在真正部署Prometheus之前,应了解一下Prometheus的各个组件之间的关系及作用: 1)MertricServer:是k8s集群资源使用情况的聚合器,收集数据给K8s集群内使用,如:kubectl,hpa,scheduler; 2)PrometheusOperator:是一个系统检测和警报工具箱,用来存储监控数据; 3)NodeExporter:用于各node的关键度量指标状态数据; 4)kubeStateMetrics:收集k8s集群内资源对象数据,指定告警规则; 5)Prometheus:采用pull方式收集apiserver,scheduler,controller-manager,kubelet组件数据,通过http协议传输; 6)Grafana:是可视化数据统计和监控平台; 1)获取yaml文件修改并执行 注意:这里部署的Prometheus,并不是Prometheus官网提供的,而是使用的coreos提供的Prometheus项目。 如图: 修改以下文件的 镜像地址quay.io/替换为 quay-mirror

grafana+prometheus搭建监控系统

社会主义新天地 提交于 2020-03-18 16:29:00
1.简介 本文是基于Linux centos7搭建 2.下载安装 ①下载grafana的yum源 关于grafana的安装,网上有很多: 在 /etc/yum.repos.d/grafana.repo配置源文件 yum install grafana直接安装的,我试了没有成功,所以才用了下载yum的rpm源进行安装 如果熟悉docker的同学,那就很方便了,完全不用这么麻烦了 安装其实很简单 安装完成后 systemctl start grafana-service 启动服务 使用ip加端口进行访问,不是在本地打开,记得防火墙规则中开放对应的端口 ②安装prometheus 下载后进行解压缩 wget https://github.com/prometheus/prometheus/releases/download/v2.17.0-rc.1/prometheus-2.17.0-rc.1.linux-amd64.tar.gz tar -xvf prometheus-2.17.0-rc.1.linux-amd64.tar.gz 下载所需要的监控 使用上述方法 mysql_exporter需要配置账号密 首先创建账号密码 GRANT REPLICATION CLIENT, PROCESS, SELECT ON *.* TO 'mysql_monitor'@ '%' IDENTIFIED

K8S实践Ⅸ(集群监控)

陌路散爱 提交于 2020-03-18 13:52:03
一、PrometheusOperator介绍 PrometheusOperator是CoreOS开源的一套用于管理在Kubernetes集群上的Prometheus的控制器,简化在Kubernetes上部署、管理和运行Prometheus和Alertmanager集群的操作。 二、部署 1.从官方下载部署文件 # git clone https://github.com/coreos/kube-prometheus.git 2.更改镜像仓库地址 # mkdir prometheus # cp kube-prometheus/manifests/* prometheus/ # sed -i 's#k8s.gcr.io#gcr.azk8s.cn/google_containers#g' prometheus/* # sed -i 's#quay.io#quay.azk8s.cn#g' prometheus/* # cat prometheus/* | grep image 3.部署所有资源 # kubectl apply -f prometheus/ 4.查看创建的ns和crd # kubectl get ns |grep monitoring monitoring Active 3m30s # kubectl get crd NAME CREATED AT alertmanagers

Eureka Server prometheus监控服务健康状态

此生再无相见时 提交于 2020-03-13 19:49:53
背景   服务进程监控一般都有相关组件处理了,早期业务出现特定服务使用的DB资源超过额配量,导致健康检测失败,服务陆续从Eureka下线了,业务监控在没路由到特定节点时候,或者路由到特定节点但没有碰到阈值场景不会触发告警,意味着业务短暂性正常,服务陆续下线;Eureka server 作为注册中心可以较早感知到服务注册状态,实例节点挂了(注册上的实例少了)、节点状态非UP 场景 监控方案 Eureka定时采集注册信息,实例节点数、实例节点状态信息 prometheus 定时采集Eureka server 采集到的数据 grafana 查询及对数据告警 Eureka注册信息数据采集 metric 数据结构定义 统计节点状态 type:Gauge eureka_instance_status{client="{client}",status="{status}"} client : eureka client application name status 枚举 状态 枚举值 UP 1 DOWN 5 STARTING 2 OUT_OF_SERVICE 3 UNKNOW 4 最近n时间内平均值大于1,表示异常,执行告警 统计节点数量 type:Gauge eureka_instance_count{client="{client}",count="{count}"} client :

k8s部署prometheus

﹥>﹥吖頭↗ 提交于 2020-03-13 11:02:28
https://www.kancloud.cn/huyipow/prometheus/527092 https://songjiayang.gitbooks.io/prometheus/content/demo/target.html 创建 monitoring namespaces apiVersion: v1 kind: Namespace metadata: name: monitoring Prometheus RBAC 权限管理 创建prometheus-k8s 角色账号 apiVersion: v1 kind: ServiceAccount metadata: name: prometheus-k8s namespace: monitoring 在kube-system 与 monitoring namespaces 空间,创建 prometheus-k8s 角色用户权限 。 apiVersion: rbac.authorization.k8s.io/v1beta1 kind: Role metadata: name: prometheus-k8s namespace: monitoring rules: - apiGroups: [""] resources: - nodes - services - endpoints - pods verbs: ["get",

如何在企业微信中告警的通知、认领和关闭?

我们两清 提交于 2020-03-12 17:03:08
企业微信是腾讯微信团队打造的企业通讯与办公工具,具有与微信一致的沟通体验,丰富的OA应用,和连接微信生态的能力,可帮助企业连接内部、连接生态伙伴、连接消费者。专业协作、安全管理、人即服务。成为了大部分企业的主流办公应用。 在当下疫情期间,将告警不遗漏的发送到企业微信,并且能够快速的认领和关闭,达到第一时间处理的效果,就是一个最好的选择。 睿象云智能告警平台Cloud Alert (以下简称为CA)作为中国第一个 SaaS 模式的云告警平台,就完美的解决了上述问题,从CA平台接入到企业微信群的告警通知,可以清楚的看到告警编号、告警时间、告警级别、告警内容;用户可以直接在企业微信群中进行认领、关闭等操作。接下来就说下接入步骤吧~ 主要分为两步,第一步是将监控平台接入到CA当中,第二步是设置钉钉的通知方式。 将监控平台接入到 CA 中 进入Cloud Alert,点击集成-监控工具,选择您的监控工具进行集成,目前支持的有Zabbix、Prometheus、Nagios、Open-Falcon、AWS、阿里云、Cacti、solarwinds、睿象云、监控宝、Grafana 、Vmware、Site24x7、如果上述都没有支持你的监控系统,那还可以用通用集成rest api和邮箱集成。 设置企业微信的通知方式 在PC端企业微信群中,右键点击群-添加群机器人 点击新创建一个机器人

******Prometheus(二)***********

戏子无情 提交于 2020-03-10 13:56:02
Prometheus的数据与安全模型: (1)Metric (度量)名字 就是描述采集数据的名称——例如,website_visits_total 作为网站访问总数。 名称可以包含ASCII字母、数字、下划线和冒号。 (2)标签(labels) 以_ _为前缀的标签名称保留给普罗米修斯的内部使用 (3)时间序列:就是 标签和服务名称构成<metric name>{<label name>=<label value>, ...} (4)Metric 保留时长 普罗米修斯因为是为短期监视和警报需求而设计的。默认情况下,它在本地数据库中保存了15天的时间序列。如果您 希望保留更长时间的数据,建议的方法是将所需的数据发送到远程的第三方平台。普罗米修斯具有向外部数据存 储写入的能力。 (5)安全模型 普罗米修斯可以通过多种方式进行配置和部署,它对信任做了两种宽泛的假设: 1. 不受信任的用户将能够访问普罗米修斯服务器的http api,从而访问所有数据库中的数据; 2. 只有收信任的用户才能狗访问普罗米修斯及其组建的命令行、配置文件等等。。 由于Prometheus 2.0, HTTP API的一些管理元素默认会被禁用。(用的第1种方式) 因此,普罗米修斯及其组件不提供任何服务器端身份验证、授权或加密。如果您在一个更安全的环境中工作, 您将需要实现额外的控制——例如