This is an exporter that exposes information gathered from FreeSWITCH for use by the Prometheus monitoring system.
pip install prometheus-freeswitch-exporter
usage: freeswitch_exporter [-h] [config] [port] positional arguments: config Path to configuration file (esl.yml) port Port on which the exporter is listening (9724) address Address to which the exporter will bind optional arguments: -h, --help show this help message and exit
Use :: for the address argument in order to bind to both IPv6 and IPv4 sockets on dual stacked machines.
Visit http://localhost:9724/esl?target=1.2.3.4 where 1.2.3.4 is the IP of
FreeSWITCH to get metrics from. Specify the module
request parameter, to
choose which module to use from the config file.
The target
request parameter defaults to localhost
. Hence if
freeswitch_exporter
is deployed directly on the FreeSWITCH host, target
can be omitted.
See the wiki for more examples and docs.
Example esl.yml
default:
port: 8021 # default port, can be omitted
password: ClueCon
For security reasons it is essential to change the default passwort in FreeSWITCH autoload_configs/event_socket.conf.xml.
The FreeSWITCH exporter can be deployed either directly on a FreeSWITCH node or onto a separate machine.
Example config for FreeSWITCH exporter running on FreeSWITCH node:
scrape_configs:
- job_name: 'freeswitch'
static_configs:
- targets:
- 192.168.1.2:9724 # FreeSWITCH node with FreeSWITCH exporter.
- 192.168.1.3:9724 # FreeSWITCH node with FreeSWITCH exporter.
metrics_path: /esl
params:
module: [default]
Example config for FreeSWITCH exporter running on Prometheus host:
scrape_configs:
- job_name: 'freeswitch'
static_configs:
- targets:
- 192.168.1.2 # FreeSWITCH node.
- 192.168.1.3 # FreeSWITCH node.
metrics_path: /esl
params:
module: [default]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9724 # FreeSWITCH exporter.
None yet.