Dashboard Packs
Kubernetes Monitoring (with Prometheus) Dashboard
The Kubernetes monitoring dashboard is a great example of what is possible with SquaredUp beyond SCOM and Azure! This dashboard combines live metrics from Prometheus to give a performance overview of a Kubernetes cluster using SquaredUp’s PowerShell and WebAPI tiles.
Challenge
More organizations than ever are taking advantage of the efficiency benefits that container-based architectures provide in the cloud, and Kubernetes is by far the most popular orchestration tool used in production environments today.
However, with Kubernetes there is a steep learning curve, a constantly evolving ecosystem, and multiple layers of abstraction that generate a vast number of metrics; monitoring Kubernetes can be challenging.
Solution
This Kubernetes monitoring dashboard pulls live metrics from Prometheus using a range of SquaredUp’s PowerShell and WebAPI visualizations to provide a performance overview of a Kubernetes cluster. It can be easily modified to suit the needs of any monitoring team.
Surfacing meaningful metrics in a visually beautiful way, this working example dashboard enables quick identification of problems that are brewing in the Kubernetes cluster. The dashboard can be used as is, or adapted to support any metrics being scraped into Prometheus by simply changing the underlying queries (PromQL) used in the dashboard tiles.
Dashboard walk-through
At a glance, you can see how the cluster is performing as a whole in this Kubernetes monitoring dashboard. Scroll down to see the performance of individual nodes as necessary.
At the very top we are displaying information that identifies the name and type of cluster that is being monitored, as well as the network traffic over time.
The next section focuses on the memory, CPU and disk utilization of the cluster. We can see immediately when the cluster is nearing maximum capacity with the Status and Donut visualizations, as well as how those metrics are trending over time with the Line Graph.
The final section breaks out those critical metrics by individual nodes, helping to identify problematic nodes which maybe adversely impacting the performance of the overall cluster.
How do I import and configure this dashboard?
Ensure you're using SquaredUp DS v5.4 or above.
Already a SquaredUp customer?
Get the latest version of SquaredUp DS for SCOM
New to SquaredUp?
- Create a Web API provider to connect with Prometheus.
Use the following settings:In SquaredUp DS navigate to the right-hand menu ☰ > system > Integrations
- Under Integrations click on Web API and choose either Simple, Basic Auth or OAuth depending on the API you are using. Note: When adding an OAuth provider you may get an message that the provider is not authorized if some of the provider configuration is incorrect (for example the username, password, secret etc), or if you use a proxy it could be that the proxy is not configured. See How to configure SquaredUp DS to use a proxy.
- Complete the provider fields, using your API provider's online documentation as a guide.
ignore invalid ssl: Turn the on/off switch to on if you are using a self-signed certificate.
default headers headers sent with all requests using this provider, for example the API token in the format the API requires.
url parameters url parameters sent with all requests using this provider. For example, a query parameter that is always used can be added here in the provider to save adding it to every dashboard configuration.
- You are now ready to use this provider in a Web API tile (see How to use the Web API tile).
- Create a PowerShell profile in SquaredUp DS with the following settings:
# Set the end point of the Prometheus API endpoint $uri = "https://<your-prometheus-url>/api/v1/query_range" # Changes step and rate values based on the timeframe of the page. switch ($timeFrame) { "last1Hour" { $step = '60'; $timeago = -1; $rate = '2m' } "last12Hours" { $step = '600'; $timeago = -12; $rate = '30m' } "last24Hours" { $step = '900'; $timeago = -24; $rate = '1h' } "last7Days" { $step = '1200'; $timeago = -168; $rate = '6h' } "last30Days" { $step = '1800'; $timeago = -720; $rate = '1d' } "last3Months" { $step = '7200'; $timeago = -2160; $rate = '1d' } "last6Months" { $step = '10800'; $timeago = -4320; $rate = '7d' } "last12Months" { $step = '21600'; $timeago = -8640; $rate = '7d' } } # Get the page timeframe start and end $end = Get-Date -Date (Get-Date) -UFormat %s $start = Get-Date -Date ((Get-Date).AddHours($timeago)) -UFormat %s
# Set the end point of the Prometheus API endpoint $uri = "https://<your-prometheus-url>/api/v1/query_range" # Changes step and rate values based on the timeframe of the page. switch ($timeFrame) { "last1Hour" { $step = '60'; $timeago = -1; $rate = '2m' } "last12Hours" { $step = '600'; $timeago = -12; $rate = '30m' } "last24Hours" { $step = '900'; $timeago = -24; $rate = '1h' } "last7Days" { $step = '1200'; $timeago = -168; $rate = '6h' } "last30Days" { $step = '1800'; $timeago = -720; $rate = '1d' } "last3Months" { $step = '7200'; $timeago = -2160; $rate = '1d' } "last6Months" { $step = '10800'; $timeago = -4320; $rate = '7d' } "last12Months" { $step = '21600'; $timeago = -8640; $rate = '7d' } } # Get the page timeframe start and end $end = Get-Date -Date (Get-Date) -UFormat %s $start = Get-Date -Date ((Get-Date).AddHours($timeago)) -UFormat %s
- From the top right hand menu ☰ click system.
- Go to the PowerShell tab.
- Click add new profile.
- Enter a name and a description for the new profile.
- Enter the profile script.
- Click add profile.
The profile is now saved and can be used in a PowerShell tile.
For more help creating a PowerShell profile see How to use the PowerShell tile
Download and import this dashboard pack.
- Download the dashboard pack zip file for the dashboard pack you wish to import.
There may be additional steps before or after the import to get the dashboard working in your environment.
- In DS for SCOM go to the top right hand menu ☰ > Import Dashboard Packs and drag the zip file into the Manual Import box.
- The dashboard pack is imported and if the pack contains top-level dashboards, these will automatically appear in the navigation bar, usually in a folder called 'Community Dashboards' for dashboard packs from the SquaredUp Community. If the dashboard pack also contains perspectives (see Working with perspectives), then you'll see these when you drilldown to the relevant object.
- Carry out any additional steps required to make the dashboard work in your environment. These steps will be described on the download page for each dashboard. For example, you may need to create the correctly named Web API provider, create a PowerShell profile, or edit tile collections.
- Edit the imported dashboard as required.
- Download the dashboard pack zip file for the dashboard pack you wish to import.
GET STARTED TODAY
Zero to dashboard hero in 60 seconds
Start now with hundreds of customizable dashboards.