{"id":17169616,"url":"https://github.com/jb3/icecast-exporter","last_synced_at":"2025-04-13T16:06:15.674Z","repository":{"id":57661411,"uuid":"476510243","full_name":"jb3/icecast-exporter","owner":"jb3","description":"A Prometheus Exporter for Icecast","archived":false,"fork":false,"pushed_at":"2024-12-05T02:27:34.000Z","size":75,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-13T13:16:32.758Z","etag":null,"topics":["icecast","prometheus","prometheus-exporter","radio-station","urn"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jb3.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"jb3"}},"created_at":"2022-03-31T23:31:05.000Z","updated_at":"2024-12-05T02:27:38.000Z","dependencies_parsed_at":"2023-07-13T02:08:40.797Z","dependency_job_id":"a973f1b3-cfd6-4c8f-a705-bb7c21b54f0e","html_url":"https://github.com/jb3/icecast-exporter","commit_stats":{"total_commits":18,"total_committers":2,"mean_commits":9.0,"dds":0.05555555555555558,"last_synced_commit":"3f9de9a1662ff124588de467ee8aa75eaad57f7c"},"previous_names":["jb3/icecast-exporter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb3%2Ficecast-exporter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb3%2Ficecast-exporter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb3%2Ficecast-exporter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jb3%2Ficecast-exporter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jb3","download_url":"https://codeload.github.com/jb3/icecast-exporter/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240100514,"owners_count":19747683,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["icecast","prometheus","prometheus-exporter","radio-station","urn"],"created_at":"2024-10-14T23:26:47.283Z","updated_at":"2025-02-23T16:33:19.319Z","avatar_url":"https://github.com/jb3.png","language":"Go","funding_links":["https://github.com/sponsors/jb3"],"categories":[],"sub_categories":[],"readme":"#+TITLE: Icecast Exporter\n\nIcecast Exporter exports statistics from Icecast into Prometheus.\n\nWe use this at [[https://urn1350.co.uk/][University Radio Nottingham]] for pulling statistics from our web streaming into a Grafana instance which is used to find listener counts in time-series.\n\n** Install\n\nEnsure you have a working Go installation (minimum 1.18) and run the following:\n\n#+BEGIN_SRC\n$ go install github.com/jb3/icecast-exporter@latest\n#+END_SRC\n\nOnce installed, you will find the compiled binary at ~/home/user/go/bin/icecast-exporter~.\n\n** Usage\n\nOnce you have a binary, you can use the program with the following command line flags:\n\n| Flag       | Default    | Required | Description                                                     |\n|------------+------------+----------+-----------------------------------------------------------------|\n| ~url~      | N/A        | ✅       | The URL of the Icecast ~status-json.xsl~ endpoint to poll from. |\n| ~port~     | 2112       | ❌       | The port to listen and serve metrics from.                      |\n| ~endpoint~ | ~/metrics~ | ❌       | Endpoint to serve metrics from.                                 |\n| ~interval~ | ~15~       | ❌       | Timing interval to poll Icecast (seconds).                      |\n\nAn example invocation is as follows:\n\n#+BEGIN_SRC bash\n$ ./icecast-exporter -url https://icecast.example.com/status-json.xsl -port 1234\n#+END_SRC\n\n** Running in the background\n\nAn example FreeBSD ~rc.d~ service might look like:\n\n#+BEGIN_SRC shell\n#!/bin/sh\n\n. /etc/rc.subr\n\nname=\"icecast_exporter\"\nrcvar=\"icecast_exporter_enable\"\npidfile=\"/var/run/icecast_exporter.pid\"\n\ncommand=\"/usr/sbin/daemon\"\ncommand_args=\"-P ${pidfile} -r -t icecast_exporter /home/joe/go/bin/icecast-exporter -url https://icecast.example.com/status-json.xsl\"\n\nload_rc_config $name\nrun_rc_command \"$1\"\n#+END_SRC\n\nOnce this file has been edited and placed in `/usr/local/etc/rc.d/icecast-exporter` (and set to executable), run:\n\n#+BEGIN_SRC shell\n# Enable the Icecast Exporter service\n$ sysrc icecast_exporter_enable=YES\n# Start the Icecast Exporter service\n$ service iceast_exporter start\n#+END_SRC\n\n** License\n\nThis project is licensed under MIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjb3%2Ficecast-exporter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjb3%2Ficecast-exporter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjb3%2Ficecast-exporter/lists"}