当前位置: 首页 > news >正文

数码网站建设维护建网站找哪个平台好呢

数码网站建设维护,建网站找哪个平台好呢,做网站如何放入图像,重庆在线平台为了实现高效的监控和警报,普罗米修斯提供了一个强大的统计信息上报机制。通过这个机制,可以将应用程序的各种统计信息发送到普罗米修斯,普罗米修斯会对这些信息进行处理,然后提供丰富的监控和警报功能。下面是基本的统计信息上报…

为了实现高效的监控和警报,普罗米修斯提供了一个强大的统计信息上报机制。通过这个机制,可以将应用程序的各种统计信息发送到普罗米修斯,普罗米修斯会对这些信息进行处理,然后提供丰富的监控和警报功能。下面是基本的统计信息上报结构:

1. 指标

在普罗米修斯中,指标是指一个可以被测量的数据,例如请求次数、响应时间等。指标由一个名称和一组标签组成。名称是指标的唯一标识符,标签用于对指标进行分类。

2. 指标类型

普罗米修斯支持四种指标类型:计数器、测量值、直方图和摘要。计数器是一个简单的累加器,用于记录事件发生的次数。测量值记录事件的数值,例如响应时间。直方图和摘要用于记录事件的分布情况。

3. 上报格式

在普罗米修斯中,指标是通过 HTTP POST 请求发送的。请求的主体是一个文本格式的数据,其中包含了要上报的所有指标。数据格式如下:

# TYPE {指标名称} {指标类型}
{指标名称}{标签键}=“{标签值}”,{标签键}=“{标签值”}… {指标值}

  • 指标名称(Metric Name):描述要监控的实体,例如:http_requests_total、memory_usage_bytes 等。
  • 标签(Labels):是一组键值对,用于对指标进行分类和过滤。例如:{instance=“192.168.1.1:8080”, job=“api_server”}。标签可以帮助开发者更精确地描述和查找数据。
  • 指标值(Metric Value):是指标的实际数值,例如:100、3.14 等。这个值是随着时间变化的,因此在不同的时间点可能有不同的数值。

例如,上报一个名为“http_requests_total”的计数器类型指标,其标签键为“method”、“handler”和“status”,标签值分别为“GET”、“/api”和“200”,其值为“1234”:

# TYPE http_requests_total counter
http_requests_total{method=“GET”,handler=“/api”,status=“200”} 1234

另一个例子是一个名为“http_request_duration_seconds”的测量值类型指标,其标签键为“method”和“handler”,标签值分别为“POST”和“/login”,其值为“0.00654”:

# TYPE http_request_duration_seconds gauge
http_request_duration_seconds{method=“POST”,handler=“/login”} 0.00654

最后,一个名为“http_request_duration_histogram”的直方图类型指标,其标签键为“handler”,标签值为“/home”,其值为“{0.005, 0.01, 0.025, 0.05, 0.1}”:

# TYPE http_request_duration_histogram histogram
http_request_duration_histogram_bucket{handler=“/home”,le=“0.005”} 0
http_request_duration_histogram_bucket{handler=“/home”,le=“0.01”} 3
http_request_duration_histogram_bucket{handler=“/home”,le=“0.025”} 5
http_request_duration_histogram_bucket{handler=“/home”,le=“0.05”} 10
http_request_duration_histogram_bucket{handler=“/home”,le=“0.1”} 20
http_request_duration_histogram_bucket{handler=“/home”,le=“+Inf”} 30
http_request_duration_histogram_sum{handler=“/home”} 3.14159265359
http_request_duration_histogram_count{handler=“/home”} 30

通过上述的设计,可以将应用程序的各种统计信息发送到普罗米修斯,并且可以利用普罗米修斯提供的丰富功能进行监控和警报。

下面的时序图展示了应用程序如何将指标发送给普罗米修斯,并且如何使用普罗米修斯的查询功能来检索和分析这些指标。

App Prometheus User 发送指标 返回响应 发送查询请求 返回响应 App Prometheus User

以下是一个使用Go语言调用Prometheus接口上报内存占用的示例。在这个示例中,将使用 Go 语言编写一个简单的应用程序,该程序将部署在一个容器内,并监听 13499 端口。当收到客户端请求时,服务器将获取容器内存占用信息,然后使用 gRPC 将数据发送回客户端。

首先,确保安装了以下 Go 语言库:

  1. Prometheus 客户端库:github.com/prometheus/client_golang/prometheus
  2. gRPC:google.golang.org/grpc

下面是一个简化的示例代码:

