服务监控
可能读者会问,链路追踪和服务监控不是一个东西么?以下知识普及来源于网上。
我这里从网上找到一张图 很形象。
Logging - 用于记录离散的事件。例如,应用程序的调试信息或错误信息。它是我们诊断问题的依据。
Metrics - 用于记录可聚合的数据。例如,队列的当前深度可被定义为一个度量值,在元素入队或出队时被更新;HTTP 请求个数可被定义为一个计数器,新请求到来时进行累加。
Tracing - 用于记录请求范围内的信息。例如,一次远程方法调用的执行过程和耗时。它是我们排查系统性能问题的利器。
通过上述信息,我们可以对已有系统进行分类。例如,Zipkin 专注于 tracing 领域;Prometheus 开始专注于 metrics,随着时间推移可能会集成更多的 tracing 功能,但不太可能深入 logging 领域; ELK,阿里云日志服务这样的系统开始专注于 logging 领域,但同时也不断地集成其他领域的特性到系统中来,正向上图中的圆心靠近。
我们上一节讲了trace。这节来讲metrics。这一领域目前备受推崇的是Prometheus。云原生应用时代的比较流行的监控系统。
本次实验教程是用Prometheus+grafana来做
安装prometheus
在/home/www/下创建go-micro目录,里面创建prometheus.yml
global:
scrape_interval: