Observability for React Apps: Part 2

Avi Gupta
3 min readApr 11, 2023

--

Click here to read Part 1 of this series

Grafana

Grafana is an open-source data visualization and monitoring platform. It allows you to perform analysis on data from various sources such as databases, time-series data, and various cloud-based platforms. Because of its versatility, it is an ideal tool to analyse metrics sent by applications to record and visualise observability statistics. Grafana provides a wide range of features that make it an effective tool for monitoring data.

  • Dashboards: Grafana allows you to create custom dashboards that display real-time metrics and data. The dashboards are highly customizable, and you can choose from a wide range of visualizations including graphs, tables and heatmaps.
  • Data sources: Grafana supports a wide range of data sources, including time-series databases, cloud-based platforms, and various APIs. This allows you to bring together data from different sources and create a comprehensive view of your metrics and data.
  • Alerting: Grafana includes an alerting functionality that allows you to set up alerts based on specific conditions. For example, you can set an alert to notify you when a particular metric exceeds a certain threshold. These conditions can range from simplistic comparisons with numerical values, to complex conditions which evaluate custom metrics on their own.
  • Plugins: Grafana has a large active community of developers who have created a wide range of plugins that extend the functionality of the platform. These plugins include new data sources, visualizations, and dashboards, among other things.

For our use-cases, Grafana has proved to be a powerful and flexible platform that makes it easy to visualize and monitor data from a wide range of sources. With its prevalence in DevOps, IT operations, and other fields, it is clear that it can essentially be used by anyone looking to monitor and analyze data effectively.

Azure Data Explorer (ADX)

Now that we have a method to visualise our Observability metrics through Grafana, we need a fast and scalable data management service. Azure Data Explorer (ADX), provided by Microsoft Azure, is designed to handle and analyze large amounts of data in real-time, making it ideal for a wide range of data-intensive applications and scenarios.
ADX is optimized for log analytics, time-series data, and telemetry data, making it well-suited for use cases such as monitoring and diagnosing systems, performing security analysis, and detecting fraud and anomalies.
Some of the key features of ADX include:

  • Real-time data ingestion: ADX can ingest large amounts of data in real-time, making it possible to analyze data as it arrives.
  • Fast and efficient data querying: ADX uses a specialized query language (Kusto Query Language) which is easy to use and is optimized for working with large data sets. It provides fast and efficient querying, even on extremely large data sets.
  • Scalability: ADX is highly scalable, and can handle large amounts of data and traffic with ease.
  • Integration with other Azure services: ADX can be easily integrated with other Azure services, such as Azure Log Analytics, Azure Stream Analytics, and Azure Machine Learning, allowing you to perform end-to-end data analysis and processing workflows.

When these capabilities are clubbed with Grafana’s ability to source data from databases, it becomes a powerful core for our Observability requirements, by fulfilling both the roles of data storage and of providing options to monitor the data.

--

--