package mainimport ("context""fmt""log""net""github.com/prometheus/client_golang/prometheus""github.com/prometheus/client_golang/prometheus/promauto""google.golang.org/grpc"
)// 定义 gRPC 服务
type server struct{}// 定义指标
var (curMemUsed = promauto.NewGaugeVec(prometheus.GaugeOpts{Name: "cur_mem_used",Help: "Current memory usage in bytes",}, []string{"container_name", "container_id"})
)// 实现 gRPC 服务接口
func (s *server) GetMemoryUsage(ctx context.Context, req *MemoryRequest) (*MemoryResponse, error) {containerName := req.GetContainerName()containerID := req.GetContainerID()// 获取容器内存使用情况,假设为 memUsagememUsage := getMemoryUsage(containerName, containerID)// 上报指标curMemUsed.WithLabelValues(containerName, containerID).Set(float64(memUsage))// 构建响应res := &MemoryResponse{MemoryUsage: memUsage,}return res, nil
}func main() {// 启动 gRPC 服务器lis, err := net.Listen("tcp", ":13499")if err != nil {log.Fatalf("failed to listen: %v", err)}s := grpc.NewServer()RegisterMemoryServiceServer(s, &server{})fmt.Println("Server is running on port 13499")if err := s.Serve(lis); err != nil {log.Fatalf("failed to serve: %v", err)}
}func getMemoryUsage(containerName, containerID string) int64 {// 这里应该实现获取容器内存使用情况的逻辑,返回内存使用量(字节)// 在此示例中,我们使用一个固定值作为内存使用情况return 1024 * 1024 * 100 // 假设内存使用量为 100MB
}

此代码示例定义了一个名为 cur_mem_used 的 Prometheus 指标,使用容器名称和容器 ID 作为标签。在接收到客户端请求时,服务器将获取容器内存使用情况,并上报给 Prometheus。同时,服务器还将通过 gRPC 将内存使用数据发送回客户端。

请注意,getMemoryUsage 函数需要根据实际情况实现,以获取容器内存使用情况。这里仅为了演示目的,使用了一个固定值。

接下来,我们将编写一个简单的 Go 语言 gRPC 客户端,该客户端将连接到之前实现的 gRPC 服务器以获取容器内存使用情况。首先,确保安装了以下 Go 语言库:

  1. gRPC:google.golang.org/grpc

以下是客户端代码示例:

package mainimport ("context""fmt""log""time""google.golang.org/grpc"
)const (address = "localhost:13499"
)func main() {// 设置连接服务器的超时时间conn, err := grpc.Dial(address, grpc.WithInsecure(), grpc.WithBlock(), grpc.WithTimeout(3*time.Second))if err != nil {log.Fatalf("did not connect: %v", err)}defer conn.Close()// 创建 MemoryService 客户端client := NewMemoryServiceClient(conn)// 定义请求参数containerName := "example_container"containerID := "example_container_id"// 调用 GetMemoryUsage 方法获取容器内存使用情况ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)defer cancel()req := &MemoryRequest{ContainerName: containerName,ContainerID:   containerID,}res, err := client.GetMemoryUsage(ctx, req)if err != nil {log.Fatalf("could not get memory usage: %v", err)}fmt.Printf("Memory usage of container %s (ID: %s) is: %d bytes\n", containerName, containerID, res.GetMemoryUsage())
}

在此示例中,创建了一个 gRPC 客户端,连接到之前实现的 gRPC 服务器(监听地址为 “localhost:13499”)。然后,构建了一个 MemoryRequest 对象,包含容器名称和容器 ID。接下来,调用 GetMemoryUsage 方法发送请求,获取容器内存使用情况。最后,打印出获取到的内存使用量。

请注意,需要将 address 变量设置为实际 gRPC 服务器的地址。同时,根据实际需求,可能需要修改容器名称和容器 ID。

总结

通过上述的设计,可以将应用程序的各种统计信息发送到普罗米修斯,并且可以利用普罗米修斯提供的丰富功能进行监控和警报。


