0

I'm currently running Cassandra, the OpsCenter, and the OpsCenter agent all on my dev Windows box. The agent is successfully connected to OpsCenter and I can see it listed there along with the amount of disk space it is using.

However, no other data is available including the available disk space (which not that interesting at present as there is only one machine and I'm using it), or any of the other metrics such as the write requests, latency, etc., all of which are far more useful.

I'm getting the following error appear in the opscenterd.log every minute, where it appears to be encountering an error while processing the disk space from the agent:

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:'

I'm currently using Datastax Community Edition 2.1.0 and have it installed on my E drive, which is presuming the hash key mentioned in the error message above.

Any ideas as to what I can do to resolve this?

2 Answers2

0

It turns out that the OpsCenter agent on Windows hard-codes the path to typeperf.exe as "\Windows\System32\typeperf.exe" and so fails to execute it if installed to anything other than the system drive.

The agent.log was repeatedly logging the following error:

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

According to http://www.datastax.com/support-forums/topic/error-loading-cluster-no-cassandra-connections-available an internal bug has been raised against this, but there is no current workaround other than to install on the system drive.

0

You can copy c:\Windows\System32\typeperf.exe to e:\Windows\System32\typeperf.exe or create a symlink.

treehouse
  • 241
  • 3
  • 7