Prometheus

全链路监控的起源&解决方案

↘锁芯ラ 提交于 2021-01-09 05:16:54
全链路监控的思想 APM(Application Performance Management)的核心思想是什么? 在应用服务各节点相互调用的时候,从中记录并传递一个应用级别的标记,这个标记可以用来关联各个服务节点之间的关系。 比如两个应用服务节点之间使用HTTP作为传输协议的话,那么这些标记就会被加入到HTTP头中。 可见如何传递这些标记是与应用服务节点之间使用的通讯协议有关的,常用的协议就相对容易加入这些内容,一些按需定制的可能就相对困难些,这一点也直接决定了实现分布式追踪系统的难度。 它通过探针自动收集所需的指标,并进行分布式追踪。 通过这些调用链路以及指标,APM会感知应用间关系和服务间关系,并进行相应的指标统计。 如何衡量一个大规模集群的跟踪系统的优劣? 它应该满足 低损耗 、 应用透明的 、 大范围部署 这三个需求的。 全链路监控系统的功能 web应用过程: 分析url调用过程中性能消耗原因,抓取超过阈值url的详细数据 数据库性能: 支持多种数据库类型的监测,定位并追踪慢SQL语句问题 错误分析: 记录错误发生时的详细信息,统计应用错误率,定位问题具体至代码行 外部API调用: 可以监测所有服务端应用外部调用API的耗时,并进行汇总统计 线程剖析: 可以实现生产环境下实时在线的线程剖析,可在运行时了解代码性能 NoSQL分析: 实时监控Memcache,

kubernetes实现用户自定义扩缩容

↘锁芯ラ 提交于 2021-01-08 20:48:48
本文章主要参考 walkthrough , aggregation 和 auth 。涉及custom metric API的注册认证以及API server aggregation的相关知识。 walkthrough 中主要实现了 Prometheus adapter 的功能,Prometheus adapter主要从Prometheus以一定间隔收集可用的metrics,然后以特定的格式暴露该metrics。 强烈建议阅读官方文档: setup an extension API server HorizontalPodAutoscaler控制器可以通过两种方式获取metrics:通过Heapster接入方式和REST client接入方式。其中REST client方式即获取custom metrics的方式(参见: Horizontal Pod Autoscaler ) walkthrough 中的主要步骤如下: 使能aggregation   API server的flag中启用如下内容: --requestheader-client-ca-file=<path to aggregator CA cert> --requestheader-allowed-names=aggregator --requestheader-extra-headers-prefix=X

prometheus 返回报文问题

