Customer Success Story: StreamGuys
StreamGuys has leveraged InfluxDB and Telegraf to be more transparent with customers. The company is working towards customer-facing interactive dashboards which allow deep insights into its hosted solutions with StreamGuys, thus allowing critical real-time business decisions to be made by its clients about the products.
StreamGuys utilizes InfluxDB to measure and track resource usage across many hosts, hypervisors, VMs, droplets, AWS instances, etc. and serves as a single pane of glass which condenses metrics from across the IT universe. With this information, StreamGuys can proactively recover from situations which would otherwise lead to downtime if left unaddressed. Using InfluxDB, the company is able to track long-term stream metrics for client audio and video feeds. This provides critical feedback regarding abstract data like volume levels, encoder connection/disconnection rates, deep application stats to track buffer levels, and endpoint availability trends to help pinpoint regional connectivity problems.
More recently, StreamGuys has started to utilize the product to aggregate log metadata, letting them see real-time information about their applications which were otherwise only visible with active polling — after the fact. By utilizing InfluxDB with real-time log data, they can see almost instantly the effect of changes across the infrastructure and the impact of decisions as it relates to accessibility to public resources.
StreamGuys found InfluxDB to be incredibly performant, have a high ingest, and have a smooth integration with other tools. The high ingest of InfluxDB allowed them to leverage multiple ingest servers in an active-active deployment which stands as standalone silos in different regions. In other applications, StreamGuys had to expand their processing and data storage means, which often implied dramatic infrastructure and licensing costs.
With the processing volume available with InfluxDB, they found that they could “throw data at the wall, because it all sticks”. With that data, they often found neat and novel ways to re-process that information to gain new insights that they would not have access to with a limited ingest. Pushing data into InfluxDB is extremely easy, from bash, Python, perl, php, Node.js, Telegraf, etc. The formatting of ingest data is clear and simple to understand, allowing the company to ingest a variety of data sources via homegrown collection scripts. With this ease, they have dramatically improved their vantage into their infrastructure and gained deep insights into the health of their platforms. Performance is consistent, easy to predict, and superb all around.
With InfluxDB, StreamGuys has been able to maintain a lean data storage and query language that lets them focus on their real goal: streaming media. InfluxDB runs light weight and without fuss. The company has tried to adapt other platforms to their usage such as the ELK stack, but it required large investments in knowledge, hardware, and time. Ultimately, they ended up with a solution that was not optimal or flexible. Once the company discovered InfluxDB, they were finally able to stop worrying about maintaining the stack, providing a massive cluster of machines, or closely monitoring performance.
StreamGuys System Administrator Jesse Orr recommends InfluxDB to any business who desires to know more about its infrastructure, or to those who need real-time information provided for high-level overviews about performance and data delivery. The software is easy to install, very easy to maintain and secure, and can run on incredibly small virtual machines or servers. This low bar to entry, and seamless expansion to a massive powerhouse of data collection, retention, and ultimately display really makes it hard to pass up.
When starting out, especially on the open source version, Orr suggests running InfluxDB in an active-active “cluster”, having pollers and data collectors send data to both instances of InfluxDB, and having your dashboards and queries reference either system. If you use DNS, you can present each as a single node for reading purposes (multiple A records). This allows you to have a high-availability platform and perform maintenance that would otherwise incur downtime.