# mxExporter **Repository Path**: metax-maca/mxExporter ## Basic Information - **Project Name**: mxExporter - **Description**: No description available - **Primary Language**: Unknown - **License**: BSD-2-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-27 - **Last Updated**: 2026-04-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mx-exporter - MetaX Prometheus Data Exporter The mx-exporter is a standalone app that can be run as a daemon, written in Python Language, that exports MetaX GPU metrics to the Prometheus server. The mx-exporter uses MXSML C-Library for its data acquisition. The exporter and the MXSML library have a [PYTHON binding] that provides an interface between the MXSML C,C++ library and the PYTHON exporter code. ## Build docker image ``` $ sudo make mxc MACAVER=xxxx ARCH_L=amd64 ``` ## Run as Docker ``` $ sudo docker run -d --name=mx-exporter --device=/dev/dri -p 0.0.0.0::8000 ``` Add "-v /var/lib/kubelet/pod-resources:/var/lib/kubelet/pod-resources" to support export pod resources. if you want to change port and process interval settings, use this: ``` $ sudo docker run -d --name=mx-exporter --device=/dev/dri -p 0.0.0.0:: -p -i ``` if you want to use self defined counter configuration file on host, here's an example: ``` $ sudo docker run -d --name=mx-exporter --device=/dev/dri -p 0.0.0.0:: -v :/work/counters.csv -c /work/counters.csv ``` ## Run as python application ``` $ python3 -m mx_exporter -p -i -c ``` - port: http listen port, default:8000 - interval: Metrics gathering interval, default:10000ms - config_file: Metrics configuration file in CSV format, default: ./default-counters.csv ## Deployment ## Deploy with kubernetes All the deployment configuration files stored in the `deployment` folder 1. Create Namespace ``` kubectl apply -f namespace.yaml ``` 2. Startup Data Exporter as Daemonset ``` cd mx-data-exporter kubectl apply -f . ``` 3. Startup Prometheus ``` cd prometheus kubectl apply -f . ``` 4. Startup Grafana ``` cd grafana kubectl apply -f . ``` ## Deploy with Helm Helm install using package ``` cd mx-exporter/deployment/mx-exporter/helm; helm install metax-mx-exporter mx-exporter \ --create-namespace -n metax-monitor \ --set image.repository=xxxx \ --set image.tag=x.x.x \ ``` **Options**: - service.port - set container port, default is 8000 - gatherInterval - unit: ms, default is 10000