Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Stackdriver Monitoring with full access scope not authorized

After deploying a brand new Google Compute Engine instance with full API access and installing the Stackdriver agent, the Monitoring is not showing any metrics from the agent.

According to the Install Agent manual no further settings (like manually configurating an API key) should be required.

The agent service status also shows the following error:

$ systemctl status stackdriver-agent
Jul 13 10:14:00 host stackdriver-agent[21203]: [  OK  ]
Jul 13 10:14:00 host systemd[1]: Started LSB: start and stop Stackdriver Agent.
Jul 13 10:14:00 host collectd[21226]: Initialization complete, entering read-loop.
Jul 13 10:14:00 host collectd[21226]: match_throttle_metadata_keys: 1 history entries, 1 distinct keys, 46 bytes server memory.
Jul 13 10:14:00 host collectd[21226]: tcpconns plugin: Reading from netlink succeeded. Will use the netlink method from now on.
Jul 13 10:14:00 host collectd[21226]: write_gcm: Asking metadata server for auth token
Jul 13 10:14:01 host collectd[21226]: write_gcm: Unsuccessful HTTP request 403: {
                                               "error": {
                                                 "code": 403,...
Jul 13 10:14:01 host collectd[21226]: write_gcm: Error talking to the endpoint.
Jul 13 10:14:01 host collectd[21226]: write_gcm: wg_transmit_unique_segment failed.
Jul 13 10:14:01 host collectd[21226]: write_gcm: wg_transmit_unique_segments failed. Flushing.

Google Cloud Console shows the instance having:

Cloud API access scopes
This instance has full API access to all Google Cloud services.

and running the following command inside the instance shows:

$ curl --silent -f -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/instance/service-accounts/default/scopes
https://www.googleapis.com/auth/cloud-platform

Any thoughts on what is going wrong?

like image 999
codemoped Avatar asked Jul 13 '16 11:07

codemoped


1 Answers

I figured it out:

You have to enable the Google Monitoring API in the API Manager, which is not enabled by default. No need to specify an API key, the default application credentials are picked up.

Interestingly, I have two projects which also use Stackdriver Monitoring since early this year and those do not require the Google Monitoring API to be enabled.

like image 189
codemoped Avatar answered Sep 21 '22 14:09

codemoped