Azure HA Kubernetes Monitoring using Prometheus and Thanos

Introduction

Long since Prometheus took on the role of monitoring the systems, it has been the undisputed open-source leader for monitoring and alerting in Kubernetes systems, it has become a go-to solution. While Prometheus does some general instructions for achieving high availability but it has limitations when it comes to data retention, historical data retrieval, and multi-tenancy. This is where Thanos comes into play. In this blog post, we will discuss how to integrate Thanos with Prometheus in Kubernetes environments and why one should choose a particular approach. So let’s get started.

Continue reading “Azure HA Kubernetes Monitoring using Prometheus and Thanos”

MongoDB Setup on Kubernetes using MongoDB Operator

MongoDB is a popular NoSQL database that supports large as well as small size of datasets. Just like any other database standalone setup, MongoDB is straightforward but we have to make a replicated or shared cluster of MongoDB, and there we have certain complications. Especially if we are doing these kinds of setups in orchestration tools like Kubernetes.

There is a lot of complexity in setting up MongoDB on Kubernetes that people(including me) have faced for a long time which I would like to highlight:-

  • Standalone setup is pretty straightforward but for replicated and sharded clusters additional mongo configurations are required.
  • In the replicated scenario, separate configurations need to be managed for the leader and follower.
  • Monitoring and access management of MongoDB inside Kubernetes is a little tricky part to handle.
Continue reading “MongoDB Setup on Kubernetes using MongoDB Operator”

Alerting Through Azure Logic Apps

As we know alerting is the most crucial part of any infrastructure, and it becomes even more challenging when our infrastructure grows since we cannot monitor everything every time. Every client wants to get notified by their own alerting system before their customer reaches out to them and informs “Hey this service is not working or I am not able to access XYZ service“.

Alerting helps to ensure that the system remains healthy, responsive, and secure. It’s an important part of any system that makes performance, availability, and efficiency high. An operator might need to be notified of the event that triggers the alert.

We can set up alerts in many ways, but in this blog, I will be focussing on setting up alerting through azure logic apps.

Azure provides multiple options to send an alert to the end user, maybe through email, Slack, Pagerduty, SMS, etc. In this blog, I will be explaining the way to send an alert through email, Slack, and Pagerduty.

Continue reading “Alerting Through Azure Logic Apps”

Observability for Monitoring Microservices — Top 5 Ways!

Knowing what’s running inside the container, how the application and code are performing is critical for tackling important issues. Discussed here are some important Microservices monitoring tools and approaches. Take a look!

With Microservices architecture becoming the de facto standard for web applications now, effective debugging and anomaly detection calls for a system that is observable — which means, the internal state of an application can be inferred by observing and tracking the metrics, traces and logs.

Observability is all about data exposure and easy access to information required to find issues when the communications fail, internal events do not occur as expected or events occur when they shouldn’t. Here, you’ll learn and know about different Microservices monitoring tools and how to monitor Microservices. Let’s take a look!

Monitoring Microservices using a predefined set of metrics and logs helps in understanding the actual health status of applications. The way how services interact with each other at runtime needs to be monitored, managed and controlled for identifying issues within the app.

Microservices Observability and monitoring microservices are crucial for understanding how apps are functioning and for identifying issues to prevent failures in advance. How to monitor microservices has become a common issue for enterprises these days.

Here is an overview of the approach that some of the platforms are taking to provide the engineering teams with complete observability for monitoring app performance and gauging its health status. Also, discussed here is a list of some popular microservices monitoring tools to know the insights and performance of the Microservices.

Continue reading “Observability for Monitoring Microservices — Top 5 Ways!”

Nginx monitoring using Telegraf/Prometheus/Grafana

Nginx is one of the most popular and widely used web servers mostly because of its speed and reliability. Nevertheless, it is paramount to keep track of the performance and availability that would help you to proactively prepare yourself for the worst scenarios like sudden/unexpected hikes in traffic. It will also keep you updated about the current state and health of your application.

This article will guide you on how to get Nginx Web Server metrics and visualize them. The main goal is a quick deployment and configuration using well-known open-source projects like Grafana, Prometheus, and Telegraf.

Prometheus: An open-source, time-series database for event monitoring and alerting managed by the Cloud Native Computing Foundation (CNCF).

Grafana: An Open-source project for analytics software and visualization of the metrics from any database.

Telegraf: An Open-source project, plugin-driven agent to collect and send metrics.

Continue reading “Nginx monitoring using Telegraf/Prometheus/Grafana”