首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Stackdriver失败

Stackdriver失败
EN

Server Fault用户
提问于 2016-03-28 20:32:50
回答 2查看 3.9K关注 0票数 6

我想让堆栈驱动程序和GCE一起工作。我查看了安装(执行stack-install.sh --write-gcm)的标准指令,但是它似乎根本不起作用。当我将监视警报添加到监视进程时,我得到:

代码语言:javascript
复制
Process monitoring not available for this instance

/var/log/messages中我看到:

代码语言:javascript
复制
Mar 28 19:47:59 myhost stackdriver-agent: which: no java in (/root/.gvm/bin:/usr/local/sbin:/sbin
:/usr/sbin:/bin:/usr/bin:/go/bin:/bin)
Mar 28 19:47:59 myhost stackdriver-agent: Starting stackdriver-collectd: option = PIDFile; value 
= /var/run/stackdriver-agent.pid;
Mar 28 19:47:59 myhost stackdriver-agent: option = Interval; value = 60.000000;
Mar 28 19:47:59 myhost stackdriver-agent: Created new plugin context.
Mar 28 19:47:59 myhost stackdriver-agent: [  OK  ]
Mar 28 19:47:59 myhost collectd[1934]: Initialization complete, entering read-loop.
Mar 28 19:47:59 myhost systemd: Started LSB: start and stop Stackdriver Agent.
Mar 28 19:47:59 myhost collectd[1934]: match_throttle_metadata_keys: 1 history entries, 1 distinc
t keys, 71 bytes server memory.
Mar 28 19:47:59 myhost collectd[1934]: tcpconns plugin: Reading from netlink succeeded. Will use 
the netlink method from now on.
Mar 28 19:47:59 myhost collectd[1934]: write_gcm: Asking metadata server for auth token

我已经验证服务已启用。当我检查权限时,它说我不需要特殊的凭据,因为我使用的是GCE。但是,当我重新启动堆栈驱动程序提取器服务时,我得到:

代码语言:javascript
复制
Please set STACKDRIVER_API_KEY in /etc/sysconfig/stackdriver

所以如果我设定..。我得到:

代码语言:javascript
复制
stackdriver-extractor[3020]: Starting stackdriver-extractor: Unable to determine extractor endpoint! 
stackdriver-extractor[3020]: Unable to generate config file

我觉得在项目级别上有些事情是不对劲的,在那里,这个服务并没有像它应该的那样自动地获取关键信息。

我钻研了剧本找到了它的来源..。

代码语言:javascript
复制
curl -f -H "Metadata-Flavor: Google" http://169.254.169.254/computeMetadata/v1/project/attributes/stackdriver-agent-key

但这是一个404。

另外,当我检查范围时:

代码语言:javascript
复制
# 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.useraccounts.readonly
https://www.googleapis.com/auth/devstorage.read_only
https://www.googleapis.com/auth/logging.write
https://www.googleapis.com/auth/monitoring.write

有什么想法吗?我的最终问题是,我无法在进程计数上创建警报,但我认为这是Stackdriver获得它的地方。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2016-03-30 14:19:29

为了解决这个问题,我修复了API密钥。我在编辑文件时不小心遗漏了双引号。

这就引出了下一个问题。我为什么要编辑这个文件?它们为添加API键提供了一个很好的简单实用程序。我们应该用它。

代码语言:javascript
复制
/opt/stackdriver/stack-config --api-key DEADBEEFDEADBEEFDEADBEEFDEADBEEF...

它甚至会为您重新启动服务。

至于我是怎么来到这个地方的.我不小心复制/粘贴了一个部分API密钥。这并不明显,因为我在最后有一点错过了。一点点很重要。

至于为什么我不能通过将范围更改为所有API访问来实现这一点,我不知道。我认为这是可行的,因为我真的不想在我的VM磁盘中浪费任何比我必须要做的更多的状态。但现在我会采取有效的解决办法。

最后一点建议..。如果您在这里,可能还需要找到您的API密钥。你可以在这里找到它:

https://app.google.stackdriver.com/settings/accounts/agent/

如果没有一个,你可以创建它。

祝好运!

票数 4
EN

Server Fault用户

发布于 2016-04-26 14:08:51

只是FYI,API键的使用是一种折旧/遗产。您应该启用Google监控API,只需安装代理即可。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/766577

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档