39 lines
1 KiB
Python
39 lines
1 KiB
Python
import os
|
|
import metricbeat
|
|
import unittest
|
|
from nose.plugins.attrib import attr
|
|
|
|
|
|
class Test(metricbeat.BaseTest):
|
|
|
|
COMPOSE_SERVICES = ['munin']
|
|
|
|
@unittest.skipUnless(metricbeat.INTEGRATION_TESTS, "integration test")
|
|
def test_munin_node(self):
|
|
namespace = "node_test"
|
|
|
|
self.render_config_template(modules=[{
|
|
"name": "munin",
|
|
"metricsets": ["node"],
|
|
"hosts": self.get_hosts(),
|
|
"period": "1s",
|
|
"extras": {
|
|
"node.namespace": namespace,
|
|
},
|
|
}])
|
|
proc = self.start_beat()
|
|
self.wait_until(lambda: self.output_lines() > 0, max_timeout=20)
|
|
proc.check_kill_and_wait()
|
|
self.assert_no_logged_warnings()
|
|
|
|
output = self.read_output_json()
|
|
self.assertTrue(len(output) >= 1)
|
|
evt = output[0]
|
|
print(evt)
|
|
|
|
assert evt["munin"][namespace]["cpu"]["user"] > 0
|
|
|
|
def get_hosts(self):
|
|
return [os.getenv('MUNIN_HOST', 'localhost') + ':' +
|
|
os.getenv('MUNIN_PORT', '4949')]
|