В настоящее время я использую Cassandra, OpsCenter и агент OpsCenter на моем компьютере для разработчиков под Windows. Агент успешно подключен к 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 Community Edition 2.1.0, и он установлен на моем диске E, который предполагает хэш-ключ, упомянутый в сообщении об ошибке выше.
Есть идеи, что я могу сделать, чтобы решить эту проблему?
Вы можете скопировать c: \ Windows \ System32 \ typeperf.exe в e: \ Windows \ System32 \ typeperf.exe или создать символическую ссылку.
Оказывается, агент OpsCenter в Windows жестко кодирует путь к 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 против этого была поднята внутренняя ошибка, но в настоящее время нет другого решения, кроме установки на системный диск.