Control Panel - Storm Streaming Server

The Storm Streaming Server features a built-in control panel accessible via a web browser, which provides insights into active broadcasts and their viewers, server parameters such as bandwidth usage or load, and metadata. It also allows for the management of our streams.

Configuration

To connect to the panel, appropriate server configuration through the preferences.xml file is necessary. The first step is to ensure that we have at least one VHOST that supports the HTTP protocol. The standard configuration is shown in the example below and ensures an open socket on port 8080.

                        
<VHosts>
    ...
    <VHost host="127.0.0.1" port="8080" isSSL="false">
        <Protocols>WEBSOCKETS, HTTP</Protocols>
    </VHost>
</VHosts>
                    

If you want to learn more about the correct configuration of VHOSTs, we recommend consulting our VHost Guide.

The second element that we need to edit is the login data, which can be modified via the ControlPanel block:

                        
	<ControlPanel>
		<IPWhiteList></IPWhiteList>
		<Authorization>
			<auth username="admin" password="admin" />
		</Authorization>
	</ControlPanel>
                    
Please make sure to change default Control Panel login credentials before deploying your server!

In the example above, we have one login entry. We can add more entries. It is also possible to restrict access to the panel based on IP address. In this case, in the IPWhiteList field, we enter a list of IPs separated by commas (empty spaces do not matter). If this field is empty, no restrictions are imposed.

First Connection

Using any internet browser such as Chrome, Safari, Edge, or Firefox, we open the control panel subpage. The address of our panel will look like this:

                        
http://127.0.0.1:8080/cpanel
                    

If we are not using an SSL certificate in the configuration, we use http; otherwise, we replace this part with https. The address 127.0.0.1 is the host name or IP provided in the VHost configuration. In the case of using docker, it might also be a domain like localhost or CONTAINER_NAME.docker. Port 8080 is the port on which the socket is open. In the case of docker, this port may be different due to port forwarding between the host and the container.

Control Panel Overview

The basic architecture of the streaming cluster consists of the following elements:

/cpanelContains basic information about the server such as its identifier, but also the server version, detected type of Java Virtual Machine, and basic hardware parameters like the number of cores or size of RAM.
/cpanel/server-loadThis contains information about the resources utilized by the server, including CPU load, RAM, and bandwidth. Additional details about the threadpool and their utilization levels are also included.
/cpanel/configurationHere, you can view the currently loaded configuration of the threadpool, vhosts, and the transcoder.
/cpanel/applicationsAllows viewing of applications available in the system, and upon selecting a specific application, also lists its streams. It is possible to view stream parameters, metadata, and viewer connections.
/cpanel/clusterContains aggregated information by the ClusterManager, such as a list of connected servers/applications and published streams.
/cpanel/transcodingThis subpage contains a list of current transcoding tasks using FFMPEG. It is possible to view the output of each task.
/cpanel/licenseThis subpage contains information about the current state of the server license, its expiration date, and current limits.
Table 1. Control Panel Overview table