Beispiel #1
0
class TestNagiosStatsCollector(CollectorTestCase):
    def setUp(self):
        config = get_collector_config('NagiosStatsCollector', {
            'interval': 10,
            'bin': 'true',
            'use_sudo': False
        })

        self.collector = NagiosStatsCollector(config, None)

    def test_import(self):
        self.assertTrue(NagiosStatsCollector)

    @patch('os.access', Mock(return_value=True))
    @patch.object(Collector, 'publish')
    def test_should_work_with_real_data(self, publish_mock):
        patch_communicate = patch(
            'subprocess.Popen.communicate',
            Mock(return_value=(
                self.getFixture('nagiostat').getvalue(),
                '')))

        patch_communicate.start()
        self.collector.collect()
        patch_communicate.stop()

        metrics = {
            'AVGACTHSTLAT': 196,
            'AVGACTSVCLAT': 242,
            'AVGACTHSTEXT': 4037,
            'AVGACTSVCEXT': 340,
            'NUMHSTUP': 63,
            'NUMHSTDOWN': 0,
            'NUMHSTUNR': 0,
            'NUMSVCOK': 1409,
            'NUMSVCWARN': 3,
            'NUMSVCUNKN': 0,
            'NUMSVCCRIT': 7,
            'NUMHSTACTCHK5M': 56,
            'NUMHSTPSVCHK5M': 0,
            'NUMSVCACTCHK5M': 541,
            'NUMSVCPSVCHK5M': 0,
            'NUMACTHSTCHECKS5M': 56,
            'NUMOACTHSTCHECKS5M': 1,
            'NUMCACHEDHSTCHECKS5M': 1,
            'NUMSACTHSTCHECKS5M': 55,
            'NUMPARHSTCHECKS5M': 55,
            'NUMSERHSTCHECKS5M': 0,
            'NUMPSVHSTCHECKS5M': 0,
            'NUMACTSVCCHECKS5M': 1101,
            'NUMOACTSVCCHECKS5M': 0,
            'NUMCACHEDSVCCHECKS5M': 0,
            'NUMSACTSVCCHECKS5M': 1101,
            'NUMPSVSVCCHECKS5M': 0,
        }

        self.setDocExample(collector=self.collector.__class__.__name__,
                           metrics=metrics,
                           defaultpath=self.collector.config['path'])
        self.assertPublishedMany(publish_mock, metrics)
Beispiel #2
0
    def setUp(self):
        config = get_collector_config('NagiosStatsCollector', {
            'interval': 10,
            'bin' : 'true',
            'use_sudo' : False
        })

        self.collector = NagiosStatsCollector(config, None)
Beispiel #3
0
class TestNagiosStatsCollector(CollectorTestCase):
    def setUp(self):
        config = get_collector_config('NagiosStatsCollector', {
            'interval': 10,
            'bin': 'true',
            'use_sudo': False
        })

        self.collector = NagiosStatsCollector(config, None)

    def test_import(self):
        self.assertTrue(NagiosStatsCollector)

    @patch('os.access', Mock(return_value=True))
    @patch.object(Collector, 'publish')
    def test_should_work_with_real_data(self, publish_mock):
        patch_communicate = patch(
            'subprocess.Popen.communicate',
            Mock(return_value=(self.getFixture('nagiostat').getvalue(), '')))

        patch_communicate.start()
        self.collector.collect()
        patch_communicate.stop()

        metrics = {
            'AVGACTHSTLAT': 196,
            'AVGACTSVCLAT': 242,
            'AVGACTHSTEXT': 4037,
            'AVGACTSVCEXT': 340,
            'NUMHSTUP': 63,
            'NUMHSTDOWN': 0,
            'NUMHSTUNR': 0,
            'NUMSVCOK': 1409,
            'NUMSVCWARN': 3,
            'NUMSVCUNKN': 0,
            'NUMSVCCRIT': 7,
            'NUMHSTACTCHK5M': 56,
            'NUMHSTPSVCHK5M': 0,
            'NUMSVCACTCHK5M': 541,
            'NUMSVCPSVCHK5M': 0,
            'NUMACTHSTCHECKS5M': 56,
            'NUMOACTHSTCHECKS5M': 1,
            'NUMCACHEDHSTCHECKS5M': 1,
            'NUMSACTHSTCHECKS5M': 55,
            'NUMPARHSTCHECKS5M': 55,
            'NUMSERHSTCHECKS5M': 0,
            'NUMPSVHSTCHECKS5M': 0,
            'NUMACTSVCCHECKS5M': 1101,
            'NUMOACTSVCCHECKS5M': 0,
            'NUMCACHEDSVCCHECKS5M': 0,
            'NUMSACTSVCCHECKS5M': 1101,
            'NUMPSVSVCCHECKS5M': 0,
        }

        self.setDocExample(collector=self.collector.__class__.__name__,
                           metrics=metrics,
                           defaultpath=self.collector.config['path'])
        self.assertPublishedMany(publish_mock, metrics)
Beispiel #4
0
class TestNagiosStatsCollector(CollectorTestCase):
    def setUp(self):
        config = get_collector_config('NagiosStatsCollector', {
            'interval': 10,
            'nagiosstats_cmd': 'true',
            'use_sudo': False
        })

        self.collector = NagiosStatsCollector(config, None)

    @patch('os.access', Mock(return_value=True))
    @patch.object(Collector, 'publish')
    def test_should_work_with_real_data(self, publish_mock):
        with patch(
                'subprocess.Popen.communicate',
                Mock(return_value=(self.getFixture('nagiostat').getvalue(),
                                   ''))):
            self.collector.collect()

        self.assertPublishedMany(
            publish_mock, {
                'AVGACTHSTLAT': 196,
                'AVGACTSVCLAT': 242,
                'AVGACTHSTEXT': 4037,
                'AVGACTSVCEXT': 340,
                'NUMHSTUP': 63,
                'NUMHSTDOWN': 0,
                'NUMHSTUNR': 0,
                'NUMSVCOK': 1409,
                'NUMSVCWARN': 3,
                'NUMSVCUNKN': 0,
                'NUMSVCCRIT': 7,
                'NUMHSTACTCHK5M': 56,
                'NUMHSTPSVCHK5M': 0,
                'NUMSVCACTCHK5M': 541,
                'NUMSVCPSVCHK5M': 0,
                'NUMACTHSTCHECKS5M': 56,
                'NUMOACTHSTCHECKS5M': 1,
                'NUMCACHEDHSTCHECKS5M': 1,
                'NUMSACTHSTCHECKS5M': 55,
                'NUMPARHSTCHECKS5M': 55,
                'NUMSERHSTCHECKS5M': 0,
                'NUMPSVHSTCHECKS5M': 0,
                'NUMACTSVCCHECKS5M': 1101,
                'NUMOACTSVCCHECKS5M': 0,
                'NUMCACHEDSVCCHECKS5M': 0,
                'NUMSACTSVCCHECKS5M': 1101,
                'NUMPSVSVCCHECKS5M': 0,
            })
Beispiel #5
0
class TestNagiosStatsCollector(CollectorTestCase):
    def setUp(self):
        config = get_collector_config('NagiosStatsCollector', {
            'interval': 10,
            'nagiosstats_cmd' : 'true',
            'use_sudo' : False
        })

        self.collector = NagiosStatsCollector(config, None)

    @patch('os.access', Mock(return_value=True))
    @patch.object(Collector, 'publish')
    def test_should_work_with_real_data(self, publish_mock):
        with patch('subprocess.Popen.communicate', Mock(return_value =
            ( self.getFixture('nagiostat').getvalue() , '')
        )):
            self.collector.collect()

        self.assertPublishedMany(publish_mock, {
            'AVGACTHSTLAT' : 196, 
            'AVGACTSVCLAT' : 242, 
            'AVGACTHSTEXT' : 4037, 
            'AVGACTSVCEXT' : 340, 
            'NUMHSTUP' : 63, 
            'NUMHSTDOWN' : 0, 
            'NUMHSTUNR' : 0, 
            'NUMSVCOK' : 1409, 
            'NUMSVCWARN' : 3, 
            'NUMSVCUNKN' : 0, 
            'NUMSVCCRIT' : 7, 
            'NUMHSTACTCHK5M' : 56, 
            'NUMHSTPSVCHK5M' : 0, 
            'NUMSVCACTCHK5M' : 541, 
            'NUMSVCPSVCHK5M' : 0, 
            'NUMACTHSTCHECKS5M' : 56, 
            'NUMOACTHSTCHECKS5M' : 1, 
            'NUMCACHEDHSTCHECKS5M' : 1, 
            'NUMSACTHSTCHECKS5M' : 55, 
            'NUMPARHSTCHECKS5M' : 55, 
            'NUMSERHSTCHECKS5M' : 0, 
            'NUMPSVHSTCHECKS5M' : 0, 
            'NUMACTSVCCHECKS5M' : 1101, 
            'NUMOACTSVCCHECKS5M' : 0, 
            'NUMCACHEDSVCCHECKS5M' : 0, 
            'NUMSACTSVCCHECKS5M' : 1101, 
            'NUMPSVSVCCHECKS5M' : 0, 
        })
Beispiel #6
0
    def setUp(self):
        config = get_collector_config('NagiosStatsCollector', {
            'interval': 10,
            'nagiosstats_cmd' : 'true',
            'use_sudo' : False
        })

        self.collector = NagiosStatsCollector(config, None)