代理已连接到 Opscenter,但没有可用数据

代理已连接到 Opscenter,但没有可用数据

我目前在我的 Windows 开发机上运行 Cassandra、OpsCenter 和 OpsCenter 代理。代理已成功连接到 OpsCenter,我可以看到它列在那里,以及它使用的磁盘空间量。

但是,没有其他可用的数据,包括可用磁盘空间(目前并不那么有趣,因为只有一台机器而且我正在使用它),或任何其他指标,如写入请求、延迟等,所有这些都更有用。

我每分钟都会在 opscenterd.log 中看到以下错误,似乎是在处理代理的磁盘空间时遇到错误:

2014-11-05 07:33:38+1000 []  INFO: Unhandled error in Deferred:
2014-11-05 07:33:38+1000 [] Unhandled Error
    Traceback (most recent call last):
      File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\morbid.py", line 48, in dataReceived
        getattr(self, 'read_%s' % self.state)(**msg)
      File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\morbid.py", line 102, in read_connected
        d.addCallback(getattr(self, 'frame_%s' % cmd))
      File "E:\Program Files\DataStax Community\opscenter\lib\py-win32\2.7\twisted\internet\defer.py", line 297, in addCallback
        callbackKeywords=kw)
      File "E:\Program Files\DataStax Community\opscenter\lib\py-win32\2.7\twisted\internet\defer.py", line 286, in addCallbacks
        self._runCallbacks()
    --- <exception caught here> ---
      File "E:\Program Files\DataStax Community\opscenter\lib\py-win32\2.7\twisted\internet\defer.py", line 542, in _runCallbacks
        current.result = callback(current.result, *args, **kw)
      File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\morbid.py", line 122, in frame_send
        self.factory.mqm.send_message(self, headers['destination'], (headers, body))
      File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\messagequeue.py", line 146, in send_message
        self.message_queues[dest_name].send(message)
      File "E:\Program Files\DataStax Community\opscenter\lib\py\morbid\messagequeue.py", line 76, in send
        proto.send(self.prep_message(message))
      File "build/lib/python2.7/site-packages/opscenterd/OrbitedService.py", line 265, in send

      File "build/lib/python2.7/site-packages/opscenterd/Agents.py", line 294, in routeIncoming

      File "build/lib/python2.7/site-packages/opscenterd/Agents.py", line 689, in processStorageInfo

      File "build/lib/python2.7/site-packages/opscenterd/Cluster.py", line 1107, in updateStorageInfo

      File "build/lib/python2.7/site-packages/opscenterd/Cluster.py", line 1096, in sumDiskSpace

    exceptions.KeyError: u'E:'

我目前正在使用 Datastax 社区版 2.1.0,并将其安装在我的 E 盘上,它假定了上述错误消息中提到的哈希键。

关于我可以做什么来解决这个问题?

答案1

事实证明,Windows 上的 OpsCenter 代理将 typeperf.exe 的路径硬编码为“\Windows\System32\typeperf.exe”,因此如果将其安装到系统驱动器以外的任何位置,则无法执行它。

agent.log 反复记录以下错误:

ERROR [os-metrics-14] 2014-11-20 11:28:39,088 Long os-stats collector failed: Cannot run program "\Windows\System32\typeperf.exe": CreateProcess error=2, The system cannot find the file specified

根据http://www.datastax.com/support-forums/topic/error-loading-cluster-no-cassandra-connections-available针对此问题已经出现了一个内部错误,但是除了安装在系统驱动器上之外,目前没有其他解决方法。

答案2

您可以将 c:\Windows\System32\typeperf.exe 复制到 e:\Windows\System32\typeperf.exe 或创建一个符号链接。

相关内容