Beispiel #1
0
def test_parse_diskstat_simple():
    assert diskstat.parse_diskstat([
        ['1439297971'],
        [
            '8', '0', 'sda', '83421', '32310', '3426701', '108964', '24516', '35933', '639474',
            '32372', '0', '18532', '141496'
        ],
        ['8', '16', 'sdb', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0'],
        ['[dmsetup_info]'],
        ['No', 'devices', 'found'],
    ]) == {
        'sda': {
            'timestamp': 1439297971,
            'read_ticks': 108.964,
            'write_ticks': 32.372,
            'read_ios': 83421,
            'write_ios': 24516,
            'read_throughput': 1754470912,
            'write_throughput': 327410688,
            'utilization': 18.532,
            'queue_length': 0
        },
        'sdb': {
            'timestamp': 1439297971,
            'read_ticks': 0.0,
            'write_ticks': 0.0,
            'read_ios': 0,
            'write_ios': 0,
            'read_throughput': 0,
            'write_throughput': 0,
            'utilization': 0.0,
            'queue_length': 0
        }
    }
Beispiel #2
0
def test_parse_diskstat_minimum():
    assert (
        diskstat.parse_diskstat(
            [
                ["12341241243"],
            ]
        )
        == {}
    )
Beispiel #3
0
def test_parse_diskstat_simple():
    assert diskstat.parse_diskstat([
        ["1439297971"],
        [
            "8",
            "0",
            "sda",
            "83421",
            "32310",
            "3426701",
            "108964",
            "24516",
            "35933",
            "639474",
            "32372",
            "0",
            "18532",
            "141496",
        ],
        [
            "8", "16", "sdb", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0",
            "0"
        ],
        ["[dmsetup_info]"],
        ["No", "devices", "found"],
    ]) == {
        "sda": {
            "timestamp": 1439297971,
            "read_ticks": 108.964,
            "write_ticks": 32.372,
            "read_ios": 83421,
            "write_ios": 24516,
            "read_throughput": 1754470912,
            "write_throughput": 327410688,
            "utilization": 18.532,
            "queue_length": 0,
        },
        "sdb": {
            "timestamp": 1439297971,
            "read_ticks": 0.0,
            "write_ticks": 0.0,
            "read_ios": 0,
            "write_ios": 0,
            "read_throughput": 0,
            "write_throughput": 0,
            "utilization": 0.0,
            "queue_length": 0,
        },
    }
Beispiel #4
0
def test_parse_diskstat_dmsetup():
    assert diskstat.parse_diskstat([
        ['1596025224'],
        [
            '259', '0', 'nvme0n1', '1497491', '455400', '113361605', '1143198',
            '773329', '599538', '37988658', '1395234', '0', '604316',
            '1097280', '0', '0', '0', '0'
        ],
        [
            '253', '0', 'dm-0', '1951297', '0', '113329354', '2084064',
            '1339672', '0', '37988424', '12603352', '0', '608364', '14687416',
            '0', '0', '0', '0'
        ],
        [
            '253', '1', 'dm-1', '1876633', '0', '112723490', '2074720',
            '1025893', '0', '35617992', '7615504', '0', '587960', '9690224',
            '0', '0', '0', '0'
        ],
        [
            '253', '2', 'dm-2', '74620', '0', '604024', '12548', '309840', '0',
            '2478720', '4781108', '0', '23492', '4793656', '0', '0', '0', '0'
        ],
        ['[dmsetup_info]'],
        ['nvme0n1p3_crypt', '253:0'],
        ['ubuntu--vg-swap_1', '253:2', 'ubuntu-vg', 'swap_1'],
        ['ubuntu--vg-root', '253:1', 'ubuntu-vg', 'root'],
    ]) == {
        'nvme0n1': {
            'timestamp': 1596025224,
            'read_ticks': 1143.198,
            'write_ticks': 1395.234,
            'read_ios': 1497491,
            'write_ios': 773329,
            'read_throughput': 58041141760,
            'write_throughput': 19450192896,
            'utilization': 604.316,
            'queue_length': 0
        },
        'DM nvme0n1p3_crypt': {
            'timestamp': 1596025224,
            'read_ticks': 2084.064,
            'write_ticks': 12603.352,
            'read_ios': 1951297,
            'write_ios': 1339672,
            'read_throughput': 58024629248,
            'write_throughput': 19450073088,
            'utilization': 608.364,
            'queue_length': 0
        },
        'LVM ubuntu--vg-root': {
            'timestamp': 1596025224,
            'read_ticks': 2074.72,
            'write_ticks': 7615.504,
            'read_ios': 1876633,
            'write_ios': 1025893,
            'read_throughput': 57714426880,
            'write_throughput': 18236411904,
            'utilization': 587.96,
            'queue_length': 0
        },
        'LVM ubuntu--vg-swap_1': {
            'timestamp': 1596025224,
            'read_ticks': 12.548,
            'write_ticks': 4781.108,
            'read_ios': 74620,
            'write_ios': 309840,
            'read_throughput': 309260288,
            'write_throughput': 1269104640,
            'utilization': 23.492,
            'queue_length': 0
        }
    }
Beispiel #5
0
def test_parse_diskstat_minimum():
    assert diskstat.parse_diskstat([
        ['12341241243'],
    ]) == {}
Beispiel #6
0
def test_parse_diskstat_vx_dsk():
    assert diskstat.parse_diskstat([
        ['1439883623'],
        [
            '253', '0', 'dm-0', '5888172', '0', '49638154', '234782',
            '19476903', '0', '155815224', '13469572', '0', '5663303',
            '13713680'
        ],
        [
            '253', '1', 'dm-1', '5851194', '0', '46809552', '154378', '0', '0',
            '0', '0', '0', '154404', '154405'
        ],
        [
            '65', '192', 'sdac', '1677718', '2543608', '8858709', '200958',
            '4217589', '28', '251814166', '1133920', '0', '1059518', '1333205'
        ],
        [
            '253', '2', 'dm-2', '5857900', '0', '47115410', '183023',
            '560857145', '0', '4486857160', '81720481', '0', '18413486',
            '81960804'
        ],
        [
            '253', '3', 'dm-3', '5851198', '0', '46809578', '162306',
            '12883365', '0', '103066920', '25366952', '0', '910764', '25529266'
        ],
        [
            '199', '3000', 'VxVM3000', '595084', '173', '8680186', '174091',
            '72847857', '500306960', '4585269136', '212664111', '0',
            '80648985', '212785322'
        ],
        [
            '199', '7000', 'VxVM7000', '479267', '152', '4033890', '103249',
            '12690313', '92841124', '844251992', '28260756', '0', '26058778',
            '28358884'
        ],
        [
            '199', '8000', 'VxVM8000', '543077', '291', '37131250', '274160',
            '19336020', '281685620', '2408182752', '155722978', '0',
            '30286244', '155989384'
        ],
        [
            '66', '160', 'sdaq', '239411', '559267', '1921823', '131489',
            '1710651', '286', '119899732', '1040265', '0', '509307', '1171318'
        ],
        [
            '199', '11000', 'VxVM11000', '209312', '96', '1747658', '48511',
            '6223668', '52087993', '466495304', '16982595', '0', '10872733',
            '17028919'
        ],
        [
            '199', '28000', 'VxVM28000', '971', '7834', '70442', '4614',
            '4142', '407556', '3293584', '26623', '0', '9388', '31237'
        ],
        ['[dmsetup_info]'],
        ['VGlocal-LVvar', '253:2', 'VGlocal', 'LVvar'],
        ['VGlocal-LVswap', '253:1', 'VGlocal', 'LVswap'],
        ['VGlocal-LVroot', '253:0', 'VGlocal', 'LVroot'],
        ['VGlocal-LVtmp', '253:3', 'VGlocal', 'LVtmp'],
        ['[vx_dsk]'],
        ['c7', 'bb8', '/dev/vx/dsk/db01dg/db01vol'],
        ['c7', '1f40', '/dev/vx/dsk/db02dg/db02vol'],
        ['c7', '1b58', '/dev/vx/dsk/db03dg/db03vol'],
        ['c7', '6d60', '/dev/vx/dsk/db04dg/db04vol'],
        ['c7', '2af8', '/dev/vx/dsk/db05dg/db05vol'],
    ]) == {
        'LVM VGlocal-LVroot': {
            'timestamp': 1439883623,
            'read_ticks': 234.782,
            'write_ticks': 13469.572,
            'read_ios': 5888172,
            'write_ios': 19476903,
            'read_throughput': 25414734848,
            'write_throughput': 79777394688,
            'utilization': 5663.303,
            'queue_length': 0
        },
        'LVM VGlocal-LVswap': {
            'timestamp': 1439883623,
            'read_ticks': 154.378,
            'write_ticks': 0.0,
            'read_ios': 5851194,
            'write_ios': 0,
            'read_throughput': 23966490624,
            'write_throughput': 0,
            'utilization': 154.404,
            'queue_length': 0
        },
        'sdac': {
            'timestamp': 1439883623,
            'read_ticks': 200.958,
            'write_ticks': 1133.92,
            'read_ios': 1677718,
            'write_ios': 4217589,
            'read_throughput': 4535659008,
            'write_throughput': 128928852992,
            'utilization': 1059.518,
            'queue_length': 0
        },
        'LVM VGlocal-LVvar': {
            'timestamp': 1439883623,
            'read_ticks': 183.023,
            'write_ticks': 81720.481,
            'read_ios': 5857900,
            'write_ios': 560857145,
            'read_throughput': 24123089920,
            'write_throughput': 2297270865920,
            'utilization': 18413.486,
            'queue_length': 0
        },
        'LVM VGlocal-LVtmp': {
            'timestamp': 1439883623,
            'read_ticks': 162.306,
            'write_ticks': 25366.952,
            'read_ios': 5851198,
            'write_ios': 12883365,
            'read_throughput': 23966503936,
            'write_throughput': 52770263040,
            'utilization': 910.764,
            'queue_length': 0
        },
        'VxVM db01dg-db01vol': {
            'timestamp': 1439883623,
            'read_ticks': 174.091,
            'write_ticks': 212664.111,
            'read_ios': 595084,
            'write_ios': 72847857,
            'read_throughput': 4444255232,
            'write_throughput': 2347657797632,
            'utilization': 80648.985,
            'queue_length': 0
        },
        'VxVM db03dg-db03vol': {
            'timestamp': 1439883623,
            'read_ticks': 103.249,
            'write_ticks': 28260.756,
            'read_ios': 479267,
            'write_ios': 12690313,
            'read_throughput': 2065351680,
            'write_throughput': 432257019904,
            'utilization': 26058.778,
            'queue_length': 0
        },
        'VxVM db02dg-db02vol': {
            'timestamp': 1439883623,
            'read_ticks': 274.16,
            'write_ticks': 155722.978,
            'read_ios': 543077,
            'write_ios': 19336020,
            'read_throughput': 19011200000,
            'write_throughput': 1232989569024,
            'utilization': 30286.244,
            'queue_length': 0
        },
        'sdaq': {
            'timestamp': 1439883623,
            'read_ticks': 131.489,
            'write_ticks': 1040.265,
            'read_ios': 239411,
            'write_ios': 1710651,
            'read_throughput': 983973376,
            'write_throughput': 61388662784,
            'utilization': 509.307,
            'queue_length': 0
        },
        'VxVM db05dg-db05vol': {
            'timestamp': 1439883623,
            'read_ticks': 48.511,
            'write_ticks': 16982.595,
            'read_ios': 209312,
            'write_ios': 6223668,
            'read_throughput': 894800896,
            'write_throughput': 238845595648,
            'utilization': 10872.733,
            'queue_length': 0
        },
        'VxVM db04dg-db04vol': {
            'timestamp': 1439883623,
            'read_ticks': 4.614,
            'write_ticks': 26.623,
            'read_ios': 971,
            'write_ios': 4142,
            'read_throughput': 36066304,
            'write_throughput': 1686315008,
            'utilization': 9.388,
            'queue_length': 0
        }
    }
Beispiel #7
0
def test_parse_diskstat_vx_dsk():
    assert diskstat.parse_diskstat(
        [
            ["1439883623"],
            [
                "253",
                "0",
                "dm-0",
                "5888172",
                "0",
                "49638154",
                "234782",
                "19476903",
                "0",
                "155815224",
                "13469572",
                "0",
                "5663303",
                "13713680",
            ],
            [
                "253",
                "1",
                "dm-1",
                "5851194",
                "0",
                "46809552",
                "154378",
                "0",
                "0",
                "0",
                "0",
                "0",
                "154404",
                "154405",
            ],
            [
                "65",
                "192",
                "sdac",
                "1677718",
                "2543608",
                "8858709",
                "200958",
                "4217589",
                "28",
                "251814166",
                "1133920",
                "0",
                "1059518",
                "1333205",
            ],
            [
                "253",
                "2",
                "dm-2",
                "5857900",
                "0",
                "47115410",
                "183023",
                "560857145",
                "0",
                "4486857160",
                "81720481",
                "0",
                "18413486",
                "81960804",
            ],
            [
                "253",
                "3",
                "dm-3",
                "5851198",
                "0",
                "46809578",
                "162306",
                "12883365",
                "0",
                "103066920",
                "25366952",
                "0",
                "910764",
                "25529266",
            ],
            [
                "199",
                "3000",
                "VxVM3000",
                "595084",
                "173",
                "8680186",
                "174091",
                "72847857",
                "500306960",
                "4585269136",
                "212664111",
                "0",
                "80648985",
                "212785322",
            ],
            [
                "199",
                "7000",
                "VxVM7000",
                "479267",
                "152",
                "4033890",
                "103249",
                "12690313",
                "92841124",
                "844251992",
                "28260756",
                "0",
                "26058778",
                "28358884",
            ],
            [
                "199",
                "8000",
                "VxVM8000",
                "543077",
                "291",
                "37131250",
                "274160",
                "19336020",
                "281685620",
                "2408182752",
                "155722978",
                "0",
                "30286244",
                "155989384",
            ],
            [
                "66",
                "160",
                "sdaq",
                "239411",
                "559267",
                "1921823",
                "131489",
                "1710651",
                "286",
                "119899732",
                "1040265",
                "0",
                "509307",
                "1171318",
            ],
            [
                "199",
                "11000",
                "VxVM11000",
                "209312",
                "96",
                "1747658",
                "48511",
                "6223668",
                "52087993",
                "466495304",
                "16982595",
                "0",
                "10872733",
                "17028919",
            ],
            [
                "199",
                "28000",
                "VxVM28000",
                "971",
                "7834",
                "70442",
                "4614",
                "4142",
                "407556",
                "3293584",
                "26623",
                "0",
                "9388",
                "31237",
            ],
            ["[dmsetup_info]"],
            ["VGlocal-LVvar", "253:2", "VGlocal", "LVvar"],
            ["VGlocal-LVswap", "253:1", "VGlocal", "LVswap"],
            ["VGlocal-LVroot", "253:0", "VGlocal", "LVroot"],
            ["VGlocal-LVtmp", "253:3", "VGlocal", "LVtmp"],
            ["[vx_dsk]"],
            ["c7", "bb8", "/dev/vx/dsk/db01dg/db01vol"],
            ["c7", "1f40", "/dev/vx/dsk/db02dg/db02vol"],
            ["c7", "1b58", "/dev/vx/dsk/db03dg/db03vol"],
            ["c7", "6d60", "/dev/vx/dsk/db04dg/db04vol"],
            ["c7", "2af8", "/dev/vx/dsk/db05dg/db05vol"],
        ]
    ) == {
        "LVM VGlocal-LVroot": {
            "timestamp": 1439883623,
            "read_ticks": 234.782,
            "write_ticks": 13469.572,
            "read_ios": 5888172,
            "write_ios": 19476903,
            "read_throughput": 25414734848,
            "write_throughput": 79777394688,
            "utilization": 5663.303,
            "queue_length": 0,
        },
        "LVM VGlocal-LVswap": {
            "timestamp": 1439883623,
            "read_ticks": 154.378,
            "write_ticks": 0.0,
            "read_ios": 5851194,
            "write_ios": 0,
            "read_throughput": 23966490624,
            "write_throughput": 0,
            "utilization": 154.404,
            "queue_length": 0,
        },
        "sdac": {
            "timestamp": 1439883623,
            "read_ticks": 200.958,
            "write_ticks": 1133.92,
            "read_ios": 1677718,
            "write_ios": 4217589,
            "read_throughput": 4535659008,
            "write_throughput": 128928852992,
            "utilization": 1059.518,
            "queue_length": 0,
        },
        "LVM VGlocal-LVvar": {
            "timestamp": 1439883623,
            "read_ticks": 183.023,
            "write_ticks": 81720.481,
            "read_ios": 5857900,
            "write_ios": 560857145,
            "read_throughput": 24123089920,
            "write_throughput": 2297270865920,
            "utilization": 18413.486,
            "queue_length": 0,
        },
        "LVM VGlocal-LVtmp": {
            "timestamp": 1439883623,
            "read_ticks": 162.306,
            "write_ticks": 25366.952,
            "read_ios": 5851198,
            "write_ios": 12883365,
            "read_throughput": 23966503936,
            "write_throughput": 52770263040,
            "utilization": 910.764,
            "queue_length": 0,
        },
        "VxVM db01dg-db01vol": {
            "timestamp": 1439883623,
            "read_ticks": 174.091,
            "write_ticks": 212664.111,
            "read_ios": 595084,
            "write_ios": 72847857,
            "read_throughput": 4444255232,
            "write_throughput": 2347657797632,
            "utilization": 80648.985,
            "queue_length": 0,
        },
        "VxVM db03dg-db03vol": {
            "timestamp": 1439883623,
            "read_ticks": 103.249,
            "write_ticks": 28260.756,
            "read_ios": 479267,
            "write_ios": 12690313,
            "read_throughput": 2065351680,
            "write_throughput": 432257019904,
            "utilization": 26058.778,
            "queue_length": 0,
        },
        "VxVM db02dg-db02vol": {
            "timestamp": 1439883623,
            "read_ticks": 274.16,
            "write_ticks": 155722.978,
            "read_ios": 543077,
            "write_ios": 19336020,
            "read_throughput": 19011200000,
            "write_throughput": 1232989569024,
            "utilization": 30286.244,
            "queue_length": 0,
        },
        "sdaq": {
            "timestamp": 1439883623,
            "read_ticks": 131.489,
            "write_ticks": 1040.265,
            "read_ios": 239411,
            "write_ios": 1710651,
            "read_throughput": 983973376,
            "write_throughput": 61388662784,
            "utilization": 509.307,
            "queue_length": 0,
        },
        "VxVM db05dg-db05vol": {
            "timestamp": 1439883623,
            "read_ticks": 48.511,
            "write_ticks": 16982.595,
            "read_ios": 209312,
            "write_ios": 6223668,
            "read_throughput": 894800896,
            "write_throughput": 238845595648,
            "utilization": 10872.733,
            "queue_length": 0,
        },
        "VxVM db04dg-db04vol": {
            "timestamp": 1439883623,
            "read_ticks": 4.614,
            "write_ticks": 26.623,
            "read_ios": 971,
            "write_ios": 4142,
            "read_throughput": 36066304,
            "write_throughput": 1686315008,
            "utilization": 9.388,
            "queue_length": 0,
        },
    }
Beispiel #8
0
def test_parse_diskstat_predictive(mocker: MockerFixture):
    # SUP-5924
    DATA = [
        ["1617784511"],
        [
            "259",
            "0",
            "nvme0n1",
            "131855",
            "42275",
            "8019303",
            "34515",
            "386089",
            "166344",
            "13331634",
            "138121",
            "0",
            "185784",
            "177210",
            "0",
            "0",
            "0",
            "0",
            "41445",
            "4574",
        ],
        [
            "53",
            "0",
            "dm-0",
            "172574",
            "0",
            "7980626",
            "74812",
            "548159",
            "0",
            "12443656",
            "706944",
            "0",
            "189576",
            "781756",
            "0",
            "0",
            "0",
            "0",
            "0",
            "0",
        ],
        [
            "53",
            "1",
            "dm-1",
            "171320",
            "0",
            "7710074",
            "74172",
            "546564",
            "0",
            "12514416",
            "674352",
            "0",
            "186452",
            "748524",
            "0",
            "0",
            "0",
            "0",
            "0",
            "0",
        ],
        [
            "53",
            "2",
            "dm-2",
            "194",
            "0",
            "8616",
            "68",
            "0",
            "0",
            "0",
            "0",
            "0",
            "72",
            "68",
            "0",
            "0",
            "0",
            "0",
            "0",
            "0",
        ],
        ["[dmsetup_info]"],
        ["vme0n1p3_crypt", "253:0"],
        ["buntu--vg-swap_1", "253:2", "ubuntu-vg", "swap_1"],
        ["buntu--vg-root", "253:1", "ubuntu-vg", "root"],
    ]

    PARAMS = {
        "average": 300,
        "latency": (80.0, 160.0),
        "read": {
            "horizon": 90,
            "levels_lower": ("absolute", (2.0, 4.0)),
            "levels_upper": ("relative", (10.0, 20.0)),
            "levels_upper_min": (10.0, 15.0),
            "period": "wday",
        },
        "read_ios": (400.0, 600.0),
        "read_latency": (80.0, 160.0),
        "read_wait": (30.0, 50.0),
        "utilization": (80.0, 90.0),
        "write": (50.0, 100.0),
        "write_ios": (300.0, 400.0),
        "write_latency": (80.0, 160.0),
        "write_wait": (30.0, 50.0),
    }

    mocker.patch(
        "cmk.base.check_api._prediction.get_levels", return_value=(None, (2.1, 4.1, None, None))
    )
    dummy_service: Service[LegacyCheckParameters] = Service(
        CheckPluginName("unittest_sd"),
        parameters={},
        item="item-nvme0n1",
        description="unittest_sd_description",
    )
    with plugin_contexts.current_host("unittest-hn"), plugin_contexts.current_service(
        dummy_service
    ):

        with pytest.raises(IgnoreResultsError):
            list(diskstat.check_diskstat("nvme0n1", PARAMS, diskstat.parse_diskstat(DATA), None))
        DATA[0][0] = "1617784512"
        assert list(
            diskstat.check_diskstat(
                "nvme0n1",
                PARAMS,
                diskstat.parse_diskstat(DATA),
                None,
            )
        ) == [
            Result(state=state.OK, notice="All values averaged over 5 minutes 0 seconds"),
            Result(state=state.OK, notice="Utilization: 0%"),
            Metric("disk_utilization", 0.0, levels=(0.8, 0.9)),
            Result(state=state.OK, summary="Read: 0.00 B/s (no reference for prediction yet)"),
            Metric("disk_read_throughput", 0.0, levels=(2.1, 4.1)),  # fake levels are quite low
            Result(state=state.OK, summary="Write: 0.00 B/s"),
            Metric("disk_write_throughput", 0.0, levels=(50000000.0, 100000000.0)),
            Result(state=state.OK, notice="Average wait: 0 seconds"),
            Metric("disk_average_wait", 0.0),
            Result(state=state.OK, notice="Average read wait: 0 seconds"),
            Metric("disk_average_read_wait", 0.0, levels=(0.03, 0.05)),
            Result(state=state.OK, notice="Average write wait: 0 seconds"),
            Metric("disk_average_write_wait", 0.0, levels=(0.03, 0.05)),
            Result(state=state.OK, notice="Average queue length: 0.00"),
            Metric("disk_queue_length", 0.0),
            Result(state=state.OK, notice="Read operations: 0.00/s"),
            Metric("disk_read_ios", 0.0, levels=(400.0, 600.0)),
            Result(state=state.OK, notice="Write operations: 0.00/s"),
            Metric("disk_write_ios", 0.0, levels=(300.0, 400.0)),
            Result(state=state.OK, summary="Latency: 0 seconds"),
            Metric("disk_latency", 0.0, levels=(0.08, 0.16)),
            Metric("disk_average_read_request_size", 0.0),
            Metric("disk_average_request_size", 0.0),
            Metric("disk_average_write_request_size", 0.0),
        ]
Beispiel #9
0
def test_parse_diskstat_dmsetup():
    assert diskstat.parse_diskstat(
        [
            ["1596025224"],
            [
                "259",
                "0",
                "nvme0n1",
                "1497491",
                "455400",
                "113361605",
                "1143198",
                "773329",
                "599538",
                "37988658",
                "1395234",
                "0",
                "604316",
                "1097280",
                "0",
                "0",
                "0",
                "0",
            ],
            [
                "253",
                "0",
                "dm-0",
                "1951297",
                "0",
                "113329354",
                "2084064",
                "1339672",
                "0",
                "37988424",
                "12603352",
                "0",
                "608364",
                "14687416",
                "0",
                "0",
                "0",
                "0",
            ],
            [
                "253",
                "1",
                "dm-1",
                "1876633",
                "0",
                "112723490",
                "2074720",
                "1025893",
                "0",
                "35617992",
                "7615504",
                "0",
                "587960",
                "9690224",
                "0",
                "0",
                "0",
                "0",
            ],
            [
                "253",
                "2",
                "dm-2",
                "74620",
                "0",
                "604024",
                "12548",
                "309840",
                "0",
                "2478720",
                "4781108",
                "0",
                "23492",
                "4793656",
                "0",
                "0",
                "0",
                "0",
            ],
            ["[dmsetup_info]"],
            ["nvme0n1p3_crypt", "253:0"],
            ["ubuntu--vg-swap_1", "253:2", "ubuntu-vg", "swap_1"],
            ["ubuntu--vg-root", "253:1", "ubuntu-vg", "root"],
        ]
    ) == {
        "nvme0n1": {
            "timestamp": 1596025224,
            "read_ticks": 1143.198,
            "write_ticks": 1395.234,
            "read_ios": 1497491,
            "write_ios": 773329,
            "read_throughput": 58041141760,
            "write_throughput": 19450192896,
            "utilization": 604.316,
            "queue_length": 0,
        },
        "DM nvme0n1p3_crypt": {
            "timestamp": 1596025224,
            "read_ticks": 2084.064,
            "write_ticks": 12603.352,
            "read_ios": 1951297,
            "write_ios": 1339672,
            "read_throughput": 58024629248,
            "write_throughput": 19450073088,
            "utilization": 608.364,
            "queue_length": 0,
        },
        "LVM ubuntu--vg-root": {
            "timestamp": 1596025224,
            "read_ticks": 2074.72,
            "write_ticks": 7615.504,
            "read_ios": 1876633,
            "write_ios": 1025893,
            "read_throughput": 57714426880,
            "write_throughput": 18236411904,
            "utilization": 587.96,
            "queue_length": 0,
        },
        "LVM ubuntu--vg-swap_1": {
            "timestamp": 1596025224,
            "read_ticks": 12.548,
            "write_ticks": 4781.108,
            "read_ios": 74620,
            "write_ios": 309840,
            "read_throughput": 309260288,
            "write_throughput": 1269104640,
            "utilization": 23.492,
            "queue_length": 0,
        },
    }
Beispiel #10
0
def test_parse_diskstat_predictive(value_store: MutableMapping[str, Any],
                                   mocker: MockerFixture):
    # SUP-5924
    DATA = [
        ['1617784511'],
        [
            '259', '0', 'nvme0n1', '131855', '42275', '8019303', '34515',
            '386089', '166344', '13331634', '138121', '0', '185784', '177210',
            '0', '0', '0', '0', '41445', '4574'
        ],
        [
            '53', '0', 'dm-0', '172574', '0', '7980626', '74812', '548159',
            '0', '12443656', '706944', '0', '189576', '781756', '0', '0', '0',
            '0', '0', '0'
        ],
        [
            '53', '1', 'dm-1', '171320', '0', '7710074', '74172', '546564',
            '0', '12514416', '674352', '0', '186452', '748524', '0', '0', '0',
            '0', '0', '0'
        ],
        [
            '53', '2', 'dm-2', '194', '0', '8616', '68', '0', '0', '0', '0',
            '0', '72', '68', '0', '0', '0', '0', '0', '0'
        ],
        ['[dmsetup_info]'],
        ['vme0n1p3_crypt', '253:0'],
        ['buntu--vg-swap_1', '253:2', 'ubuntu-vg', 'swap_1'],
        ['buntu--vg-root', '253:1', 'ubuntu-vg', 'root'],
    ]

    PARAMS = {
        'average': 300,
        'latency': (80.0, 160.0),
        'read': {
            'horizon': 90,
            'levels_lower': ('absolute', (2.0, 4.0)),
            'levels_upper': ('relative', (10.0, 20.0)),
            'levels_upper_min': (10.0, 15.0),
            'period': 'wday'
        },
        'read_ios': (400.0, 600.0),
        'read_latency': (80.0, 160.0),
        'read_wait': (30.0, 50.0),
        'utilization': (80.0, 90.0),
        'write': (50.0, 100.0),
        'write_ios': (300.0, 400.0),
        'write_latency': (80.0, 160.0),
        'write_wait': (30.0, 50.0)
    }

    mocker.patch("cmk.base.check_api._prediction.get_levels",
                 return_value=(None, (2.1, 4.1, None, None)))
    dummy_service = Service(
        CheckPluginName("unittest_sd"),
        parameters={},
        item="item-nvme0n1",
        description="unittest_sd_description",
    )
    with plugin_contexts.current_host(
            "unittest-hn"), plugin_contexts.current_service(dummy_service):

        with pytest.raises(IgnoreResultsError):
            list(
                diskstat.check_diskstat("nvme0n1", PARAMS,
                                        diskstat.parse_diskstat(DATA), None))
        DATA[0][0] = '1617784512'
        assert list(
            diskstat.check_diskstat(
                "nvme0n1",
                PARAMS,
                diskstat.parse_diskstat(DATA),
                None,
            )
        ) == [
            Result(state=state.OK,
                   notice='All values averaged over 5 minutes 0 seconds'),
            Result(state=state.OK, notice='Utilization: 0%'),
            Metric('disk_utilization', 0.0, levels=(0.8, 0.9)),
            Result(state=state.OK,
                   summary='Read: 0.00 B/s (no reference for prediction yet)'),
            Metric('disk_read_throughput', 0.0,
                   levels=(2.1, 4.1)),  # fake levels are quite low
            Result(state=state.OK, summary='Write: 0.00 B/s'),
            Metric('disk_write_throughput',
                   0.0,
                   levels=(50000000.0, 100000000.0)),
            Result(state=state.OK, notice='Average wait: 0 seconds'),
            Metric('disk_average_wait', 0.0),
            Result(state=state.OK, notice='Average read wait: 0 seconds'),
            Metric('disk_average_read_wait', 0.0, levels=(0.03, 0.05)),
            Result(state=state.OK, notice='Average write wait: 0 seconds'),
            Metric('disk_average_write_wait', 0.0, levels=(0.03, 0.05)),
            Result(state=state.OK, notice='Average queue length: 0.00'),
            Metric('disk_queue_length', 0.0),
            Result(state=state.OK, notice='Read operations: 0.00/s'),
            Metric('disk_read_ios', 0.0, levels=(400.0, 600.0)),
            Result(state=state.OK, notice='Write operations: 0.00/s'),
            Metric('disk_write_ios', 0.0, levels=(300.0, 400.0)),
            Result(state=state.OK, summary='Latency: 0 seconds'),
            Metric('disk_latency', 0.0, levels=(0.08, 0.16)),
            Metric('disk_average_read_request_size', 0.0),
            Metric('disk_average_request_size', 0.0),
            Metric('disk_average_write_request_size', 0.0),
        ]