天大地大妈咪最大 提交于 2021-01-08 11:28:28
导致问题原因:可以使用jackson,或者使用prometheus注册到servlet @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { /**调用父类的配置**/ WebMvcConfigurer.super.configureMessageConverters(converters); FastJsonHttpMessageConverter fastConverter = new FastJsonHttpMessageConverter(); //升级最新版本需加============================================================= List<MediaType> supportedMediaTypes = new ArrayList<>(); supportedMediaTypes.add(MediaType.APPLICATION_JSON); supportedMediaTypes.add(MediaType.APPLICATION_JSON_UTF8); supportedMediaTypes.add(MediaType.APPLICATION_ATOM_XML);

prometheus+grafana监控mysql

青春壹個敷衍的年華 提交于 2021-01-07 05:01:41
prometheus+grafana监控mysql 1、安装配置MySQL官方的 Yum Repository(有mysql只需设置监控账号即可) [root@localhost ~]# wget -i - c http: //dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm [root@localhost ~]# yum -y install mysql57-community-release-el7-10 .noarch .rpm [root@localhost ~] # yum -y install mysql-community-server 若安装失败可能和原有的mysql有冲突,卸载原有mysql: yum remove mariadb-config-3:10.1.20-2.el7.x86_64 [root@localhost ~]# systemctl start mysqld .service [root@localhost ~]# systemctl status mysqld .service 此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码: [root@localhost ~]# grep "password"

CNCF云原生景观的初学者指南

梦想的初衷 提交于 2021-01-06 20:58:52
这个博客最初是由 Ayrat Khayretdinov 在CloudOps博客上发布 云原生景观可能会很复杂和混乱。无数的开源项目都得到了一个充满活力和广阔社区的持续贡献的支持。云原生计算基金会(CNCF)有一幅景观图,展示了云原生解决方案的全部范围,其中许多都在他们的保护伞下。 作为CNCF大使,我积极致力于在加拿大各地推广社区活动和云原生教育。在CloudOps里,我领导了Docker和Kubernetes的研讨会,提供了云原生技术的介绍,并帮助DevOps团队操作他们的应用程序。 我还组织了Kubernetes和云原生meetup来介绍来自世界各地的演讲者,代表各种项目。它们每季度在蒙特利尔、渥太华、多伦多、基奇纳 - 滑铁卢和魁北克市运营。通过@archyufaor联系我或电邮到CloudOps,了解更多关于成为云原生的信息。 与此同时,我还编写了一个关于云原生景观的初学者指南。我希望它能帮助你理解风景,让你更好地了解如何驾驭它。 CNCF的历史 2014年,谷歌开源了一个名为Borg的内部项目,他们一直在使用它来编排容器。由于没有地方来进行这个项目,谷歌与Linux基金会合作创建了云原生计算基金会(CNCF),这将鼓励Kubernetes和其他云原生解决方案的开发和协作。Borg实现在Go中被重写,重新命名为Kubernetes,并作为初始化项目捐赠。很早就很清楚

正向代理与Nginx反向代理和负载均衡

守給你的承諾、 提交于 2021-01-06 06:38:51
文章部分内容 | 圈圈的圈 链接 | juejin.im/post/5c0e6d606fb9a049f66bf246 知乎: 新一993 https://zhuanlan.zhihu.com/p/97235795 近期接触到Nginx,然后就学习记录一下。 前言 代理是个啥 既然要聊反向代理, 那首先得知道代理是个啥吧? 嗯. 正向代理 比如, 你买束花, 想要给隔壁工位的测试妹子小丽表白. 但是又怕被人家直面拒绝太没面子. 于是你把鲜花委托给平时和小丽一起的测试小伙伴小红. 让她帮忙把花送给小丽. 这就是一个简单的代理过程, 小红作为代理帮你把花送给了小丽, 当然这种情况在现实中并不推荐使用, 因为难以避免中间商赚差价 😂. 在上面的例子中, 你作为客户端(请求方), 想要向服务方(小丽)发起请求. 但是碍于面子你主动找到了第三方(小红)作为代理向服务方发送请求, 这种情况就是常说的正向代理. 正向代理在互联网中的使用主要是科学上网, 你想访问谷歌但是碍于防火墙你只能通过vpn服务器作为代理才能访问. 这个时候一般也要找值得信赖的vpn厂商, 避免中间商赚差价 😄. 反向代理 关于反向代理的例子, 那就比较多啦. 比如, 孤独的你躺在床上夜不能寐. 于是乎, 拿出手机, 点亮了屏幕, 拨通 10086, 中国移动就会随机分配一个当前处于空闲的客服MM, 你可以和客服MM聊聊天,

日志系统新贵Loki,确实比笨重的ELK轻

纵饮孤独 提交于 2021-01-06 05:27:01
点击上方蓝色“ 程序猿DD ”,选择“设为星标” 回复“ 资源 ”获取独家整理的学习资料! 作者 | linkt1234 来源 | https://blog.csdn.net/Linkthaha/article/details/100575278 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的背景。 背景和动机 当我们的容器云运行的应用或者某个节点出现问题了,解决思路应该如下: 我们的监控使用的是基于prometheus体系进行改造的,prometheus中比较重要的是metric和alert,metric是来说明当前或者历史达到了某个值,alert设置metric达到某个特定的基数触发了告警,但是这些信息明显是不够的。我们都知道,k8s的基本单位是pod,pod把日志输出到stdout和stderr,平时有什么问题我们通常在界面或者通过命令查看相关的日志,举个例子:当我们的某个pod的内存变得很大,触发了我们的alert,这个时候管理员,去页面查询确认是哪个pod有问题,然后要确认pod内存变大的原因,我们还需要去查询pod的日志,如果没有日志系统,那么我们就需要到页面或者使用命令进行查询了: 如果,这个时候应用突然挂了

unable to run prometheus on windows 10 for Cassandra [duplicate]

时光总嘲笑我的痴心妄想 提交于 2021-01-05 11:25:13
问题 This question already has an answer here : convert a .sh command into .bat equivalent (1 answer) Closed 17 days ago . I am following this tutorial to run Prometheus on Windows10 . The tutorial is for linux . I suppose the only command I need to change is for powershell . However, when I try to access the metrics, the application doesn't connect. https://www.robustperception.io/monitoring-cassandra-with-prometheus Instead of echo 'JVM_OPTS="$JVM_OPTS -javaagent:'$PWD/jmx_prometheus_javaagent-0

unable to run prometheus on windows 10 for Cassandra [duplicate]

我只是一个虾纸丫 提交于 2021-01-05 11:25:01
问题 This question already has an answer here : convert a .sh command into .bat equivalent (1 answer) Closed 17 days ago . I am following this tutorial to run Prometheus on Windows10 . The tutorial is for linux . I suppose the only command I need to change is for powershell . However, when I try to access the metrics, the application doesn't connect. https://www.robustperception.io/monitoring-cassandra-with-prometheus Instead of echo 'JVM_OPTS="$JVM_OPTS -javaagent:'$PWD/jmx_prometheus_javaagent-0

MySQL&MongoDB监控利器PMM

两盒软妹~` 提交于 2021-01-05 08:38:56
MySQL&MongoDB监控利器PMM 张伟科 0.4 2018.03.13 18:15* 字数 1889 阅读 4760评论 0喜欢 10 一、PMM介绍 Percona Monitoring and Management (PMM)是一款开源的用于管理和监控MySQL和MongoDB性能的开源平台,通过PMM客户端收集到的DB监控数据用第三方软件Grafana画图展示出来。 PMM提供了对MyISAM、InnoDB、TokuDB和PXC/Glarera的监控,另外也提供了Query Analytics的功能,可以检视执行了哪些SQL指令,并对执行效能较差的语法进行优化。另外在新版本还支持了MySQL复制拓扑图结构构造。Demo官网: http://pmmdemo.percona.com PMM针对操作系统的部份也提供了硬盘、网络、CPU和RAM的监控,特别的是它提供了Context switches、Processes和interrupts的监控,Context Switches可以看到CPU上下切换文的状况,Processes可以方便了解系统有多少程序在等待I/O。 二、PMM架构解析 PMM架构如下图所示 PMM Server是作为Docker镜像distributed,而PMM Client就是一般的RPM,它需要安装Server端和Client端软件。