获取 ByteHouse 账号的 Access Key,具体步骤请参见 获取Access Key。
选择下面合适的 SDK 版本:
编程语言 | Github地址 | 指导文档 |
---|---|---|
Python | ||
Java | ||
Go |
具体请求 Body 参数可以参考云监控相关文档:GetMetricData--云监控-火山引擎。
下面是一些必填参数:
参数名称 | 是否必填 | 备注 |
---|---|---|
ak/sk | 是 | 当前账号的 ak/sk,具体步骤请参见 获取Access Key。 |
region | 是 | 如:cn-beijing |
Namespace | 是 | 固定为:VCM_ByteHouse_Ce |
StartTime | 是 | 查询的时间选段的开始时间,秒级时间戳,例如1632904500。 |
EndTime | 是 | 查询的时间选段的结束时间,秒级时间戳,例如1632904801。 |
Instances | 是 | 要查询的指标维度信息。例如,查询 Connection_Gateway_Connection_Count 指标,维度需要配置成 ResourceID 。 |
MetricName | 是 | 要查询的监控指标名称。 |
SubNamespace | 否 | 要查询的指标所属的维度。 |
目前 Bytehouse 云监控可查看的全量指标请参见监控指标说明。
注意
每个指标都必须传递 ResourceID。在当前版本中,ResourceID 等于 AccountID,传递 AccountID 即可。
以 GO SDK 为例,查询 cluster_cpu_usage_percentage 指标,维度筛选为 ResourceID。
package main import ( "fmt" "github.com/volcengine/volcengine-go-sdk/service/volcobserve" "github.com/volcengine/volcengine-go-sdk/volcengine" "github.com/volcengine/volcengine-go-sdk/volcengine/session" ) func main() { // 设置您的ak ak := "xxx" // 设置您的sk sk := "xxx" // 设置您要访问的地域 var region = "cn-beijing" //if use env Credentials //please //export VOLCSTACK_ACCESS_KEY=AK //export VOLCSTACK_SECRET_KEY=SK // and WithCredentials(credentials.NewEnvCredentials()) config := volcengine.NewConfig(). WithRegion(region). WithAkSk(ak, sk). // WithCredentials(credentials.NewEnvCredentials()). WithLogLevel(volcengine.LogDebugWithHTTPBody). WithDisableSSL(true) sess, _ := session.NewSession(config) svc := volcobserve.New(sess) in := &volcobserve.GetMetricDataInput{ StartTime: volcengine.Int64(1732848879), EndTime: volcengine.Int64(1732852479), Instances: []*volcobserve.InstanceForGetMetricDataInput{ { Dimensions: []*volcobserve.DimensionForGetMetricDataInput{ { Name: volcengine.String("ResourceId"), Value: volcengine.String("2100775944"), }, }, }, }, MetricName: volcengine.String("cluster_cpu_usage_percentage"), Namespace: volcengine.String("VCM_ByteHouse_Ce"), Period: volcengine.String("1m"), SubNamespace: volcengine.String(""), } resp, err := svc.GetMetricData(in) if err != nil { panic(err) } fmt.Printf("Response is %v", resp) }