az3 / mahm-exporter

MSI Afterburner Remote Server Output Formatter for Prometheus

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

mahm-exporter

This Python 3 script converts MSI Afterburner Remote Server XML output into Prometheus metric format and serves on port 9183.

Sample output;

$ curl -s http://localhost:9183/metrics | head -3
# HELP mahm_gpu_temperature GPU temperature
# TYPE mahm_gpu_temperature gauge
mahm_gpu_temperature{srcUnits="C",localizedSrcName="GPU temperature",localizedSrcUnits="C",recommendedFormat="%.0f",minLimit="0",maxLimit="100",flags="SHOW_IN_OSD",gpu="0",srcId="0"} 53

MSI Afterburner Remote Server provides monitoring data in XML format.

An old version can be found here: https://download.cnet.com/msi-afterburner-remote-server/3000-20432_4-75871627.html

The default configuration is in "MSIAfterburnerRemoteServer.exe.config" file with these details;

address: http://localhost:82/mahm
username: MSIAfterburner
password: 17cc95b4017d496f82

Sample XML output;

$ curl -s -u "MSIAfterburner:17cc95b4017d496f82" http://localhost:82/mahm
<?xml version="1.0" encoding="utf-8"?>
<HardwareMonitor>
	<HardwareMonitorHeader>
		<signature>1296123981</signature>
		<version>131072</version>
		<headerSize>32</headerSize>
		<entryCount>25</entryCount>
		<entrySize>1324</entrySize>
		<time>1705094555</time>
		<gpuEntryCount>1</gpuEntryCount>
		<gpuEntrySize>1304</gpuEntrySize>
	</HardwareMonitorHeader>
	<HardwareMonitorEntries>
		<HardwareMonitorEntry>
			<srcName>GPU temperature</srcName>
			<srcUnits>C</srcUnits>
			<localizedSrcName>GPU temperature</localizedSrcName>
			<localizedSrcUnits>C</localizedSrcUnits>
			<recommendedFormat>%.0f</recommendedFormat>
			<data>44</data>
			<minLimit>0</minLimit>
			<maxLimit>100</maxLimit>
			<flags>SHOW_IN_OSD</flags>
			<gpu>0</gpu>
			<srcId>0</srcId>
		</HardwareMonitorEntry>
...

The tags in XML tree are converted into Prometheus labels.

mahm_exporter.py file connects to /mahm (probably acronym for MSI Afterburner Hardware Monitor?) on port 82 and reads XML everytime GET /metrics is requested.

About

MSI Afterburner Remote Server Output Formatter for Prometheus

License:MIT License


Languages

Language:Python 100.0%