Twitch has transformed the live streaming industry by revolutionizing the process of user broadcasting and real-time audience interaction. At 15 Million daily visitors, Twitch has grown to one of the largest sources of internet traffic. With the massive amount of information being shared in Twitch, we asked ourselves the age-old question: Can it be Splunked?
The short answer is: yes. Using Twitch's API we are able to gain access to a plethora of information. To start, however, we look at a single API endpoint and see just how far can we go with that information. For this example, we chose to look at the "Get Top Games" and expand it to the "Top 100 Games" at the time.
To create a simple integration with Splunk for onboarding Twitch data, we went ahead and created a modular input. This input polls the single API endpoint and formats the XML repsonse to a more Splunk-friendly format. The only required information for this input is the Client-ID provided by Twitch.
Once the input has been created, we begin to see the information in Splunk.
Next, we want to view some analytical information about this data using Splunk dashboarding. Using simple XML, we create a sample dashboard that highlights some key information found within this data. These include: the total overall viewership when looking at the top 100 viewed games over the past 4 hours; number of viewers for the top 10 games; number of times a game has appeared within the top 10 most viewed game; the overall viewership percentage of the top 10 games compared to the remaining 90; and the unique comparison of the number of views of a game against the number of channels streaming that game on Twitch.
The latter is a fairly unique case as it helps to illustrate which games are somewhat oversaturated with people streaming and how that compares to the overall viewership for that game. This could help current streamers who want to grow their channel by identifying which games have high viewerships and a low number of channels.
There you have it; Splunking Twitch is possible. And, with more unique API endpoints to be harnessed, the possibilities are endless.