
Prometheus & Grafana
文章平均质量分 80
监控
牛牛Blog
把学问过于用作装饰是虚假;完全依学问上的规则而断事是书生的怪癖
展开
-
kubernetes Pod已用内存监控分析
kubernetes Pod已用内存监控分析原创 2021-12-24 14:35:28 · 3313 阅读 · 0 评论 -
Promethuse-监控 Etcd
Prometheus监控Etcd集群==前提Prometheus是用Prometheus Operator安装的==安装方法: Prometheus Operator: https://www.qikqiak.com/post/first-use-prometheus-operator/ 监控Etcd: https://www.qikqiak.com/post/prometheus-operator-monitor-etcd/ 第一步建立一个 ServiceMonitor原创 2021-11-03 17:16:06 · 1953 阅读 · 0 评论 -
Promethues-Thanos多集群监控
介绍在本文中,我们将看到Prometheus监控技术栈的局限性,以及为什么移动到基于Thanos的技术栈可以提高指标留存率并降低总体基础设施成本。用于此演示的内容可以在下面链接中获取,并提交到他们各自的许可证。https://github.com/particuleio/teks/tree/main/terragrunt/live/thanoshttps://github.com/particuleio/terraform-kubernetes-addons/tree/main/modules/转载 2021-10-11 19:46:56 · 302 阅读 · 0 评论 -
全手动部署prometheus-operator监控Kubernetes集群遇到的坑
写这篇文章原因所有监控的agent底层最终都是查询的/proc和/sys里的信息推送(如果错了轻喷),因为在Kubernetes中收集宿主机信息方面也想用pod跑,会面临到问题。常见的zabbix_agent默认读取fs的/proc和/sys,容器跑agent会导致读取的不是宿主机的/proc和/sys。而prometheus的node-exporter有选项--path.procfs和--path.sysfs来指定从这俩选项的值的proc和sys读取,容器跑node-exporter只需要挂载原创 2021-08-30 21:47:30 · 1606 阅读 · 0 评论 -
helm安装prometheus-operator
一、环境介绍 1 2 3 4 5 6 7 8 [root@mastertest]# uname -r 4.4.223-1.el7.elrepo.x86_64 [root@mastertest]# kubectl get node NAME STATUS ROLES AGE VERSION master Ready master 27d v1.1...原创 2021-08-30 21:43:42 · 2233 阅读 · 0 评论 -
Kubernetes监控体系(19)-Kube-Prometheus PV持久化
注意:Prometheus-operator 已经改名为 Kube-promethues参考:https://www.liangzl.com/get-article-detail-126792.html https://blog.51cto.com/zgui2000/2388379 http://www.gdjmqj.com/news/hulianwang/10721.html系统参数:Prometheus Operator版本:0.29 (Prometheus Operator更名.原创 2021-08-23 18:56:43 · 2048 阅读 · 1 评论 -
Kubernetes监控体系(18)-Kube-Prometheus Operator
Kube-Prometheus Operator部署https://blog.youkuaiyun.com/twingao/article/details/105261641使用Prometheus Operator优雅的监控Kuberneteshttps://blog.youkuaiyun.com/travellersY/article/details/84632679原创 2021-07-30 21:07:34 · 182 阅读 · 0 评论 -
Kubernetes监控体系(17)-Prometheus Operator
什么是Prometheus Operator?为了在Kubernetes中能够方便管理和部署Prometheus,我们使用ConfigMap管理Prometheus配置文件。每次对Prometheus配置文件进行升级时,我们需要手动移除已经运行的Pod实例,从而让Kubernetes可以使用最新的配置文件创建Prometheus。而如果当应用实例的数量更多时,通过手动的方式部署和升级Prometheus过程繁琐并且效率低下。从本质上来讲Prometheus属于是典型的有状态应用,而其有包含了一些自身特有原创 2021-07-13 21:22:41 · 605 阅读 · 1 评论 -
Kubernetes监控体系(16)-prometheus基于consul的服务发现
1.prometheus基于consul服务发现简介Consul是分布式k/v数据库,是一个服务注册组件,其他服务都可以注册到consul上,prometheus基于consul的服务发现流程如下: (1)在consul注册服务或注销服务(监控targets)(2)Prometheus一直监视consul服务,当发现consul中符合要求的服务有新变化就会更新Prometheus监控对象2.部署consul集群2.1 consul简介Consul是一个分布式的,高可用的服务注册系统原创 2021-07-13 20:54:51 · 507 阅读 · 1 评论 -
Kubernetes监控体系(15)-peomethuse联邦集群
联邦集群:假设有三组项目,A组项目是web,B组项目是数据库,C组项目是业务,可以在每一组项目下部署一个prometheus server实例,然后由一个中心prometheus server负责收集各个组下的监控数据,具有这种特性的称为prometheus联邦集群联邦集群配置:master1的prometheus server当成是中心节点:master2和node1当成是各项目组下收集数据的prometheus server修改master1上的prometheus serv原创 2021-07-13 20:52:22 · 397 阅读 · 0 评论 -
Kubernetes监控体系(14)-prometheus使用pushgateway进行数据采集
1.Pushgateway简介Pushgateway是prometheus的一个组件,prometheus server默认是通过exporter主动获取数据(默认采取pull拉取数据),pushgateway则是通过被动方式推送数据到prometheus server,用户可以写一些自定义的监控脚本把需要监控的数据发送给pushgateway, 然后pushgateway再把数据发送给Prometheus server2.Pushgateway优点Prometheus 默认采用定时pull 模原创 2021-07-13 20:50:35 · 1951 阅读 · 1 评论 -
PromQL 中内置函数介绍
Prometheus 提供了其它大量的内置函数,可以对时序数据进行丰富的处理。某些函数有默认的参数,例如:year(v=vector(time()) instant-vector)。其中参数 v 是一个瞬时向量,如果不提供该参数,将使用默认值 vector(time())。instant-vector 表示参数类型。一、时间相关的函数1.1、minute() 当前小时里的第多少分钟minute(v=vector(time()) instant-vector)函数返回给定 UTC 时间当前小时.原创 2021-06-25 19:49:18 · 3194 阅读 · 0 评论 -
Kubernetes监控体系(13)-prometheus监控扩展prometheus监控mongodb/nginx/mysql/tomcat/redis
1.prometheus监控tomcattomcat_exporter地址https://github.com/nlighten/tomcat_exporter下面在k8s-master节点操作(1)制作tomcat镜像,按如下步骤mkdir /root/tomcat_image把上面的war包和jar包传到这个目录下cat DockerfileFROM tomcatADD metrics.war /usr/local/tomcat/webapps/ADD simplec原创 2021-06-24 21:44:44 · 985 阅读 · 1 评论 -
Kubernetes监控体系(12)-alertmanager配置钉钉和邮件告警
打开电脑版钉钉创建机器人1.创建钉钉机器人打开电脑版钉钉,创建一个群,创建自定义机器人,按如下步骤创建https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq我创建的机器人如下:群设置-->智能群助手-->添加机器人-->自定义-->添加机器人名称:kube-event接收群组:钉钉报警测试安全设置:自定义关键词:cluster1上面配置好之后点击完成即可,这样就会创建一个kube-event的报警机器人,创原创 2021-06-24 21:28:42 · 2042 阅读 · 0 评论 -
Kubernetes监控体系(11)-alertmanager安装和配置
1.上传alertmanager.tar.gz镜像到k8s-master和k8s-node机器docker load -i alertmanager.tar.gz2.部署alertmanagerkubectl apply -f alertmanager-cm.yamlkubectl delete -f prometheus-cfg.yamlkubectl apply -f prometheus-cfg.yamlkubectl delete -f prometheus-deploy.yam...原创 2021-06-24 21:18:59 · 2195 阅读 · 1 评论 -
Kubernetes监控体系(10)-grafana可视化展示k8s组件指标数据
1.kube-state-metrics简介Kube-state-metrics:通过监听API Server生成有关资源对象的状态指标,比如Deployment、Node、Pod,需要注意的是kube-state-metrics只是简单的提供一个metrics数据,并不会存储这些指标数据,所以我们可以使用Prometheus来抓取这些数据然后存储,主要关注的是业务相关的一些元数据,比如Deployment、Pod、副本状态等;调度了多少个replicas?现在可用的有几个?;多少个Pod是runnin原创 2021-06-24 21:09:40 · 2114 阅读 · 0 评论 -
Kubernetes监控体系(9)-Grafana安装和配置
1.Grafana安装和配置上传heapster-grafana-amd64_v5_0_4.tar.gz镜像到k8s-master和k8s-node节点,然后手动解压docker load -i heapster-grafana-amd64_v5_0_4.tar.gz在k8s-master节点创建grafana.yamlcat grafana.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: monitoring-gr..原创 2021-06-24 21:05:50 · 661 阅读 · 0 评论 -
Kubernetes监控体系(8)-prometheus监控k8s组件-静态配置
1.prometheus监控kube-schedule组件第一种方法:创建kube-scheduler的servicecat kube-scheduler-service.yamlapiVersion: v1kind: Servicemetadata: annotations: prometheus.io/port: "32107" prometheus.io/scrape: "true" labels: component: kube-scheduler原创 2021-06-18 11:00:58 · 1393 阅读 · 0 评论 -
Kubernetes监控体系(6)- prometheus监控node节点pod模式的-服务发现
1.node-exporter: 采集node节点(物理机、虚拟机、云主机)监控指标数据,能够采集到主机的运行指标如CPU, 内存,磁盘,网络,文件数等信息1.部署node-exporter把node-export_v0_16.tar.gz镜像上传到master节点和node节点,然后解压镜像docker load -i node-exporter_v0_16.tar.gz2.在k8s集群部署node-exporter组件(1)在k8s-master节点生成一个node-export..原创 2021-06-18 10:50:27 · 1579 阅读 · 0 评论 -
Kubernetes监控体系(7)-prometheus重写标签(relabeling)relabel_configs
Prometheus的relabel_configs:promethues的relabeling(重新修改标签)功能很强大,它能够在抓取到目标实例之前把目标实例的元数据标签动态重新修改,动态添加或者覆盖标签prometheus加载target成功之后,在Target实例中,都包含一些Metadata标签信息,默认的标签有:__address__:以<host>:<port> 格式显示目标targets的地址__scheme__:采集的目标服务地址的Scheme形式,HTTP或原创 2021-06-11 10:14:43 · 2040 阅读 · 1 评论 -
Kubernetes监控体系(5)-prometheus服务发现简介
prometheus默认是采用pull方式拉取监控数据的,也就是定时去目标主机上抓取metrics数据,每一个被抓取的目标需要暴露一个HTTP接口,prometheus通过这个暴露的接口就可以获取到相应的指标数据,这种方式需要由目标服务决定采集的目标有哪些,通过配置在scrape_configs中的各种job来实现,无法动态感知新服务,如果后面增加了节点或者组件信息,就得手动修promrtheus配置,并重启 promethues,很不方便,所以出现了动态服务发现,动态服务发现能够自动发现集群中的新端点,并原创 2021-06-07 21:06:27 · 648 阅读 · 0 评论 -
Kubernetes监控体系(4)-Prometheus-metrics类型
Prometheus的metrics类型Prometheus有四种metrics类型:Counter,Gauge,Summary,HistogramCounter计数器:计数器统计的数据是递增的,不能使用计数器来统计可能减小的指标,计数器统计的指标是累计增加的,如http请求的总数,出现的错误总数,总的处理时间(如cpu累计使用时间),api请求总数,已完成的任务数等Gauge量规:量规是一种度量标准,代表可以任意上下波动的单个数值,用于统计cpu使用率,内存使用率,...原创 2021-06-07 21:03:39 · 339 阅读 · 0 评论 -
Kubernetes监控体系(3)- k8s中部署prometheus
前言本篇文章主要介绍k8s集群中部署prometheus,并且配置prometheus的动态、静态服务发现,实现监控容器、物理节点、service、pod等资源指标,配置prometheus的web ui界面,下篇将接着这篇内容介绍Grafana和Alertmanager,并在Grafana的web界面展示prometheus的监控指标,然后通过alertmanager实现监控报警。prometheus简介Prometheus是一个开源的系统监控和报警系统,现在已经加入到CNCF基金会,成为继k原创 2021-06-07 21:00:00 · 1632 阅读 · 1 评论 -
Kubernetes监控体系(2)-prometheus架构图
从上图可发现,Prometheus整个生态圈组成主要包括prometheusserver,Exporter,pushgateway,alertmanager,grafana,Webui界面Prometheus server由三个部分组成,Retrieval,Storage,PromQLRetrieval负责在活跃的target主机上抓取监控指标数据Storage存储主要是把采集到的数据存储到磁盘中PromQL是Prometheus提供的查询语言模块。pro...原创 2021-06-07 20:56:29 · 778 阅读 · 0 评论 -
Kubernetes监控体系(1)-cAdvisor介绍
1. cAdvisor简介 cAdvisor对Node机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况,cAdvisor集成在Kubelet中,当kubelet启动时会自动启动cAdvisor,即一个cAdvisor仅对一台Node机器进行监控。kubelet的启动参数–cadvisor-port可以定义cAdvisor对外提供服务的端口,默认为4194。可以通过浏览器访问。项目主页:http://github.com/google/cadvi原创 2021-06-03 21:53:19 · 9190 阅读 · 0 评论 -
深入浅出 Prometheus
背景 日常监控 存储引擎 数据计算 一次计算,处处查询背景对很多人来说,未知、不确定、不在掌控的东西,会有潜意识的逃避。当我第一次接触 Prometheus 的时候也有类似的感觉。对初学者来说, Prometheus 包含的概念太多了,门槛也太高了。概念: Instance、Job、Metric、Metric Name、Metric Label、Metric Value、Metric Type(Counter、Gauge、Histogram、Summary)、DataType(Insta原创 2021-04-22 16:29:05 · 404 阅读 · 0 评论 -
高可用 Prometheus:问题集锦
Contents[hide]1几点原则 2Prometheus 的局限 3K8S 集群中常用的 exporter 4K8S 核心组件监控与 Grafana 面板 5采集组件 All IN One 6合理选择黄金指标 7K8S 1.16中 Cadvisor 的指标兼容问题 8Prometheus 采集外部 K8S 集群、多集群 9GPU 指标的获取 10更改 Prometheus 的显示时区 11如何采集 LB 后面的 RS 的 Metric 12版本的选择...原创 2021-04-22 16:24:17 · 1071 阅读 · 0 评论 -
搞搞 Prometheus:Prometheus Operator
搞搞 Prometheus:Prometheus Operator前言我对Prometheus是又爱又恨。一方面吧,它生态特别好:作为 Kubernetes 监控的事实标准,(几乎)所有 k8s 相关组件都暴露了 Prometheus 的指标接口,甚至在 k8s 生态之外,绝大部分传统中间件(比如 MySQL、Kafka、Redis、ES)也有社区提供的 Prometheus Exporter。我们已经可以去掉 k8s 这个定语,直接说 Prometheus 是开源监控方案的”头号种子选手”..原创 2021-04-21 09:54:39 · 700 阅读 · 0 评论 -
搞搞 Prometheus: Alertmanager
警报是监控系统中必不可少的一块, 当然了, 也是最难搞的一块. 我们乍一想, 警报似乎很简单一件事:假如发生了异常情况, 发送或邮件/消息通知给某人或某频道一把梭搞起来之后, 就不免有一些小麻烦:这个啊…一天中总有那么几次波动, 也难修难查了, 算了算了不看了 警报太多了, 实在看不过来, 屏蔽/归档/放生吧… 有毒吧, 这个阈值也太低了 卧槽, 这些警报啥意思啊, 发给我干嘛啊? 卧槽卧槽卧槽, 怎么一下子几十百来条警报, 哦…原来网络出问题了全崩了到最后我们还能总结出一个奇怪的原创 2021-04-21 09:52:30 · 319 阅读 · 0 评论 -
我的 Promtheus 到底啥时候报警?
最近又被问到了 Prometheus 为啥不报警,恰好回忆起之前经常解答相关问题,不妨写一篇文章来解决下面两个问题:我的 Prometheus 为啥报警? 我的 Prometheus 为啥不报警?从 for 参数开始我们首先需要一些背景知识:Prometheus 是如何计算并产生警报的?看一条简单的警报规则:- alert: KubeAPILatencyHigh annotations: message: The API server has a 99th percenti原创 2021-04-21 09:51:30 · 158 阅读 · 0 评论 -
基于 Prometheus 的监控系统实践
监控作为底层基础设施的一环,是保障生产环境服务稳定性不可或缺的一部分,线上问题从发现到定位再到解决,通过监控和告警手段可以有效地覆盖了「发现」和「定位」,甚至可以通过故障自愈等手段实现解决,服务开发和运维人员能及时有效地发现服务运行的异常,从而更有效率地排查和解决问题。一个典型的监控(如白盒监控),通常会关注于目标服务的内部状态,例如: 单位时间接收到的请求数量 单位时间内请求的成功率/失败率 请求的平均处理耗时 白盒监控很好地描述了系统的内部状态,但缺少从外部角度看到的现原创 2021-04-21 09:41:58 · 442 阅读 · 0 评论 -
Grafana展示精美的nginx访问日志图表
ELK 7.10 搭建ELK 7.10 搭建请参考容器部署ELK7.10,适用于生产Grafana展示Nginx图表Nginx 日志字段配置注意:请确保 nginx 使用该字段,NginxKey名称如果有修改,Logstash和Grafana模板需要根据自己Nginx字段来修改log_formataka_logs'{"@timestamp":"$time_iso8601",''"host":"$hostname",''"server_i...原创 2021-03-01 11:47:25 · 2945 阅读 · 2 评论 -
部署grafana
上面的错误是在5.1版本之后才会出现的,当然你也可以使用之前的版本来规避这个问题。原创 2020-11-15 22:46:52 · 756 阅读 · 0 评论 -
监控神器Prometheus
监控神器Prometheus监控系统的历史悠久,是一个很成熟的方向,而 Prometheus 作为新生代的开源监控系统,慢慢成为了云原生体系的事实标准,也证明了其设计很受欢迎。本文主要分享在 Prometheus 实践中遇到的一些问题和思考,如果你对 K8S 监控体系或 Prometheus 的设计还不太了解,可以先看下容器监控系列。参考:http://www.xuyasong.com/?p=1921知乎https://dbaplus.cn/news-134-3106-1.ht.原创 2020-10-27 15:05:51 · 10380 阅读 · 1 评论 -
prometheus + grafana + alertmanager安装
环境配置:两台服务器:pro_server:监控平台+分析展示平台,Linux系统oraclelinux 7.5版本exp_agent:被监控服务器,Linux系统oraclelinux 7.5版本软件版本:alertmanager-0.21.0.linux-amd64.tar.gznode_exporter-1.0.1.linux-amd64.tar.gzprometheus-2.20.1.linux-amd64.tar.gz运行前关掉linux的防火墙,两台服务器都要关掉...原创 2020-08-14 00:16:35 · 669 阅读 · 0 评论 -
Prometheus配置监控K8S
下载 prometheushttps://github.com/prometheus/prometheus/releases把程序放到 /usr/bin/ 下即可systemd启动脚本启动脚本设置了数据存储在 /var/lib/prometheus/data,配置文件在 /etc/prometheus/prometheus.yml[Unit]Description=Prometheus serviceAfter=network.targetWants=network.target..原创 2020-07-29 14:58:14 · 1307 阅读 · 1 评论