SigNoz Open-Source Telemetry in AKS

Introduction

SigNoz is a open-source project with a paid SaaS offering of observability for your infrastructure, previously very few players were existing in this space notable are Elastic, Prometheus, however if you notice these goals of these organizations was a solution for one area. Due to this the approach at least from what I can gather of SigNoz is to create the use of OpenTelemetry to not keep users in a vendor locked-in ie, DataDog, New Relic type of solutions and dependent on a traditional SaaS subscription. Many organizations that have adopted kubernetes leverage resources outside of platforms to monitor metrics and alerts that have rich integration with many resources behind subscriptions this projects intention is to stem that use to open-source while also providing a rich experience in this blog post we explore the use of SigNoz in a AKS cluster.

Pre-requisites

  • Kubernetes v1.2 or above
  • Helm

I’m currently running v1.28 via AKS for a quick demo on this that allows me in-browser access to nodes deployed.

First we need to add our helm chart running the following commands in our shell

helm repo add signoz https://charts.signoz.io/
helm repo list

The documentation of SigNoz recommends to create a namespace for SigNoz to run in named “platform”

kubectl create ns platform
helm --namespace platform install my-release signoz/signoz

If we run the following command we can see what was installed in our namespace.

kubectl -n platform get pods

You can run this command as above or you can run the code in the following if your running in linux.

export SERVICE_NAME=$(kubectl get svc --namespace platform -l "app.kubernetes.io/component=frontend" -o jsonpath="{.items[0].metadata.name}")

kubectl --namespace platform port-forward svc/$SERVICE_NAME 3301:3301

After we’ve launched this sign up with our registration information we can now explore the portal of the dashboard.

We can access the logs I’ve selected the old view to showcase how logs are portrayed in the portal as shown below.

What is really neat about the visuals is the UI/UX allows a lot of slicing/filtering of visuals as shown below you can sort by the following.

You could also Go Live to capture logs in real-time and stop collection when you’d like.

I’ve navigated to the dashboards to create a new dashboard using the query builder and was making simple table listing of pods shown below you can add time series as well.

After playing around with the visuals I’ve mapped the defender low-level log collector used to communicate with Defender for Cloud to monitor our cluster. Along with deployments available in the cluster, I’ll have to mess with creating a few more of these to get better visuals but wanted to show you can customize this fairly easily.

Alerts are also supported as shown in the image below so you can configure on your customized metrics similar to how we use promtheus.

The categories provided are fairly straight forward to guide you on a decision of what alert you’re trying to achieve.

This even guides you to how to configure alert with a simple instruction set that is populated when you select in creation of alert as you can see I’m viewing a time-series data visual that is shown above.

Moving into the Settings page you can also configure alert settings to which platform you’re planning to integrate.

SigNoz also offers a cloud platform to be a more turn-key solution without leveraging the configuration we’ve used should you want a more managed experience in that realm along with other features.

Summary

SigNoz offers a robust platform that is built completely open-source leveraging OpenTelemetry and out of the box provides a streamlined experience that feels frictionless. I was able to get this up and running on a AKS cluster, however documentation also supports other platforms such as GCP, AWS and kubernetes. This isn’t the only way to leverage metrics as your platform of choice or if your running baremetal perhaps you have a platform you’re already utilizing this is to be a alternative without closed-source use. I think the move of the tools for telemetry are important for any organization and the expansion of open-source helps developers not feel locked in to a vendors SaaS model to gather important metrics should they want to use open-source. Take a look at this project as its definitely a must use if you are not leveraging telemetry with other tools such as DataDog, New Relic.