Skip to content

Commit

Permalink
fix collector-agent failed to report raw metrics
Browse files Browse the repository at this point in the history
  • Loading branch information
chengjoey committed Jun 18, 2024
1 parent 52c72a9 commit a59b73e
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 8 deletions.
18 changes: 13 additions & 5 deletions cmd/monitor/collector/bootstrap-agent.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,12 @@ health:

erda.oap.collector.core:
pipelines:
raws:
- receivers: [ "erda.oap.collector.receiver.collector" ]
processors:
- "erda.oap.collector.processor.dropper@application-agent"
exporters: [ "erda.oap.collector.exporter.collector@metrics" ]

metrics:
- receivers:
#- "erda.oap.collector.receiver.dummy"
Expand All @@ -24,11 +30,6 @@ erda.oap.collector.core:
- "erda.oap.collector.exporter.collector@metrics"
batch_size: ${METRIC_PROMETHEUS_BATCH_SIZE:1024}

- receivers: [ "erda.oap.collector.receiver.collector" ]
processors:
- "erda.oap.collector.processor.dropper@application-agent"
exporters: [ "erda.oap.collector.exporter.collector@metrics" ]

external_metrics:
- receivers:
- "erda.oap.collector.receiver.prometheus-remote-write@external_metrics"
Expand All @@ -51,6 +52,13 @@ erda.oap.collector.core:

erda.oap.collector.receiver.prometheus-remote-write@default:

grpc-client@erda.core.token:
addr: "${ERDA_SERVER_GRPC_ADDR:erda-server:8096}"
erda.core.token-client:

erda.oap.collector.authentication:
sync_interval: ${COLLECTOR_AUTHENTICATION_AK_SYNC_INTERVAL:2m}

erda.oap.collector.receiver.collector:
auth:
username: "${COLLECTOR_AUTH_USERNAME:collector}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,9 +99,43 @@ func (p *provider) ExportMetric(items ...*metric.Metric) error {
return nil
}

func (p *provider) ExportLog(items ...*log.Log) error { return nil }
func (p *provider) ExportSpan(items ...*trace.Span) error { return nil }
func (p *provider) ExportRaw(items ...*odata.Raw) error { return nil }
func (p *provider) ExportLog(items ...*log.Log) error { return nil }
func (p *provider) ExportSpan(items ...*trace.Span) error { return nil }
func (p *provider) ExportRaw(items ...*odata.Raw) error {
data := make([]*metric.Metric, 0, len(items))
for _, item := range items {
m := metric.Metric{}
if err := json.Unmarshal(item.Data, &m); err != nil {
return fmt.Errorf("unmarshal data err: %w", err)
}
data = append(data, &m)
}
objs := map[string][]*metric.Metric{
"metrics": data,
}
buf, err := json.Marshal(&objs)
if err != nil {
return fmt.Errorf("serialize err: %w", err)
}
buf, err = p.cp.Compress(buf)
if err != nil {
return fmt.Errorf("compress err: %w", err)
}
req, err := http.NewRequest(http.MethodPost, p.Cfg.URL, bytes.NewReader(buf))
if err != nil {
return fmt.Errorf("create request err: %w", err)
}
setHeaders(req, p.Cfg.Headers)
p.au.Secure(req)
code, err := doRequest(p.client, req)
if err != nil {
return fmt.Errorf("do request err: %w", err)
}
if code < 200 || code >= 300 {
return fmt.Errorf("response status code %d is not success", code)
}
return nil
}
func (p *provider) ExportProfile(items ...*profile.Output) error { return nil }

func (p *provider) ComponentConfig() interface{} {
Expand Down

0 comments on commit a59b73e

Please sign in to comment.