Skip to content

Commit cf5201f

Browse files
authored
Merge pull request #98 from zianazhao/dev/timeZone
feat
2 parents 6f6e634 + deb919a commit cf5201f

File tree

5 files changed

+74
-34
lines changed

5 files changed

+74
-34
lines changed

README.md

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,41 @@
1212

1313
产品 | 命名空间 |支持的指标|
1414
--------|---------|----------
15-
MongoDB |QCE/CMONGO|[指标详情](https://cloud.tencent.com/document/product/248/45104)
16-
CDB|QCE/CDB|[指标详情](https://cloud.tencent.com/document/product/248/45147)
15+
数据库MongoDB |QCE/CMONGO|[指标详情](https://cloud.tencent.com/document/product/248/45104)
16+
数据库MySQL(CDB)|QCE/CDB|[指标详情](https://cloud.tencent.com/document/product/248/45147)
1717
Redis标准版|QCE/REDIS(即将下线,不推荐)|[指标详情](https://cloud.tencent.com/document/product/248/45111)
1818
Redis集群版|QCE/REDIS_CLUSTER(即将下线,不推荐)|[指标详情](https://cloud.tencent.com/document/product/248/45111)
19-
Redis内存版监控指标|QCE/REDIS_MEM|[指标详情](https://cloud.tencent.com/document/product/248/49729)
20-
CVM|QCE/CVM|[指标详情](https://cloud.tencent.com/document/product/248/6843)
19+
数据库Redis(内存版)|QCE/REDIS_MEM|[指标详情](https://cloud.tencent.com/document/product/248/49729)
20+
云服务器CVM|QCE/CVM|[指标详情](https://cloud.tencent.com/document/product/248/6843)
2121
COS|QCE/COS|[指标详情](https://cloud.tencent.com/document/product/248/45140)
2222
CDN|QCE/CDN|[指标详情](https://cloud.tencent.com/document/product/248/45138)
23-
CLB(公网)|QCE/LB_PUBLIC|[指标详情](https://cloud.tencent.com/document/product/248/45047)
24-
CLB(7层)|QCE/LOADBALANCE|[指标详情](https://cloud.tencent.com/document/product/248/45045)
25-
NAT|QCE/NAT_GATEWAY|[指标详情](https://cloud.tencent.com/document/product/248/45069)
23+
负载均衡CLB(公网)|QCE/LB_PUBLIC|[指标详情](https://cloud.tencent.com/document/product/248/45047)
24+
负载均衡CLB(7层)|QCE/LOADBALANCE|[指标详情](https://cloud.tencent.com/document/product/248/45045)
25+
NAT网关|QCE/NAT_GATEWAY|[指标详情](https://cloud.tencent.com/document/product/248/45069)
2626
物理专线|QCE/DC|[指标详情](https://cloud.tencent.com/document/product/248/45102)
2727
专用通道|QCE/DCX|[指标详情](https://cloud.tencent.com/document/product/248/45101)
2828
云硬盘|QCE/CBS|[指标详情](https://cloud.tencent.com/document/product/248/45411)
29-
SqlServer|QCE/SQLSERVER|[指标详情](https://cloud.tencent.com/document/product/248/45146)
30-
MariaDB|QCE/MARIADB|[指标详情](https://cloud.tencent.com/document/product/248/54397)
29+
数据库SQL Server|QCE/SQLSERVER|[指标详情](https://cloud.tencent.com/document/product/248/45146)
30+
数据库MariaDB|QCE/MARIADB|[指标详情](https://cloud.tencent.com/document/product/248/54397)
3131
Elasticsearch|QCE/CES|[指标详情](https://cloud.tencent.com/document/product/248/45129)
3232
CMQ 队列服务|QCE/CMQ(即将下线,不推荐)|[指标详情](https://cloud.tencent.com/document/product/248/45114)
3333
CMQ 主题订阅|QCE/CMQTOPIC(即将下线,不推荐)|[指标详情](https://cloud.tencent.com/document/product/248/45113)
34-
PostgreSQL|QCE/POSTGRES|[指标详情](https://cloud.tencent.com/document/product/248/45105)
34+
数据库PostgreSQL|QCE/POSTGRES|[指标详情](https://cloud.tencent.com/document/product/248/45105)
3535
CKafka 实例|QCE/CKAFKA|[指标详情](https://cloud.tencent.com/document/product/248/45121)
3636
Memcached |QCE/MEMCACHED|指标详情说明文档(待上线)
37-
Lighthouse |QCE/LIGHTHOUSE|[指标详情](https://cloud.tencent.com/document/product/248/60127)
38-
分布式数据库 TDSQL MySQL 实例|QCE/TDMYSQL|[指标详情](https://cloud.tencent.com/document/product/248/54401)
37+
轻量应用服务器Lighthouse |QCE/LIGHTHOUSE|[指标详情](https://cloud.tencent.com/document/product/248/60127)
38+
分布式数据库 TDSQL MySQL|QCE/TDMYSQL|[指标详情](https://cloud.tencent.com/document/product/248/54401)
3939
弹性公网 IP|QCE/LB|[指标详情](https://cloud.tencent.com/document/product/248/45099)
40-
TDMQ RocketMQ 版|QCE/TDMQ|[指标详情](https://cloud.tencent.com/document/product/248/51450#tdmq-rocketmq-.E7.89.88)
40+
消息队列RocketMQ版|QCE/TDMQ|[指标详情](https://cloud.tencent.com/document/product/248/51450#tdmq-rocketmq-.E7.89.88)
4141
VPN 网关|QCE/VPNGW|[指标详情](https://cloud.tencent.com/document/product/248/45070)
4242
VPN 通道|QCE/VPNX|[指标详情](https://cloud.tencent.com/document/product/248/45071)
4343
CYNOSDB_MYSQL|QCE/CYNOSDB_MYSQL|[指标详情](https://cloud.tencent.com/document/product/248/45106)
4444
云联网|QCE/VBC|[指标详情](https://cloud.tencent.com/document/product/248/75629)
45-
数据传输 |QCE/DTS|指标详情说明文档(待上线)
45+
数据传输 |QCE/DTS|[指标详情](https://cloud.tencent.com/document/product/248/82251)
4646
专线网关 |QCE/DCG|指标详情说明文档(待上线)
4747
全球应用加速|QCE/QAAP|[指标详情](https://cloud.tencent.com/document/product/248/45062)
48-
WAF |QCE/WAF|指标详情说明文档(待上线)
49-
CLB(内网)|QCE/LB_PRIVATE|[指标详情](https://cloud.tencent.com/document/product/248/51899)
50-
48+
Web应用防火墙 |QCE/WAF|[指标详情](https://cloud.tencent.com/document/product/248/48124)
49+
负载均衡CLB(内网)|QCE/LB_PRIVATE|[指标详情](https://cloud.tencent.com/document/product/248/51899)
5150
`后续会有更多的产品支持`
5251

5352
## 二、快速开始

pkg/collector/handler_cbs.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,14 @@ func (h *cbsHandler) GetNamespace() string {
3333
}
3434

3535
func (h *cbsHandler) IsMetricVaild(m *metric.TcmMetric) bool {
36+
// 暂时过滤nvme盘类指标
37+
var dimensions []string
38+
for _, v := range m.Meta.SupportDimensions {
39+
dimensions = append(dimensions, v)
40+
}
41+
if util.IsStrInList(dimensions, "vmUuid") {
42+
return false
43+
}
3644
return true
3745
}
3846

pkg/collector/handler_clb7.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,14 @@ var (
2323
"activeconnratio",
2424
"newactiveconnratio",
2525
"outtrafficratio",
26+
"rsptimeout",
27+
"setreqavg",
28+
"setreqmax",
29+
"setrspavg",
30+
"setrspmax",
31+
"settotalreq",
32+
"vrsptimeout",
33+
"vsettotalreq",
2634
}
2735
)
2836

pkg/collector/handler_clb_private.go

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,10 @@ var (
2323
}
2424
)
2525

26+
var (
27+
LbPrivateSupportDimensions = []string{"vip", "vpcId", "loadBalancerPort", "protocol", "lanIp", "port"}
28+
)
29+
2630
func init() {
2731
registerHandler(ClbPrivateNamespace, defaultHandlerEnabled, NewClbPrivateHandler)
2832
}
@@ -119,32 +123,35 @@ func (h *ClbPrivateHandler) GetSeriesByAll(m *metric.TcmMetric) ([]*metric.TcmSe
119123
return slist, nil
120124
}
121125

122-
func (h *ClbPrivateHandler) GetSeriesByCustom(m *metric.TcmMetric) ([]*metric.TcmSeries, error) {
123-
var slist []*metric.TcmSeries
126+
func (h *ClbPrivateHandler) GetSeriesByCustom(m *metric.TcmMetric) (slist []*metric.TcmSeries, err error) {
124127
for _, ql := range m.Conf.CustomQueryDimensions {
125-
v, ok := ql[h.monitorQueryKey]
126-
if !ok {
127-
level.Error(h.logger).Log(
128-
"msg", fmt.Sprintf("not found %s in queryDimensions", h.monitorQueryKey),
129-
"ql", fmt.Sprintf("%v", ql))
130-
continue
131-
}
132-
ins, err := h.collector.InstanceRepo.Get(v)
133-
if err != nil {
134-
level.Error(h.logger).Log("msg", "Instance not found", "err", err, "id", v)
128+
if !h.checkMonitorQueryKeys(m, ql) {
135129
continue
136130
}
137131

138-
sl, err := h.getSeriesByMetricType(m, ins)
132+
s, err := metric.NewTcmSeries(m, ql, nil)
139133
if err != nil {
140-
level.Error(h.logger).Log("msg", "Create metric series fail",
141-
"metric", m.Meta.MetricName, "instacne", ins.GetInstanceId())
134+
level.Error(h.logger).Log("msg", "Create metric series fail", "metric", m.Meta.MetricName,
135+
"ql", fmt.Sprintf("%v", ql))
142136
continue
143137
}
144-
slist = append(slist, sl...)
138+
slist = append(slist, s)
145139
}
146-
return slist, nil
140+
return
147141
}
142+
func (h *ClbPrivateHandler) checkMonitorQueryKeys(m *metric.TcmMetric, ql map[string]string) bool {
143+
for k := range ql {
144+
if !util.IsStrInList(LbPrivateSupportDimensions, k) {
145+
level.Error(h.logger).Log("msg", fmt.Sprintf("not found %s in supportQueryDimensions", k),
146+
"ql", fmt.Sprintf("%v", ql),
147+
"sd", fmt.Sprintf("%v", m.Meta.SupportDimensions),
148+
)
149+
return false
150+
}
151+
}
152+
return true
153+
}
154+
148155
func (h *ClbPrivateHandler) getSeriesByMetricType(m *metric.TcmMetric, ins instance.TcInstance) ([]*metric.TcmSeries, error) {
149156
var dimensions []string
150157
for _, v := range m.Meta.SupportDimensions {

pkg/collector/handler_tdmq.go

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package collector
22

33
import (
44
"fmt"
5+
"strings"
56
"time"
67

78
"github.com/go-kit/log"
@@ -17,6 +18,19 @@ const (
1718
TdmqInstanceidKey = "tenant"
1819
)
1920

21+
var (
22+
RocketMQOnlyIncludeMetrics = []string{
23+
"ropratein",
24+
"roprateout",
25+
"ropthroughputin",
26+
"ropthroughputout",
27+
"ropmsgbacklog",
28+
"ropmsgaveragesize",
29+
"ropinmessagetotal",
30+
"ropgroupcount",
31+
}
32+
)
33+
2034
func init() {
2135
registerHandler(TdmqNamespace, defaultHandlerEnabled, NewTdmqHandler)
2236
}
@@ -36,6 +50,10 @@ func (h *tdmqHandler) GetNamespace() string {
3650
}
3751

3852
func (h *tdmqHandler) IsMetricVaild(m *metric.TcmMetric) bool {
53+
// 暂时只支持 TDMQ RocketMQ 版指标
54+
if !util.IsStrInList(RocketMQOnlyIncludeMetrics, strings.ToLower(m.Meta.MetricName)) {
55+
return false
56+
}
3957
_, ok := excludeMetricName[m.Meta.MetricName]
4058
if ok {
4159
return false

0 commit comments

Comments
 (0)