Icecast is a very popular transmission protocol for audio live streaming.
Qosifire allows monitoring the quality of service and quality of content of Icecast streams. A customer installs monitoring agent on designated server, then sets up monitoring settings using Qosifire web console.
In Qosifire, a stream is a basic unit which defines specific live stream to monitor and its check-over parameters.
Notice To learn more about streams setup, read Managing streams article in our knowledge base. Current article describes how Icecast steams are monitored and what stream characteristics you may check with Qosifire.
Viewing streams stats
To view currently monitored streams, log into Qosifire and click on Streams menu in the navigation panel.
Each stream has its name and URL, current status and logging settings.
The statuses can be one of the following
- Idle means the streams was added but not yet synced up with agent node.
- Syncing means the stream are being synced at this moment, it normally takes several seconds.
- Online means that the stream is being checked and it's working with no errors.
- Offline means the stream is not received.
Clicking on the stream name will open its status page.
First, you'll see Stream status chart, showing number of events - both successful events and errors.
Traffic chart shows how much data was received from the stream each second.
Buffer chart indicates the buffer size available on agent.
Stream events feed on the right side of the page shows events received from the agents regarding this stream, in the reverse order of reception. Some of the events initiate sending a notification to proper subset of users, we'll mention them specifically. The following events are displayed.
- Task started - the agent started the task of continuous check-over.
- Task finished - the agent finished check-over, e.g. a node was unassigned from this stream.
- Error - some general error, with proper details on failure. This event generates user notification.
- Hostname resolved for the stream URL.
- Failed to resolve host for the URL. This event generates user notification.
- Redirect to other URL.
- Connected to host means the agent has connected successfully to stream.
- Failed to connect in case connection to the stream has failed. This event generates user notification.
- Streams info shows Icecast-specific general information for the stream.
- Metadata provides full Icecast metadata as provided by the origin Icecast server.
- Buffer too short means that the buffer sent by the server is too short for proper playback and check. This event generates user notification.
- Buffer too long means that the buffer sent by the server is too long for the player. This event generates user notification.
Audio quality related events, all of them generate proper user notifications.
- General error means some basic error, with further description.
- Performance issue means that decoder starts missing frames due to performance problems on agent node. You may think about adding more threads for check-over for this stream using stream management.
- Silence started indicates that the silence detection criteria is met, as you've set it in stream settings.
- Silence stopped indicates that the previously detected silence is over.
Most of events have Details button. If you click on it, you'll see more information about what's happened at the point of time.
Using teams for access control
The stream's details can be viewed by:
- All admin users.
- Non-admin users who are assigned to a team which has access to current stream.
To learn more about using teams for access control, please refer to Using teams article.
As mentioned above, some of the events initiate sending notifications to the users who were eligible for receiving the messages. The web console will use the user account email to send them. If the user has installed our app on a mobile device and has registered in the system, then this user will also get a push notification.
How to stop monitoring a stream
If you'd like to pause the stream monitoring for some time, currently you can just un-assign all nodes from the stream. This will initiate "Task finished" event and you won't get any notifications going forward.