qmonitor

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 6, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	REQUEST_TIME_LAYOUT = "2006-01-02T15:15:50"
)

Variables

View Source
var (
	// Namesapce
	MetricsNamespace = "QCE/TKE"
	MetricsModule    = "monitor"

	/**
	Metrics
	*/
	// workload view
	K8sWorkloadCpuCoreUsedMetric     = "K8sWorkloadCpuCoreUsed"
	K8sWorkloadMemUsageBytesMetric   = "K8sWorkloadMemUsageBytes"
	K8sWorkloadMemNoCacheBytesMetric = "K8sWorkloadMemNoCacheBytes"
	K8sWorkloadReplicasMetric        = "K8sWorkloadPodTotal"
	K8sWorkloadCpuRequestsMetric     = "K8sWorkloadCpuRequests"
	K8sWorkloadMemRequestsMetric     = "K8sWorkloadMemRequests"
	K8sWorkloadCpuLimitsMetric       = "K8sWorkloadCpuLimits"
	K8sWorkloadMemLimitsMetric       = "K8sWorkloadMemLimits"

	// pod view
	K8sPodCpuCoreUsedMetric     = "K8sPodCpuCoreUsed"
	K8sPodMemUsageBytesMetric   = "K8sPodMemUsageBytes"
	K8sPodMemNoCacheBytesMetric = "K8sPodMemNoCacheBytes"

	// container view
	K8sContainerCpuCoreUsedMetric     = "K8sContainerCpuCoreUsed"
	K8sContainerMemUsageBytesMetric   = "K8sContainerMemUsageBytes"
	K8sContainerMemNoCacheBytesMetric = "K8sContainerMemNoCacheBytes"
	K8sContainerCpuCoreLimitMetric    = "K8sContainerCpuCoreLimit"
	K8sContainerCpuCoreRequestMetric  = "K8sContainerCpuCoreRequest"
	K8sContainerMemLimitMetric        = "K8sContainerMemLimit"
	K8sContainerMemRequestMetric      = "K8sContainerMemRequest"

	// 下面都是比例,目前还没得 limit/request 绝对值
	K8sContainerRateCpuCoreUsedLimitMetric   = "K8sContainerRateCpuCoreUsedLimit"
	K8sContainerRateCpuCoreUsedRequestMetric = "K8sContainerRateCpuCoreUsedRequest"
	K8sContainerRateMemUsageLimitMetric      = "K8sContainerRateMemUsageLimit"
	K8sContainerRateMemUsageRequestMetric    = "K8sContainerRateMemUsageRequest"
	K8sContainerRateMemNoCacheLimitMetric    = "K8sContainerRateMemNoCacheLimit"
	K8sContainerRateMemNoCacheRequestMetric  = "K8sContainerRateMemNoCacheRequest"

	// Dimension
	LabelAppId         = "appid"
	LabelContainerId   = "container_id"
	LabelContainerName = "container_name"
	LabelNamespace     = "namespace"
	LabelNode          = "node"
	LabelNodeRole      = "node_role"
	LabelPodName       = "pod_name"
	LabelRegion        = "region"
	LabelClusterId     = "tke_cluster_instance_id"
	LabelUnInstanceId  = "un_instance_id"
	LabelWorkloadKind  = "workload_kind"
	LabelWorkloadName  = "workload_name"

	// View
	ViewK8sContainer = "k8s_container"
	ViewK8sCluster   = "k8s_cluster"
	ViewK8sComponent = "k8s_component"
	ViewK8sNode      = "k8s_node"
	ViewK8sPod       = "k8s_pod"
	ViewK8sWorkload  = "k8s_workload"
)

Functions

This section is empty.

Types

type DescDimensionValueReq

type DescDimensionValueReq struct {
	// 固定值为"monitor"
	Module string
	// 命名空间
	Namespace string
	// 视图名
	ViewName string
	// 要查询的维度
	DimensionKey string
	// 查询过滤条件
	Conditions []MidQueryCondition
	// 起始时间
	StartTime int64
	// 结束时间
	EndTime int64
	// 查询的中台地域
	QueryRegion string
}

func (*DescDimensionValueReq) AppendCondition

func (ddvr *DescDimensionValueReq) AppendCondition(key, operator string, value []string)

type Dimension

type Dimension struct {
	Name  string
	Value string
}

type GetDataParam

type GetDataParam struct {
	Module      string
	Namespace   string
	MetricNames []string
	Conditions  []MidQueryCondition
	Period      uint64
	StartTime   string
	EndTime     string
	GroupBys    []string
}

func (*GetDataParam) AppendCondition

func (p *GetDataParam) AppendCondition(key, operator string, value []string)

func (*GetDataParam) Convert2SDKRequest

func (p *GetDataParam) Convert2SDKRequest() *cm.DescribeStatisticDataRequest

