Python module/method InfluxDBClient.write_points does not write all points

Hi
I can’t get write_points to insert all data-points.
Given the parameters I feed this loop, it runs 480 times and the list ‘data’ contains 480 elements, but .write_points only inserts 60 ‘rows’ into the database (sometimes 61 rows).

I can’t figure out why - hope someone has a hint to help me on my way

Thanks :slight_smile:

    data = []
    loop_runs = 0
    for metric in metrics.split(',') :
        for node in nodes :
            out = get_stats(ssh_host, ssh_username, ssh_password, 'lsnodecanisterstats -history ' + metric + ' -nohdr ' + node)
            for line in out :   
            # 1 node1 140911134627 mdisk_r_mb 0
                node_name = line.split()[1]
                timestamp = int(time.mktime(time.strptime(line.split()[2], '%y%m%d%H%M%S')))
                metric_name = line.split()[3]
                value = line.split()[4]
                #print(node_name, timestamp, metric, metric_name, value, sep=' ')
                measurement = {
                    "measurement": table,
                    "tags": {
                        "customer": customer,
                        "stg_vendor": stg_vendor,
                        "stg_type" : stg_type,
                        "stg_model": stg_model,
                        "stg_name": stg_name
                    },
                    "fields": {
                        "stg_node": node_name,
                        "metric": metric_name,
                        "value": value
                    },
                    "time": timestamp
                }
                data.append(measurement)
                loop_runs=loop_runs+1
    client.write_points(data, time_precision='s', database=db, protocol='json')

Hello @Michael_Gimm,
Welcome! Can you please share some of your input data that you’re trying to write so that I can try to debug? Perhaps you’re writing less lines because multiple fields are being recorded and condensed into one point?

Hi @Anaisdg
Thanks for taking the time :slight_smile:

