Netdata Community

Can't configure with icecast

I have a Ubuntu 18 and icecast2 not icecast-kh.
Somebody can install the monitor?

I’m using this documentation:

Nice! Still our icecast collector looks pretty basic and we could collect more data, if you are interested in it i suggest to open an issue on github, if not - nvm :+1:

HI @ilyam8

Finally, I get the graphic works on my server.

After all your recommendations I made these changes:

  1. On the sources icecast2.xml change public 0 to 1 and hidden 1 to 0 because this blocks the metrics on status-json.xsl

  2. After the sources were shown, the json shows syntax errors or broken. The cause: I was not sending metadata then the “title” shows as

"title": -

Then i send metadata with the encoder and the status-json.xsl was fixed.

Then i update my icecast.conf over /etc/netdata/python.d/icecast.conf

localhost:
  name : 'local'
  url  : 'http://104.168.215.135:8080/status-json.xsl'

alt text

I appreciate all your help thank you so much!

@ilyam8

mmm ok, i gonna check this… Thank you!

http://104.168.215.135:8080/status-json.xsl response is not a valid json

@ilyam8

I changed the sources stills not work.
Additional i use only 1 configuration, let me show.

http://104.168.215.135:8080/status-json.xsl
alt text

And is only 1 configuration, the others are commented.

alt text

You have 3 configurations with the same url. It doesnt work because icecast collector expect list of active sources in the response, and there are no sources in http://104.168.215.135:8080/status-json.xsl

{
    "icestats": {
        "admin": "info@shock.fm",
        "client_connections": 1365,
        "clients": 0,
        "connections": 2951,
        "file_connections": 18,
        "host": "104.168.215.135",
        "listener_connections": 1194,
        "listeners": 0,
        "location": "Guatemala",
        "server_id": "Icecast 2.4.4",
        "server_start": "Tue, 06 Oct 2020 20:00:43 -0600",
        "server_start_iso8601": "2020-10-06T20:00:43-0600",
        "source_client_connections": 2,
        "source_relay_connections": 0,
        "source_total_connections": 2,
        "sources": 0,
        "stats": 0,
        "stats_connections": 0
    }
}

I think our icecast collector could be better and should handle 0 sources response. i suggest to open an issue https://github.com/netdata/netdata/issues/new/choose

Thank you Ilyam8,

I already fix the json_status.xsl with the sources
http://104.168.215.135:8080/status-json.xsl

I try with this 3 configurations:

localhost:
name : ‘local’
url : ‘http://104.168.215.135:8080/status-json.xsl

localipv4:
name : ‘local’
url : ‘http://104.168.215.135:8080/status-json.xsl

remote:
url : ‘http://104.168.215.135:8080/status-json.xsl

but still doesn’t show the Listeners

http://104.168.215.135:19999

Also i was trying with the different ports 8040 with SSL, 8080 without ssl

Any clue??

Thanks @ilyam8 for assisting with this issue!

wait hold on, i see there should be a list of sources, there are none on your screenshot

https://icecast.org/docs/icecast-trunk/server_stats/

Like https://github.com/netdata/netdata/issues/3486#issuecomment-369801548

Icecast collector description: Monitors the number of listeners for active sources.

https://github.com/netdata/netdata/tree/master/collectors/python.d.plugin/icecast#icecast-monitoring-with-netdata

If it fixes i will make a PR with the fix.

Hi.

Could you change https://github.com/netdata/netdata/blob/95602418c2e066bfff72c73eb8346b84bf100550/collectors/python.d.plugin/icecast/icecast.chart.py#L23-L27

to

class Source:
    def __init__(self, idx, data):
        self.name = 'source_{0}'.format(idx)
        self.is_active = data.get('stream_start') and (data.get('server_name') or data.get('server_id'))
        self.listeners = data['listeners']

This is my config.

alt text

Inside de icecast.conf

alt text

Restart the services and i can’t get the listeners.
This is my status-json.xsl

alt text

Thankyou!!!

Yes, i use the documentation, editing the icecast config like the example, also try with default configuration moving the ips, ports, trying with the domain… But never show data.

Error Log
https://pastebin.com/8z7peVAL

Access Log
https://pastebin.com/JtYaQD48

This is my configuration:

remote:
name: shockfm
update_every: 1
priority: 60000
url: ‘http://streaming.shock.fm:8080/status-json.xsl

Actually I’m using remote because http://localhost:8040/status-json.xsl and http://127.0.0.1:8443/status-json.xsl doesn’t work.

I’m using icecast2 bundle… version 2.4.4 not icecast-kh

Hey,

Did you try to follow the documentation and it doesn’t work?

Can you please send us the logs, as shown in the documentation? Also, did you try to restart Netdata service or try a different browser to access the dashboard?

Don’t worry, we will get to the bottom of this :muscle:

BTW, Welcome to our community :slight_smile: I hope you enjoy your stay here. If you find a thread that is of interest to you, don’t think about it. Just jump in and share your thoughts, you will probably help a fellow user a lot! :v: