# SRCDS Prometheus exporter Works (or should work) with the following servers : * Working : * CSGO * CSS * GMod * Not working (I'm planning on adding them in the near future) : * L4D2 * TF2 * HL2DM ## How to install ### Method 1 : Download sources and run You need to have NodeJS installed if you want to run the sources, NVM (Node Version Manager) is a simple tool to get it running : https://github.com/nvm-sh/nvm 1. Download the repo (using git clone or direct zip download) 2. Enter the srcds_exporter directory and run `npm i`, this will install all required dependencies 3. Start the script with node : `node index.js`, you can create a service or run it in a screen to keep it active in background ### Method 2 : With docker `docker run -d -p :9591 --name srcds_exporter sithranduil/srcds_exporter:latest` ## Configure Prometheus Add the following configuration to Prometheus static configuration : ``` - job_name: 'srcds' scrape_interval: 5s static_configs: # Format : ["::::"] - targets: ["87.98.155.38:27016:password:cstrike:true:true:false"] labels: name: 'cstrike:only_de_dust2' relabel_configs: # IP - source_labels: [__address__] regex: ^(.+):\d+:\w+:\w+(:(\w+)){0,3}$ replacement: "$1" target_label: __param_ip # port - source_labels: [__address__] regex: ^.+:(\d+):\w+:\w+(:(\w+)){0,3}$ replacement: "$1" target_label: __param_port # rconPassword - source_labels: [__address__] regex: ^.+:\d+:(\w+):\w+(:(\w+)){0,3}$ replacement: "$1" target_label: __param_rconPassword # game - source_labels: [__address__] regex: ^.+:\d+:\w+:(\w+)(:(\w+)){0,3}$ replacement: "$1" target_label: __param_game # metamod - source_labels: [__address__] regex: ^.+:\d+:\w+:\w+:(\w+).*$ replacement: "$1" target_label: __param_metamod # sourcemod - source_labels: [__address__] regex: ^.+:\d+:\w+:\w+:(\w+):(\w+).*$ replacement: "$2" target_label: __param_sourcemod # sourcepython - source_labels: [__address__] regex: ^.+:\d+:\w+:\w+:(\w+):(\w+):(\w+).*$ replacement: "$3" target_label: __param_sourcepython - source_labels: [__address__] target_label: instance - target_label: __address__ replacement: srcds-exporter:9591 # Real exporter's IP:Port ``` Values for `game` field : | Game | Value | |:----------:|:-------------:| | CS:GO | csgo | | Garry's Mod | gmod | | Counter Strike Source | cstrike | ## How to access If you want to see what the exporter returns, you can access : `http://:9591/metrics?ip=&port=&password=&game=&metamod=&sourcepython=&sourcemod=` ## Grafana dashboard Is there a Grafana dashboard available ? Of course! **CSGO/CSS** : https://grafana.com/grafana/dashboards/13312 **GMod** : Coming