diff --git a/roles/telegraf/files/hw_counters.fact b/roles/telegraf/files/hw_counters.fact
new file mode 100644
index 0000000000000000000000000000000000000000..4abbd809187e035e72f456cc4657c7f09ada1231
--- /dev/null
+++ b/roles/telegraf/files/hw_counters.fact
@@ -0,0 +1,15 @@
+#!/usr/bin/python3
+
+import json
+import os
+
+def render_data(data):
+    return json.dumps(data)
+
+device_name = 'mlx5_0'
+hw_counters = {}
+path = '/sys/class/infiniband/{}/ports/1/hw_counters/'.format(device_name)
+
+hw_counters[device_name] = os.listdir(path)
+
+print(render_data(hw_counters))
\ No newline at end of file