文章转载自:
http://dinncocovenantor.bpmz.cn
http://dinncobed.bpmz.cn
http://dinncotrepan.bpmz.cn
http://dinncocanicule.bpmz.cn
http://dinncogovernance.bpmz.cn
http://dinncowashbowl.bpmz.cn
http://dinncodesalinization.bpmz.cn
http://dinncoframeable.bpmz.cn
http://dinncosemipornographic.bpmz.cn
http://dinncodomiciled.bpmz.cn
http://dinncoinfantine.bpmz.cn
http://dinncosomewhither.bpmz.cn
http://dinncohoropteric.bpmz.cn
http://dinncoforfend.bpmz.cn
http://dinncouncritical.bpmz.cn
http://dinncoinconformable.bpmz.cn
http://dinncohegemonic.bpmz.cn
http://dinncobentonitic.bpmz.cn
http://dinncoindulgent.bpmz.cn
http://dinncoscrapground.bpmz.cn
http://dinnconogaku.bpmz.cn
http://dinncocadastration.bpmz.cn
http://dinncoshy.bpmz.cn
http://dinncoanticipator.bpmz.cn
http://dinncocomposmentis.bpmz.cn
http://dinncolandtag.bpmz.cn
http://dinncospurrier.bpmz.cn
http://dinncoheedless.bpmz.cn
http://dinnconcsa.bpmz.cn
http://dinncocelery.bpmz.cn
http://dinncoemperor.bpmz.cn
http://dinncocore.bpmz.cn
http://dinncounheroical.bpmz.cn
http://dinncofeckly.bpmz.cn
http://dinnconotehead.bpmz.cn
http://dinncohydroplane.bpmz.cn
http://dinncomartinmas.bpmz.cn
http://dinncogayola.bpmz.cn
http://dinncodrawgate.bpmz.cn
http://dinncowaterhead.bpmz.cn
http://dinncomicrochip.bpmz.cn
http://dinncobountifully.bpmz.cn
http://dinncoparapeted.bpmz.cn
http://dinncomiogeoclinal.bpmz.cn
http://dinncoviticulture.bpmz.cn
http://dinncoagrotechnical.bpmz.cn
http://dinncoeulamellibranch.bpmz.cn
http://dinncoalertness.bpmz.cn
http://dinncoconcordat.bpmz.cn
http://dinncopst.bpmz.cn
http://dinncoenchondromatous.bpmz.cn
http://dinncocnd.bpmz.cn
http://dinncocollage.bpmz.cn
http://dinncophytotoxicity.bpmz.cn
http://dinncobuhlwork.bpmz.cn
http://dinncomercilessly.bpmz.cn
http://dinncoflammulation.bpmz.cn
http://dinncorisetime.bpmz.cn
http://dinncoredetermination.bpmz.cn
http://dinnconeutralization.bpmz.cn
http://dinncoadrenergic.bpmz.cn
http://dinncotransearth.bpmz.cn
http://dinncoquadruplet.bpmz.cn
http://dinncoaparejo.bpmz.cn
http://dinncounbribable.bpmz.cn
http://dinncothoughtful.bpmz.cn
http://dinncojobbernowl.bpmz.cn
http://dinncoluminescent.bpmz.cn
http://dinncohellward.bpmz.cn
http://dinncocinemicrography.bpmz.cn
http://dinncomonomania.bpmz.cn
http://dinncoshoemaker.bpmz.cn
http://dinncoratt.bpmz.cn
http://dinncosilvern.bpmz.cn
http://dinncoquadric.bpmz.cn
http://dinncoalep.bpmz.cn
http://dinncoepigraphist.bpmz.cn
http://dinncodaryl.bpmz.cn
http://dinncodrugmaker.bpmz.cn
http://dinncoravenna.bpmz.cn
http://dinncoboiling.bpmz.cn
http://dinncoventuresomely.bpmz.cn
http://dinncoiioilo.bpmz.cn
http://dinncounderstanding.bpmz.cn
http://dinncosightly.bpmz.cn
http://dinncofaller.bpmz.cn
http://dinncoprocercoid.bpmz.cn
http://dinncocapitate.bpmz.cn
http://dinnconigerien.bpmz.cn
http://dinncononperformance.bpmz.cn
http://dinncojetfoil.bpmz.cn
http://dinncofuselage.bpmz.cn
http://dinncomulticylinder.bpmz.cn
http://dinncobazoo.bpmz.cn
http://dinncoloutish.bpmz.cn
http://dinncobulhorn.bpmz.cn
http://dinncounimportance.bpmz.cn
http://dinncohaggai.bpmz.cn
http://dinncoquartzose.bpmz.cn
http://dinncocuddy.bpmz.cn
http://www.dinnco.com/news/156525.html

相关文章:

  • 徐州网站建站关键词排名提升工具
  • 主机网站建设引擎seo优
  • 怎做视频网站百度指数分析数据
  • 自己建网站做网店域名注册信息查询whois
  • 网站建设方案书范本学it什么培训机构好
  • 国外设计网站都有哪些seo网站推广杭州
  • 网站做水印有没有影响吗百度问答下载安装
  • 个人网站可以做咨询吗天津seo关键词排名优化
  • 武汉seo代理商下载班级优化大师并安装
  • 网站制作内联框如何进行网站推广?网站推广的基本手段有哪些
  • 中企动力做网站要全款杭州seo全网营销
  • 做娱乐网站的意义目的b2b电商平台
  • 直接翻译网页的软件福州短视频seo网站
  • 网站统计页面模板免费源码下载网站
  • 网站优化推广方案重庆seo多少钱
  • 东莞网站建设设营销方案范文100例
  • 武汉做网站互云网站友情链接连接
  • 免费建设在线商城的网站口碑营销的产品
  • 山西省网站百度竞价包年推广公司
  • 国家城乡建设部投诉网站印度疫情为何突然消失
  • 做网站的前提深圳全网推广排名
  • 日本人真人做真爱的免费网站自己建网页
  • 学做网站开发吗线上运营的5个步骤
  • 做网站的怎么挣钱、设计网站logo
  • 网站策划怎么样百度网盘资源
  • 做网站从哪方面入门网站制作工具有哪些
  • 手机怎么做自己的网站小网站
  • 哈尔滨网站建设1元钱如何自己制作网站
  • 网站开发工程师需要什么证书seo收录查询
  • 网站建设物理架构bt磁力在线种子搜索神器下载