func (*GetDataParam) SetTimeRange

func (p *GetDataParam) SetTimeRange(startTime time.Time, endTime time.Time, period time.Duration)

type GetDataResult

type GetDataResult struct {
	Period    uint64
	StartTime string
	EndTime   string
	Data      []MetricDatum
}

type MetricDataPoint

type MetricDataPoint struct {
	Dimensions []Dimension
	Values     []Point
}

func (*MetricDataPoint) Dimensions2List

func (mdp *MetricDataPoint) Dimensions2List() []Dimension

func (*MetricDataPoint) Dimensions2Map

func (mdp *MetricDataPoint) Dimensions2Map() map[string]interface{}

type MetricDatum

type MetricDatum struct {
	MetricName string
	Points     []MetricDataPoint
}

func ConvertSDKMetricData

func ConvertSDKMetricData(datas []*cm.MetricData) []MetricDatum

type MidQueryCondition

type MidQueryCondition struct {
	Key      string
	Operator string
	Value    []string
}

type Point

type Point struct {
	Timestamp *uint64
	Value     *float64
}

type PutDataParam

type PutDataParam struct {
	// 一组指标和数据
	Metrics []MetricDatum `json:"Metrics,omitempty" name:"Metrics"`

	// 上报时自行指定的 IP
	AnnounceIp string `json:"AnnounceIp,omitempty" name:"AnnounceIp"`

	// 上报时自行指定的时间戳
	AnnounceTimestamp uint64 `json:"AnnounceTimestamp,omitempty" name:"AnnounceTimestamp"`

	// 上报时自行指定的 IP 或 产品实例ID
	AnnounceInstance string `json:"AnnounceInstance,omitempty" name:"AnnounceInstance"`
}

type QCloudMonitorClient

type QCloudMonitorClient struct {
	// contains filtered or unexported fields
}

func NewQCloudMonitorClient

func NewQCloudMonitorClient(qcc *qcloud.QCloudClientConfig) *QCloudMonitorClient

func (*QCloudMonitorClient) DebugModeNoLock

func (qcc *QCloudMonitorClient) DebugModeNoLock() bool

func (*QCloudMonitorClient) DescribeBaseMetricsWithRetry

func (qcc *QCloudMonitorClient) DescribeBaseMetricsWithRetry(cli *cm.Client, req *cm.DescribeBaseMetricsRequest) (*cm.DescribeBaseMetricsResponse, error)

func (*QCloudMonitorClient) DescribeStatisticData

func (qcc *QCloudMonitorClient) DescribeStatisticData(ctx context.Context, req *GetDataParam) (*GetDataResult, error)

func (*QCloudMonitorClient) DescribeStatisticDataWithRetry

func (qcc *QCloudMonitorClient) DescribeStatisticDataWithRetry(cli *cm.Client, req *cm.DescribeStatisticDataRequest) (*cm.DescribeStatisticDataResponse, error)

cloud monitor recommended to fetch container metrics by this api

func (*QCloudMonitorClient) EnableDebug

func (qcc *QCloudMonitorClient) EnableDebug() bool

func (*QCloudMonitorClient) ExponentialRetryCall

func (qcc *QCloudMonitorClient) ExponentialRetryCall(retryCnt int, f retryFunc, request interface{}) (interface{}, error)

func (*QCloudMonitorClient) GetMonitorData

func (*QCloudMonitorClient) GetMonitorDataWithRetry

func (qcc *QCloudMonitorClient) GetMonitorDataWithRetry(cli *cm.Client, req *cm.GetMonitorDataRequest) (*cm.GetMonitorDataResponse, error)

func (*QCloudMonitorClient) PutMonitorData

func (*QCloudMonitorClient) PutMonitorDataWithRetry

func (qcc *QCloudMonitorClient) PutMonitorDataWithRetry(cli *cm.Client, req *cm.PutMonitorDataRequest) (*cm.PutMonitorDataResponse, error)

func (*QCloudMonitorClient) UpdateCred

func (qcc *QCloudMonitorClient) UpdateCred(cred credential.QCloudCredential)

func (*QCloudMonitorClient) UpdateCredential

func (qcc *QCloudMonitorClient) UpdateCredential(cred credential.QCloudCredential)

func (*QCloudMonitorClient) UpdateCustomCredential

func (qcc *QCloudMonitorClient) UpdateCustomCredential(id, secret string)

type QueryConditions

type QueryConditions struct {
	Conditions []MidQueryCondition
}

查询过滤条件

func NewQueryConditions

func NewQueryConditions() *QueryConditions

func (*QueryConditions) AppendCondition

func (qc *QueryConditions) AppendCondition(key, operator string, value []string)

func (*QueryConditions) ToMidQueryConditions

func (qc *QueryConditions) ToMidQueryConditions() []*cm.MidQueryCondition

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL