Skip to content

Commit 7e36701

Browse files
committed
fix extra label/exclude instances bug
1 parent 9c76e86 commit 7e36701

File tree

6 files changed

+15
-11
lines changed

6 files changed

+15
-11
lines changed

pkg/collector/handler.go

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

33
import (
44
"fmt"
5+
"github.com/tencentyun/tencentcloud-exporter/pkg/util"
56

67
"github.com/go-kit/kit/log"
78
"github.com/go-kit/kit/log/level"
@@ -107,6 +108,9 @@ func (h *baseProductHandler) GetSeriesByAll(m *metric.TcmMetric) ([]*metric.TcmS
107108
return nil, err
108109
}
109110
for _, ins := range insList {
111+
if len(m.Conf.ExcludeInstances) != 0 && util.IsStrInList(m.Conf.ExcludeInstances, ins.GetInstanceId()) {
112+
continue
113+
}
110114
ql := map[string]string{
111115
h.monitorQueryKey: ins.GetMonitorQueryKey(),
112116
}

pkg/collector/handler_cmq.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
"github.com/go-kit/kit/log"
66
"github.com/go-kit/kit/log/level"
77
"github.com/tencentyun/tencentcloud-exporter/pkg/metric"
8+
"github.com/tencentyun/tencentcloud-exporter/pkg/util"
89
)
910

1011
const (
@@ -75,6 +76,9 @@ func (h *cmqHandler) GetSeriesByAll(m *metric.TcmMetric) ([]*metric.TcmSeries, e
7576
return nil, err
7677
}
7778
for _, ins := range insList {
79+
if len(m.Conf.ExcludeInstances) != 0 && util.IsStrInList(m.Conf.ExcludeInstances, ins.GetInstanceId()) {
80+
continue
81+
}
7882
queueName,err:=ins.GetFieldValueByName("QueueName")
7983
if err!=nil{
8084
level.Error(h.logger).Log("msg", "queue name not found")

pkg/collector/handler_mongo.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,6 @@ func (h *mongoHandler) GetSeriesByCustom(m *metric.TcmMetric) ([]*metric.TcmSeri
131131
func (h *mongoHandler) getSeriesByMetricType(m *metric.TcmMetric, ins instance.TcInstance) (slist []*metric.TcmSeries, err error) {
132132
if util.IsStrInList(MongoClusterMetrics, strings.ToLower(m.Meta.MetricName)) {
133133
// 集群纬度
134-
// cmgo-6ielucen
135134
ql := map[string]string{
136135
MongoInstanceidKey: ins.GetInstanceId(),
137136
}

pkg/collector/handler_redis_mem.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"github.com/go-kit/kit/log/level"
77
"github.com/tencentyun/tencentcloud-exporter/pkg/instance"
88
"github.com/tencentyun/tencentcloud-exporter/pkg/metric"
9+
"github.com/tencentyun/tencentcloud-exporter/pkg/util"
910
"strings"
1011
"time"
1112
)
@@ -93,6 +94,9 @@ func (h *redisMemHandler) GetSeriesByAll(m *metric.TcmMetric) ([]*metric.TcmSeri
9394
return nil, err
9495
}
9596
for _, ins := range insList {
97+
if len(m.Conf.ExcludeInstances) != 0 && util.IsStrInList(m.Conf.ExcludeInstances, ins.GetInstanceId()) {
98+
continue
99+
}
96100
sl, err := h.getSeriesByMetricType(m, ins)
97101
if err != nil {
98102
level.Error(h.logger).Log("msg", "Create metric series fail",

pkg/instance/instance.go

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package instance
33
import (
44
"fmt"
55
"reflect"
6-
"strconv"
76
)
87

98
// 每个产品的实例对象, 可用于配置导出指标的额外label填充, 根据字段名获取值
@@ -39,12 +38,5 @@ func (ins *baseTcInstance) GetFieldValueByName(name string) (string, error) {
3938
if v.Kind() == reflect.Ptr {
4039
v = reflect.Indirect(v)
4140
}
42-
switch k := v.Kind(); k {
43-
case reflect.Uint64:
44-
return strconv.FormatUint(v.Uint(), 10), nil
45-
case reflect.String:
46-
return v.String(), nil
47-
default:
48-
return "", fmt.Errorf("value type not support, type=%s", k)
49-
}
41+
return fmt.Sprintf("%v", v.Interface()), nil
5042
}

pkg/instance/repository_cbs.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package instance
22

33
import (
44
"fmt"
5-
65
"github.com/go-kit/kit/log"
76
"github.com/go-kit/kit/log/level"
87
sdk "github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/cbs/v20170312"
@@ -15,6 +14,7 @@ func init() {
1514
}
1615

1716
type CbsTcInstanceRepository struct {
17+
c *config.TencentConfig
1818
client *sdk.Client
1919
logger log.Logger
2020
}
@@ -84,6 +84,7 @@ func NewCbsTcInstanceRepository(c *config.TencentConfig, logger log.Logger) (rep
8484
return
8585
}
8686
repo = &CbsTcInstanceRepository{
87+
c: c,
8788
client: cli,
8889
logger: logger,
8990
}

0 commit comments

Comments
 (0)