If I uncomment the print line above (#print(node_name, timestamp, metric, metric_name, value, sep=’ ')), the following 480 lines are printed:

node1 1593551458 mdisk_w_ms mdisk_w_ms 0
node1 1593551463 mdisk_w_ms mdisk_w_ms 0
node1 1593551468 mdisk_w_ms mdisk_w_ms 0
node1 1593551473 mdisk_w_ms mdisk_w_ms 4
node1 1593551478 mdisk_w_ms mdisk_w_ms 0
node1 1593551483 mdisk_w_ms mdisk_w_ms 1
node1 1593551488 mdisk_w_ms mdisk_w_ms 0
node1 1593551493 mdisk_w_ms mdisk_w_ms 0
node1 1593551498 mdisk_w_ms mdisk_w_ms 2
node1 1593551503 mdisk_w_ms mdisk_w_ms 4
node1 1593551508 mdisk_w_ms mdisk_w_ms 0
node1 1593551513 mdisk_w_ms mdisk_w_ms 5
node1 1593551518 mdisk_w_ms mdisk_w_ms 0
node1 1593551523 mdisk_w_ms mdisk_w_ms 2
node1 1593551528 mdisk_w_ms mdisk_w_ms 0
node1 1593551533 mdisk_w_ms mdisk_w_ms 0
node1 1593551538 mdisk_w_ms mdisk_w_ms 0
node1 1593551543 mdisk_w_ms mdisk_w_ms 0
node1 1593551548 mdisk_w_ms mdisk_w_ms 0
node1 1593551553 mdisk_w_ms mdisk_w_ms 0
node1 1593551558 mdisk_w_ms mdisk_w_ms 0
node1 1593551563 mdisk_w_ms mdisk_w_ms 0
node1 1593551568 mdisk_w_ms mdisk_w_ms 0
node1 1593551573 mdisk_w_ms mdisk_w_ms 0
node1 1593551578 mdisk_w_ms mdisk_w_ms 0
node1 1593551583 mdisk_w_ms mdisk_w_ms 0
node1 1593551588 mdisk_w_ms mdisk_w_ms 0
node1 1593551593 mdisk_w_ms mdisk_w_ms 0
node1 1593551598 mdisk_w_ms mdisk_w_ms 0
node1 1593551603 mdisk_w_ms mdisk_w_ms 0
node1 1593551608 mdisk_w_ms mdisk_w_ms 2
node1 1593551613 mdisk_w_ms mdisk_w_ms 0
node1 1593551618 mdisk_w_ms mdisk_w_ms 0
node1 1593551623 mdisk_w_ms mdisk_w_ms 0
node1 1593551628 mdisk_w_ms mdisk_w_ms 4
node1 1593551633 mdisk_w_ms mdisk_w_ms 4
node1 1593551638 mdisk_w_ms mdisk_w_ms 0
node1 1593551643 mdisk_w_ms mdisk_w_ms 0
node1 1593551648 mdisk_w_ms mdisk_w_ms 0
node1 1593551653 mdisk_w_ms mdisk_w_ms 0
node1 1593551658 mdisk_w_ms mdisk_w_ms 0
node1 1593551663 mdisk_w_ms mdisk_w_ms 0
node1 1593551668 mdisk_w_ms mdisk_w_ms 0
node1 1593551673 mdisk_w_ms mdisk_w_ms 0
node1 1593551678 mdisk_w_ms mdisk_w_ms 0
node1 1593551683 mdisk_w_ms mdisk_w_ms 0
node1 1593551688 mdisk_w_ms mdisk_w_ms 0
node1 1593551693 mdisk_w_ms mdisk_w_ms 0
node1 1593551698 mdisk_w_ms mdisk_w_ms 3
node1 1593551703 mdisk_w_ms mdisk_w_ms 2
node1 1593551708 mdisk_w_ms mdisk_w_ms 2
node1 1593551713 mdisk_w_ms mdisk_w_ms 4
node1 1593551718 mdisk_w_ms mdisk_w_ms 6
node1 1593551723 mdisk_w_ms mdisk_w_ms 0
node1 1593551728 mdisk_w_ms mdisk_w_ms 0
node1 1593551733 mdisk_w_ms mdisk_w_ms 0
node1 1593551738 mdisk_w_ms mdisk_w_ms 0
node1 1593551743 mdisk_w_ms mdisk_w_ms 3
node1 1593551748 mdisk_w_ms mdisk_w_ms 2
node1 1593551753 mdisk_w_ms mdisk_w_ms 0
node2 1593551458 mdisk_w_ms mdisk_w_ms 0
node2 1593551463 mdisk_w_ms mdisk_w_ms 0
node2 1593551468 mdisk_w_ms mdisk_w_ms 0
node2 1593551473 mdisk_w_ms mdisk_w_ms 0
node2 1593551478 mdisk_w_ms mdisk_w_ms 1
node2 1593551483 mdisk_w_ms mdisk_w_ms 2
node2 1593551488 mdisk_w_ms mdisk_w_ms 0
node2 1593551493 mdisk_w_ms mdisk_w_ms 4
node2 1593551498 mdisk_w_ms mdisk_w_ms 1
node2 1593551503 mdisk_w_ms mdisk_w_ms 1
node2 1593551508 mdisk_w_ms mdisk_w_ms 0
node2 1593551513 mdisk_w_ms mdisk_w_ms 1
node2 1593551518 mdisk_w_ms mdisk_w_ms 0
node2 1593551523 mdisk_w_ms mdisk_w_ms 1
node2 1593551528 mdisk_w_ms mdisk_w_ms 2
node2 1593551533 mdisk_w_ms mdisk_w_ms 1
node2 1593551538 mdisk_w_ms mdisk_w_ms 0
node2 1593551543 mdisk_w_ms mdisk_w_ms 0
node2 1593551548 mdisk_w_ms mdisk_w_ms 0
node2 1593551553 mdisk_w_ms mdisk_w_ms 0
node2 1593551558 mdisk_w_ms mdisk_w_ms 0
node2 1593551563 mdisk_w_ms mdisk_w_ms 1
node2 1593551568 mdisk_w_ms mdisk_w_ms 0
node2 1593551573 mdisk_w_ms mdisk_w_ms 1
node2 1593551578 mdisk_w_ms mdisk_w_ms 1
node2 1593551583 mdisk_w_ms mdisk_w_ms 2
node2 1593551588 mdisk_w_ms mdisk_w_ms 2
node2 1593551593 mdisk_w_ms mdisk_w_ms 1
node2 1593551598 mdisk_w_ms mdisk_w_ms 0
node2 1593551603 mdisk_w_ms mdisk_w_ms 0
node2 1593551608 mdisk_w_ms mdisk_w_ms 0
node2 1593551613 mdisk_w_ms mdisk_w_ms 1
node2 1593551618 mdisk_w_ms mdisk_w_ms 1
node2 1593551623 mdisk_w_ms mdisk_w_ms 1
node2 1593551628 mdisk_w_ms mdisk_w_ms 1
node2 1593551633 mdisk_w_ms mdisk_w_ms 9
node2 1593551638 mdisk_w_ms mdisk_w_ms 1
node2 1593551643 mdisk_w_ms mdisk_w_ms 0
node2 1593551648 mdisk_w_ms mdisk_w_ms 0
node2 1593551653 mdisk_w_ms mdisk_w_ms 0
node2 1593551658 mdisk_w_ms mdisk_w_ms 0
node2 1593551663 mdisk_w_ms mdisk_w_ms 0
node2 1593551668 mdisk_w_ms mdisk_w_ms 1
node2 1593551673 mdisk_w_ms mdisk_w_ms 0
node2 1593551678 mdisk_w_ms mdisk_w_ms 1
node2 1593551683 mdisk_w_ms mdisk_w_ms 0
node2 1593551688 mdisk_w_ms mdisk_w_ms 1
node2 1593551693 mdisk_w_ms mdisk_w_ms 1
node2 1593551698 mdisk_w_ms mdisk_w_ms 3
node2 1593551703 mdisk_w_ms mdisk_w_ms 0
node2 1593551708 mdisk_w_ms mdisk_w_ms 0
node2 1593551713 mdisk_w_ms mdisk_w_ms 0
node2 1593551718 mdisk_w_ms mdisk_w_ms 1
node2 1593551723 mdisk_w_ms mdisk_w_ms 0
node2 1593551728 mdisk_w_ms mdisk_w_ms 1
node2 1593551733 mdisk_w_ms mdisk_w_ms 1
node2 1593551738 mdisk_w_ms mdisk_w_ms 0
node2 1593551743 mdisk_w_ms mdisk_w_ms 6
node2 1593551748 mdisk_w_ms mdisk_w_ms 1
node2 1593551753 mdisk_w_ms mdisk_w_ms 0
node1 1593551463 mdisk_r_ms mdisk_r_ms 2
node1 1593551468 mdisk_r_ms mdisk_r_ms 0
node1 1593551473 mdisk_r_ms mdisk_r_ms 0
node1 1593551478 mdisk_r_ms mdisk_r_ms 0
node1 1593551483 mdisk_r_ms mdisk_r_ms 1
node1 1593551488 mdisk_r_ms mdisk_r_ms 2
node1 1593551493 mdisk_r_ms mdisk_r_ms 3
node1 1593551498 mdisk_r_ms mdisk_r_ms 0
node1 1593551503 mdisk_r_ms mdisk_r_ms 0
node1 1593551508 mdisk_r_ms mdisk_r_ms 0
node1 1593551513 mdisk_r_ms mdisk_r_ms 3
node1 1593551518 mdisk_r_ms mdisk_r_ms 0
node1 1593551523 mdisk_r_ms mdisk_r_ms 2
node1 1593551528 mdisk_r_ms mdisk_r_ms 0
node1 1593551533 mdisk_r_ms mdisk_r_ms 0
node1 1593551538 mdisk_r_ms mdisk_r_ms 0
node1 1593551543 mdisk_r_ms mdisk_r_ms 0
node1 1593551548 mdisk_r_ms mdisk_r_ms 0
node1 1593551553 mdisk_r_ms mdisk_r_ms 1
node1 1593551558 mdisk_r_ms mdisk_r_ms 0
node1 1593551563 mdisk_r_ms mdisk_r_ms 3
node1 1593551568 mdisk_r_ms mdisk_r_ms 0
node1 1593551573 mdisk_r_ms mdisk_r_ms 3
node1 1593551578 mdisk_r_ms mdisk_r_ms 0
node1 1593551583 mdisk_r_ms mdisk_r_ms 3
node1 1593551588 mdisk_r_ms mdisk_r_ms 0
node1 1593551593 mdisk_r_ms mdisk_r_ms 0
node1 1593551598 mdisk_r_ms mdisk_r_ms 0
node1 1593551603 mdisk_r_ms mdisk_r_ms 4
node1 1593551608 mdisk_r_ms mdisk_r_ms 0
node1 1593551613 mdisk_r_ms mdisk_r_ms 1
node1 1593551618 mdisk_r_ms mdisk_r_ms 0
node1 1593551623 mdisk_r_ms mdisk_r_ms 0
node1 1593551628 mdisk_r_ms mdisk_r_ms 3
node1 1593551633 mdisk_r_ms mdisk_r_ms 0
node1 1593551638 mdisk_r_ms mdisk_r_ms 4
node1 1593551643 mdisk_r_ms mdisk_r_ms 0
node1 1593551648 mdisk_r_ms mdisk_r_ms 3
node1 1593551653 mdisk_r_ms mdisk_r_ms 0
node1 1593551658 mdisk_r_ms mdisk_r_ms 4
node1 1593551663 mdisk_r_ms mdisk_r_ms 0
node1 1593551668 mdisk_r_ms mdisk_r_ms 2
node1 1593551673 mdisk_r_ms mdisk_r_ms 0
node1 1593551678 mdisk_r_ms mdisk_r_ms 0
node1 1593551683 mdisk_r_ms mdisk_r_ms 0
node1 1593551688 mdisk_r_ms mdisk_r_ms 7
node1 1593551693 mdisk_r_ms mdisk_r_ms 0
node1 1593551698 mdisk_r_ms mdisk_r_ms 4
node1 1593551703 mdisk_r_ms mdisk_r_ms 0
node1 1593551708 mdisk_r_ms mdisk_r_ms 2
node1 1593551713 mdisk_r_ms mdisk_r_ms 0
node1 1593551718 mdisk_r_ms mdisk_r_ms 0
node1 1593551723 mdisk_r_ms mdisk_r_ms 0
node1 1593551728 mdisk_r_ms mdisk_r_ms 0
node1 1593551733 mdisk_r_ms mdisk_r_ms 0
node1 1593551738 mdisk_r_ms mdisk_r_ms 0
node1 1593551743 mdisk_r_ms mdisk_r_ms 0
node1 1593551748 mdisk_r_ms mdisk_r_ms 3
node1 1593551753 mdisk_r_ms mdisk_r_ms 0
node1 1593551758 mdisk_r_ms mdisk_r_ms 0
node2 1593551463 mdisk_r_ms mdisk_r_ms 0
node2 1593551468 mdisk_r_ms mdisk_r_ms 0
node2 1593551473 mdisk_r_ms mdisk_r_ms 0
node2 1593551478 mdisk_r_ms mdisk_r_ms 0
node2 1593551483 mdisk_r_ms mdisk_r_ms 0
node2 1593551488 mdisk_r_ms mdisk_r_ms 0
node2 1593551493 mdisk_r_ms mdisk_r_ms 0
node2 1593551498 mdisk_r_ms mdisk_r_ms 0
node2 1593551503 mdisk_r_ms mdisk_r_ms 0
node2 1593551508 mdisk_r_ms mdisk_r_ms 0
node2 1593551513 mdisk_r_ms mdisk_r_ms 0
node2 1593551518 mdisk_r_ms mdisk_r_ms 0
node2 1593551523 mdisk_r_ms mdisk_r_ms 0
node2 1593551528 mdisk_r_ms mdisk_r_ms 0
node2 1593551533 mdisk_r_ms mdisk_r_ms 0
node2 1593551538 mdisk_r_ms mdisk_r_ms 0
node2 1593551543 mdisk_r_ms mdisk_r_ms 0
node2 1593551548 mdisk_r_ms mdisk_r_ms 0
node2 1593551553 mdisk_r_ms mdisk_r_ms 0
node2 1593551558 mdisk_r_ms mdisk_r_ms 0
node2 1593551563 mdisk_r_ms mdisk_r_ms 0
node2 1593551568 mdisk_r_ms mdisk_r_ms 0
node2 1593551573 mdisk_r_ms mdisk_r_ms 0
node2 1593551578 mdisk_r_ms mdisk_r_ms 0
node2 1593551583 mdisk_r_ms mdisk_r_ms 0
node2 1593551588 mdisk_r_ms mdisk_r_ms 0
node2 1593551593 mdisk_r_ms mdisk_r_ms 0
node2 1593551598 mdisk_r_ms mdisk_r_ms 0
node2 1593551603 mdisk_r_ms mdisk_r_ms 0
node2 1593551608 mdisk_r_ms mdisk_r_ms 0
node2 1593551613 mdisk_r_ms mdisk_r_ms 0
node2 1593551618 mdisk_r_ms mdisk_r_ms 0
node2 1593551623 mdisk_r_ms mdisk_r_ms 0
node2 1593551628 mdisk_r_ms mdisk_r_ms 0
node2 1593551633 mdisk_r_ms mdisk_r_ms 0
node2 1593551638 mdisk_r_ms mdisk_r_ms 0
node2 1593551643 mdisk_r_ms mdisk_r_ms 0
node2 1593551648 mdisk_r_ms mdisk_r_ms 0
node2 1593551653 mdisk_r_ms mdisk_r_ms 0
node2 1593551658 mdisk_r_ms mdisk_r_ms 0
node2 1593551663 mdisk_r_ms mdisk_r_ms 0
node2 1593551668 mdisk_r_ms mdisk_r_ms 0
node2 1593551673 mdisk_r_ms mdisk_r_ms 0
node2 1593551678 mdisk_r_ms mdisk_r_ms 0
node2 1593551683 mdisk_r_ms mdisk_r_ms 0
node2 1593551688 mdisk_r_ms mdisk_r_ms 0
node2 1593551693 mdisk_r_ms mdisk_r_ms 0
node2 1593551698 mdisk_r_ms mdisk_r_ms 0
node2 1593551703 mdisk_r_ms mdisk_r_ms 0
node2 1593551708 mdisk_r_ms mdisk_r_ms 0
node2 1593551713 mdisk_r_ms mdisk_r_ms 0
node2 1593551718 mdisk_r_ms mdisk_r_ms 0
node2 1593551723 mdisk_r_ms mdisk_r_ms 0
node2 1593551728 mdisk_r_ms mdisk_r_ms 0
node2 1593551733 mdisk_r_ms mdisk_r_ms 0
node2 1593551738 mdisk_r_ms mdisk_r_ms 0
node2 1593551743 mdisk_r_ms mdisk_r_ms 0
node2 1593551748 mdisk_r_ms mdisk_r_ms 0
node2 1593551753 mdisk_r_ms mdisk_r_ms 0
node2 1593551758 mdisk_r_ms mdisk_r_ms 0
node1 1593551463 vdisk_w_ms vdisk_w_ms 0
node1 1593551468 vdisk_w_ms vdisk_w_ms 0
node1 1593551473 vdisk_w_ms vdisk_w_ms 0
node1 1593551478 vdisk_w_ms vdisk_w_ms 0
node1 1593551483 vdisk_w_ms vdisk_w_ms 0
node1 1593551488 vdisk_w_ms vdisk_w_ms 0
node1 1593551493 vdisk_w_ms vdisk_w_ms 0
node1 1593551498 vdisk_w_ms vdisk_w_ms 0
node1 1593551503 vdisk_w_ms vdisk_w_ms 0
node1 1593551508 vdisk_w_ms vdisk_w_ms 0
node1 1593551513 vdisk_w_ms vdisk_w_ms 0
node1 1593551518 vdisk_w_ms vdisk_w_ms 0
node1 1593551523 vdisk_w_ms vdisk_w_ms 0
node1 1593551528 vdisk_w_ms vdisk_w_ms 0
node1 1593551533 vdisk_w_ms vdisk_w_ms 0
node1 1593551538 vdisk_w_ms vdisk_w_ms 0
node1 1593551543 vdisk_w_ms vdisk_w_ms 0
node1 1593551548 vdisk_w_ms vdisk_w_ms 0
node1 1593551553 vdisk_w_ms vdisk_w_ms 0
node1 1593551558 vdisk_w_ms vdisk_w_ms 0
node1 1593551563 vdisk_w_ms vdisk_w_ms 0
node1 1593551568 vdisk_w_ms vdisk_w_ms 0
node1 1593551573 vdisk_w_ms vdisk_w_ms 0
node1 1593551578 vdisk_w_ms vdisk_w_ms 0
node1 1593551583 vdisk_w_ms vdisk_w_ms 0
node1 1593551588 vdisk_w_ms vdisk_w_ms 0
node1 1593551593 vdisk_w_ms vdisk_w_ms 0
node1 1593551598 vdisk_w_ms vdisk_w_ms 0
node1 1593551603 vdisk_w_ms vdisk_w_ms 0
node1 1593551608 vdisk_w_ms vdisk_w_ms 0
node1 1593551613 vdisk_w_ms vdisk_w_ms 0
node1 1593551618 vdisk_w_ms vdisk_w_ms 0
node1 1593551623 vdisk_w_ms vdisk_w_ms 0
node1 1593551628 vdisk_w_ms vdisk_w_ms 0
node1 1593551633 vdisk_w_ms vdisk_w_ms 0
node1 1593551638 vdisk_w_ms vdisk_w_ms 0
node1 1593551643 vdisk_w_ms vdisk_w_ms 0
node1 1593551648 vdisk_w_ms vdisk_w_ms 0
node1 1593551653 vdisk_w_ms vdisk_w_ms 0
node1 1593551658 vdisk_w_ms vdisk_w_ms 0
node1 1593551663 vdisk_w_ms vdisk_w_ms 0
node1 1593551668 vdisk_w_ms vdisk_w_ms 0
node1 1593551673 vdisk_w_ms vdisk_w_ms 0
node1 1593551678 vdisk_w_ms vdisk_w_ms 0
node1 1593551683 vdisk_w_ms vdisk_w_ms 0
node1 1593551688 vdisk_w_ms vdisk_w_ms 0
node1 1593551693 vdisk_w_ms vdisk_w_ms 0
node1 1593551698 vdisk_w_ms vdisk_w_ms 0
node1 1593551703 vdisk_w_ms vdisk_w_ms 0
node1 1593551708 vdisk_w_ms vdisk_w_ms 0
node1 1593551713 vdisk_w_ms vdisk_w_ms 0
node1 1593551718 vdisk_w_ms vdisk_w_ms 0
node1 1593551723 vdisk_w_ms vdisk_w_ms 0
node1 1593551728 vdisk_w_ms vdisk_w_ms 0
node1 1593551733 vdisk_w_ms vdisk_w_ms 0
node1 1593551738 vdisk_w_ms vdisk_w_ms 0
node1 1593551743 vdisk_w_ms vdisk_w_ms 0
node1 1593551748 vdisk_w_ms vdisk_w_ms 0
node1 1593551753 vdisk_w_ms vdisk_w_ms 0
node1 1593551758 vdisk_w_ms vdisk_w_ms 0
node2 1593551463 vdisk_w_ms vdisk_w_ms 0
node2 1593551468 vdisk_w_ms vdisk_w_ms 0
node2 1593551473 vdisk_w_ms vdisk_w_ms 0
node2 1593551478 vdisk_w_ms vdisk_w_ms 0
node2 1593551483 vdisk_w_ms vdisk_w_ms 0
node2 1593551488 vdisk_w_ms vdisk_w_ms 0
node2 1593551493 vdisk_w_ms vdisk_w_ms 0
node2 1593551498 vdisk_w_ms vdisk_w_ms 0
node2 1593551503 vdisk_w_ms vdisk_w_ms 0
node2 1593551508 vdisk_w_ms vdisk_w_ms 0
node2 1593551513 vdisk_w_ms vdisk_w_ms 0
node2 1593551518 vdisk_w_ms vdisk_w_ms 0
node2 1593551523 vdisk_w_ms vdisk_w_ms 0
node2 1593551528 vdisk_w_ms vdisk_w_ms 0
node2 1593551533 vdisk_w_ms vdisk_w_ms 0
node2 1593551538 vdisk_w_ms vdisk_w_ms 0
node2 1593551543 vdisk_w_ms vdisk_w_ms 0
node2 1593551548 vdisk_w_ms vdisk_w_ms 0
node2 1593551553 vdisk_w_ms vdisk_w_ms 0
node2 1593551558 vdisk_w_ms vdisk_w_ms 0
node2 1593551563 vdisk_w_ms vdisk_w_ms 0
node2 1593551568 vdisk_w_ms vdisk_w_ms 0
node2 1593551573 vdisk_w_ms vdisk_w_ms 8
node2 1593551578 vdisk_w_ms vdisk_w_ms 0
node2 1593551583 vdisk_w_ms vdisk_w_ms 0
node2 1593551588 vdisk_w_ms vdisk_w_ms 0
node2 1593551593 vdisk_w_ms vdisk_w_ms 0
node2 1593551598 vdisk_w_ms vdisk_w_ms 0
node2 1593551603 vdisk_w_ms vdisk_w_ms 0
node2 1593551608 vdisk_w_ms vdisk_w_ms 0
node2 1593551613 vdisk_w_ms vdisk_w_ms 0
node2 1593551618 vdisk_w_ms vdisk_w_ms 0
node2 1593551623 vdisk_w_ms vdisk_w_ms 0
node2 1593551628 vdisk_w_ms vdisk_w_ms 0
node2 1593551633 vdisk_w_ms vdisk_w_ms 0
node2 1593551638 vdisk_w_ms vdisk_w_ms 0
node2 1593551643 vdisk_w_ms vdisk_w_ms 0
node2 1593551648 vdisk_w_ms vdisk_w_ms 0
node2 1593551653 vdisk_w_ms vdisk_w_ms 0
node2 1593551658 vdisk_w_ms vdisk_w_ms 0
node2 1593551663 vdisk_w_ms vdisk_w_ms 0
node2 1593551668 vdisk_w_ms vdisk_w_ms 0
node2 1593551673 vdisk_w_ms vdisk_w_ms 0
node2 1593551678 vdisk_w_ms vdisk_w_ms 0
node2 1593551683 vdisk_w_ms vdisk_w_ms 0
node2 1593551688 vdisk_w_ms vdisk_w_ms 0
node2 1593551693 vdisk_w_ms vdisk_w_ms 0
node2 1593551698 vdisk_w_ms vdisk_w_ms 0
node2 1593551703 vdisk_w_ms vdisk_w_ms 0
node2 1593551708 vdisk_w_ms vdisk_w_ms 0
node2 1593551713 vdisk_w_ms vdisk_w_ms 0
node2 1593551718 vdisk_w_ms vdisk_w_ms 0
node2 1593551723 vdisk_w_ms vdisk_w_ms 0
node2 1593551728 vdisk_w_ms vdisk_w_ms 0
node2 1593551733 vdisk_w_ms vdisk_w_ms 0
node2 1593551738 vdisk_w_ms vdisk_w_ms 0
node2 1593551743 vdisk_w_ms vdisk_w_ms 0
node2 1593551748 vdisk_w_ms vdisk_w_ms 0
node2 1593551753 vdisk_w_ms vdisk_w_ms 0
node2 1593551758 vdisk_w_ms vdisk_w_ms 0
node1 1593551463 vdisk_r_ms vdisk_r_ms 0
node1 1593551468 vdisk_r_ms vdisk_r_ms 0
node1 1593551473 vdisk_r_ms vdisk_r_ms 0
node1 1593551478 vdisk_r_ms vdisk_r_ms 0
node1 1593551483 vdisk_r_ms vdisk_r_ms 0
node1 1593551488 vdisk_r_ms vdisk_r_ms 1
node1 1593551493 vdisk_r_ms vdisk_r_ms 0
node1 1593551498 vdisk_r_ms vdisk_r_ms 0
node1 1593551503 vdisk_r_ms vdisk_r_ms 0
node1 1593551508 vdisk_r_ms vdisk_r_ms 0
node1 1593551513 vdisk_r_ms vdisk_r_ms 0
node1 1593551518 vdisk_r_ms vdisk_r_ms 0
node1 1593551523 vdisk_r_ms vdisk_r_ms 0
node1 1593551528 vdisk_r_ms vdisk_r_ms 0
node1 1593551533 vdisk_r_ms vdisk_r_ms 0
node1 1593551538 vdisk_r_ms vdisk_r_ms 0
node1 1593551543 vdisk_r_ms vdisk_r_ms 0
node1 1593551548 vdisk_r_ms vdisk_r_ms 0
node1 1593551553 vdisk_r_ms vdisk_r_ms 0
node1 1593551558 vdisk_r_ms vdisk_r_ms 0
node1 1593551563 vdisk_r_ms vdisk_r_ms 1
node1 1593551568 vdisk_r_ms vdisk_r_ms 0
node1 1593551573 vdisk_r_ms vdisk_r_ms 1
node1 1593551578 vdisk_r_ms vdisk_r_ms 0
node1 1593551583 vdisk_r_ms vdisk_r_ms 1
node1 1593551588 vdisk_r_ms vdisk_r_ms 0
node1 1593551593 vdisk_r_ms vdisk_r_ms 0
node1 1593551598 vdisk_r_ms vdisk_r_ms 0
node1 1593551603 vdisk_r_ms vdisk_r_ms 1
node1 1593551608 vdisk_r_ms vdisk_r_ms 0
node1 1593551613 vdisk_r_ms vdisk_r_ms 1
node1 1593551618 vdisk_r_ms vdisk_r_ms 0
node1 1593551623 vdisk_r_ms vdisk_r_ms 0
node1 1593551628 vdisk_r_ms vdisk_r_ms 2
node1 1593551633 vdisk_r_ms vdisk_r_ms 0
node1 1593551638 vdisk_r_ms vdisk_r_ms 2
node1 1593551643 vdisk_r_ms vdisk_r_ms 0
node1 1593551648 vdisk_r_ms vdisk_r_ms 1
node1 1593551653 vdisk_r_ms vdisk_r_ms 0
node1 1593551658 vdisk_r_ms vdisk_r_ms 1
node1 1593551663 vdisk_r_ms vdisk_r_ms 0
node1 1593551668 vdisk_r_ms vdisk_r_ms 0
node1 1593551673 vdisk_r_ms vdisk_r_ms 0
node1 1593551678 vdisk_r_ms vdisk_r_ms 0
node1 1593551683 vdisk_r_ms vdisk_r_ms 0
node1 1593551688 vdisk_r_ms vdisk_r_ms 0
node1 1593551693 vdisk_r_ms vdisk_r_ms 0
node1 1593551698 vdisk_r_ms vdisk_r_ms 1
node1 1593551703 vdisk_r_ms vdisk_r_ms 0
node1 1593551708 vdisk_r_ms vdisk_r_ms 2
node1 1593551713 vdisk_r_ms vdisk_r_ms 0
node1 1593551718 vdisk_r_ms vdisk_r_ms 0
node1 1593551723 vdisk_r_ms vdisk_r_ms 0
node1 1593551728 vdisk_r_ms vdisk_r_ms 0
node1 1593551733 vdisk_r_ms vdisk_r_ms 0
node1 1593551738 vdisk_r_ms vdisk_r_ms 0
node1 1593551743 vdisk_r_ms vdisk_r_ms 0
node1 1593551748 vdisk_r_ms vdisk_r_ms 0
node1 1593551753 vdisk_r_ms vdisk_r_ms 0
node1 1593551758 vdisk_r_ms vdisk_r_ms 0
node2 1593551463 vdisk_r_ms vdisk_r_ms 0
node2 1593551468 vdisk_r_ms vdisk_r_ms 0
node2 1593551473 vdisk_r_ms vdisk_r_ms 0
node2 1593551478 vdisk_r_ms vdisk_r_ms 0
node2 1593551483 vdisk_r_ms vdisk_r_ms 0
node2 1593551488 vdisk_r_ms vdisk_r_ms 0
node2 1593551493 vdisk_r_ms vdisk_r_ms 0
node2 1593551498 vdisk_r_ms vdisk_r_ms 0
node2 1593551503 vdisk_r_ms vdisk_r_ms 0
node2 1593551508 vdisk_r_ms vdisk_r_ms 0
node2 1593551513 vdisk_r_ms vdisk_r_ms 0
node2 1593551518 vdisk_r_ms vdisk_r_ms 0
node2 1593551523 vdisk_r_ms vdisk_r_ms 0
node2 1593551528 vdisk_r_ms vdisk_r_ms 0
node2 1593551533 vdisk_r_ms vdisk_r_ms 0
node2 1593551538 vdisk_r_ms vdisk_r_ms 0
node2 1593551543 vdisk_r_ms vdisk_r_ms 0
node2 1593551548 vdisk_r_ms vdisk_r_ms 0
node2 1593551553 vdisk_r_ms vdisk_r_ms 0
node2 1593551558 vdisk_r_ms vdisk_r_ms 0
node2 1593551563 vdisk_r_ms vdisk_r_ms 0
node2 1593551568 vdisk_r_ms vdisk_r_ms 0
node2 1593551573 vdisk_r_ms vdisk_r_ms 0
node2 1593551578 vdisk_r_ms vdisk_r_ms 0
node2 1593551583 vdisk_r_ms vdisk_r_ms 0
node2 1593551588 vdisk_r_ms vdisk_r_ms 0
node2 1593551593 vdisk_r_ms vdisk_r_ms 0
node2 1593551598 vdisk_r_ms vdisk_r_ms 0
node2 1593551603 vdisk_r_ms vdisk_r_ms 0
node2 1593551608 vdisk_r_ms vdisk_r_ms 0
node2 1593551613 vdisk_r_ms vdisk_r_ms 0
node2 1593551618 vdisk_r_ms vdisk_r_ms 0
node2 1593551623 vdisk_r_ms vdisk_r_ms 0
node2 1593551628 vdisk_r_ms vdisk_r_ms 0
node2 1593551633 vdisk_r_ms vdisk_r_ms 0
node2 1593551638 vdisk_r_ms vdisk_r_ms 0
node2 1593551643 vdisk_r_ms vdisk_r_ms 0
node2 1593551648 vdisk_r_ms vdisk_r_ms 0
node2 1593551653 vdisk_r_ms vdisk_r_ms 0
node2 1593551658 vdisk_r_ms vdisk_r_ms 0
node2 1593551663 vdisk_r_ms vdisk_r_ms 0
node2 1593551668 vdisk_r_ms vdisk_r_ms 0
node2 1593551673 vdisk_r_ms vdisk_r_ms 0
node2 1593551678 vdisk_r_ms vdisk_r_ms 0
node2 1593551683 vdisk_r_ms vdisk_r_ms 0
node2 1593551688 vdisk_r_ms vdisk_r_ms 0
node2 1593551693 vdisk_r_ms vdisk_r_ms 0
node2 1593551698 vdisk_r_ms vdisk_r_ms 0
node2 1593551703 vdisk_r_ms vdisk_r_ms 0
node2 1593551708 vdisk_r_ms vdisk_r_ms 0
node2 1593551713 vdisk_r_ms vdisk_r_ms 0
node2 1593551718 vdisk_r_ms vdisk_r_ms 0
node2 1593551723 vdisk_r_ms vdisk_r_ms 0
node2 1593551728 vdisk_r_ms vdisk_r_ms 0
node2 1593551733 vdisk_r_ms vdisk_r_ms 0
node2 1593551738 vdisk_r_ms vdisk_r_ms 0
node2 1593551743 vdisk_r_ms vdisk_r_ms 0
node2 1593551748 vdisk_r_ms vdisk_r_ms 0
node2 1593551753 vdisk_r_ms vdisk_r_ms 0
node2 1593551758 vdisk_r_ms vdisk_r_ms 0  

Also, if I add the following debug info at the bottom of main;

    print("-----------------------------------------------------------")
    print ("Number of items in the list data = ", len(data))
    print("Loop-runs: ",loop_runs)
    query = 'SELECT count(metric) FROM ' + table
    result = client.query(query, database=db)
    print("Result: {0}".format(result))

I get the following output:

-----------------------------------------------------------
Number of items in the list data =  480
Loop-runs:  480
Result: ResultSet({'('latency', None)': [{'time': '1970-01-01T00:00:00Z', 'count': 122}]})

I can’t understand why only approx 120 records are inserted.
The loop goes through the following variables;
nodes = [‘node1’,‘node2’]
metrics = “mdisk_w_ms,mdisk_r_ms,vdisk_w_ms,vdisk_r_ms”

but it is only the last metric (vdisk_r_ms) that makes it to the database, even though all 4 metrics are in the debug print-output as you can see.

Thanks again for helping - please let me know if you need more information.

1 Like

Hi
Does anyone have a hint to help me understand what is happening?
Thanks :slight_smile:

Hi all
Can someone help with this?
Thanks

Hello All
Hope you have time to spend 5 minutes on helping me.
I get 480 data-points/lines from the query (see line example in comments), but when I call write_points(), only 120 points are written.
No errors are returned (I tried a try/except block) and the data list contains 480 dictionaries.
I have no idea why this is - so any hints/help will be much appreciated.
Thanks!

Below is the complete code:

#!/usr/bin/python3
import statsd
import sys
import os
import string
import paramiko
import configparser
import time
import socket
from prometheus_client import CollectorRegistry, Gauge, push_to_gateway
from influxdb import InfluxDBClient

##### Global Variables
host = "my-test-influxdb"
port = "8086"
db = "IBMFlashSystem"
table = "latency"
user = "admin"
password = "123456789"
customer = "IBM Demo"
stg_vendor = "IBM"
stg_type = "flashstore"
stg_model = "5030"
stg_name = "FS01"
ssh_host = "v5030-storagesystem"
ssh_username = "perfmon"
ssh_password = "123456789"
metrics = "mdisk_w_ms,mdisk_r_ms,vdisk_w_ms,vdisk_r_ms"

# ----------------------------------------------------------------------------------------------------------------
def get_stats( ssh_host, ssh_username, ssh_password, cmd) :
    # Establish SSH connection with SAN storage management interface
    try:
      ssh = paramiko.SSHClient()
      ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      ssh.connect(hostname=ssh_host, username=ssh_username, password=ssh_password)
      #self.ssh._transport.set_keepalive(60)
    except:
      sys.exit("Error establishing SSH connection to server (" + ssh_username + "@" + ssh_host + ")!")
    stdin, stdout, stderr = ssh.exec_command(cmd)
    stdout = stdout.readlines()
    ssh.close()
    return stdout


# ----------------------------------------------------------------------------------------------------------------
if __name__ == '__main__':

    # two controllers in the SAN
    nodes = ['node1','node2']

    client = InfluxDBClient(host, port, user, password, db)
    client.drop_database(db)
    client.create_database(db)
    client.switch_database(db)
    data = []
    loop_runs = 0

    for metric in metrics.split(',') :
        for node in nodes :
            out = get_stats(ssh_host, ssh_username, ssh_password, 'lsnodecanisterstats -history ' + metric + ' -nohdr ' + node)
            for line in out :   
                # Lines look like this: '1 node1 140911134627 mdisk_r_mb 0'
                node_name = line.split()[1]
                timestamp = int(time.mktime(time.strptime(line.split()[2], '%y%m%d%H%M%S')))
                metric_name = line.split()[3]
                value = line.split()[4]

                #print(node_name, timestamp, metric, metric_name, value, sep=' ')
                measurement = {
                    "measurement": table,
                    "tags": {
                        "customer": customer,
                        "stg_vendor": stg_vendor,
                        "stg_type" : stg_type,
                        "stg_model": stg_model,
                        "stg_name": stg_name
                    },
                    "time": timestamp,
                    "fields": {"stg_node": node_name, "metric": metric_name, "value": value}
                }
                data.append(measurement)
                loop_runs=loop_runs+1

    client.write_points(data, time_precision='s', database=db, protocol='json')
  
    print("-----------------------------------------------------------")
    print ("Number of items in the list data = ", len(data))
    print("Loop-runs: ",loop_runs)

Hi again
Fixed it - it was simply because I was not aware how InfluxDB drops/merges duplicated datapoints.
I added a unique tag, and now all datapoints are there after the call to write_points():

measurement = {
                    "measurement": table,
                    "tags": {
                        "customer": customer,
                        "stg_vendor": stg_vendor,
                        "stg_type" : stg_type,
                        "stg_model": stg_model,
                        "stg_name": stg_name,
                        "unique": loop_runs # Needed to avoid data-points beeing overwritten because of equality. 
                    },
                    "time": timestamp,
                    "fields": {"stg_node": node_name, "metric": metric_name, "value": value}
                }

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.