Kernel and Azure Application Insights Integration

Powerful performance with an easy integration, powered by Telegraf, the open source data connector built by InfluxData.

info

This is not the recommended configuration for real-time query at scale. For query and compression optimization, high-speed ingest, and high availability, you may want to consider using the Kernal plugin with InfluxDB.

5B+

Telegraf downloads

#1

Time series database
Source: DB Engines

1B+

Downloads of InfluxDB

2,800+

Contributors

Table of Contents

Powerful Performance, Limitless Scale

Collect, organize, and act on massive volumes of high-velocity data. Any data is more valuable when you think of it as time series data. with InfluxDB, the #1 time series platform built to scale with Telegraf.

See Ways to Get Started

Input and output integration overview

The Kernel plugin collects various statistics about the Linux kernel, including context switches, page usage, and entropy availability.

This plugin writes Telegraf metrics to Azure Application Insights, enabling powerful monitoring and diagnostics.

Integration details

Kernel

The Kernel plugin is designed exclusively for Linux systems and gathers essential kernel statistics that are not covered by other plugins. It primarily focuses on the metrics available in /proc/stat, as well as the entropy available from /proc/sys/kernel/random/entropy_avail. Additional functionalities include the capture of Kernel Samepage Merging (KSM) data and Pressure Stall Information (PSI), requiring Linux kernel version 4.20 or later. This plugin provides a comprehensive look into system behaviors, enabling better understanding and optimization of resource management and usage. The metrics it collects are critical for monitoring system health and performance.

Azure Application Insights

The Azure Application Insights plugin integrates Telegraf with Azure’s Application Insights service, facilitating the seamless transmission of metrics from various sources to a centralized monitoring platform. This plugin empowers users to harness the capabilities of Azure Application Insights, a powerful application performance management tool, allowing developers and IT operations teams to gain valuable insights into the performance, availability, and usage of their applications. By employing this plugin, users can monitor application telemetry and operational data efficiently, contributing to better diagnostics and improved application performance.

Key features of this plugin include the ability to specify an instrumentation key for the Application Insights resource, configure the endpoint URL for tracking, and enable additional diagnostic logging for a more comprehensive analysis. Furthermore, the plugin provides context tagging capabilities, allowing the addition of specific Application Insights context tags to enhance the contextual information associated with metrics being sent. These features collectively make the Azure Application Insights Output Plugin a vital tool for organizations looking to optimize their monitoring capabilities within Azure.

Configuration

Kernel

[[inputs.kernel]]
  ## Additional gather options
  ## Possible options include:
  ## * ksm - kernel same-page merging
  ## * psi - pressure stall information
  # collect = []

Azure Application Insights

[[outputs.application_insights]]
  ## Instrumentation key of the Application Insights resource.
  instrumentation_key = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx"

  ## Regions that require endpoint modification https://docs.microsoft.com/en-us/azure/azure-monitor/app/custom-endpoints
  # endpoint_url = "https://dc.services.visualstudio.com/v2/track"

  ## Timeout for closing (default: 5s).
  # timeout = "5s"

  ## Enable additional diagnostic logging.
  # enable_diagnostic_logging = false

  ## NOTE: Due to the way TOML is parsed, tables must be at the END of the
  ## plugin definition, otherwise additional config options are read as part of
  ## the table

  ## Context Tag Sources add Application Insights context tags to a tag value.
  ##
  ## For list of allowed context tag keys see:
  ## https://github.com/microsoft/ApplicationInsights-Go/blob/master/appinsights/contracts/contexttagkeys.go
  # [outputs.application_insights.context_tag_sources]
  #   "ai.cloud.role" = "kubernetes_container_name"
  #   "ai.cloud.roleInstance" = "kubernetes_pod_name"

Input and output integration examples

Kernel

  1. Memory Optimization through KSM: Utilize the KSM capabilities of this plugin to monitor memory usage patterns in your applications and dynamically adjust the memory allocation strategy based on shared page usage metrics. By analyzing the data collected, you can identify opportunities for consolidating memory and optimizing performance without manual intervention.

  2. Real-time System Health Monitoring: Integrate the metrics collected by the Kernel plugin into a real-time dashboard that visualizes key kernel statistics including context switches, interrupts, and entropy availability. This setup allows system administrators to proactively respond to performance issues before they escalate into critical failures, ensuring smooth operation of Linux servers.

  3. Enhanced Anomaly Detection: Combine the data from this plugin with machine learning models to predict and detect anomalies in kernel behavior. By continuously monitoring metrics like process forking rates and entropy levels, you can implement an adaptive alerting system that triggers on performance anomalies, allowing for quick responses to potential issues.

  4. Resource Usage Patterns Analysis: Use the Pressure Stall Information collected by the plugin to analyze resource usage patterns over time and identify potential bottlenecks under load conditions. By adjusting application performance based on the PSI metrics, you can improve overall resource management and maintain service reliability under varying workloads.

Azure Application Insights

  1. Application Performance Monitoring: Utilize the Azure Application Insights plugin to continuously monitor the performance of your web applications or microservices. By sending Telegraf metrics directly to Application Insights, teams can visualize real-time application performance data, enabling proactive tuning and optimization of application resources. This setup not only enhances the reliability of applications but also ensures user satisfaction through consistent performance monitoring.

  2. Integrated Logging and Telemetry: Combine this plugin with centralized logging solutions to provide a comprehensive observability stack. By sending telecom data to Azure Application Insights, teams can correlate performance metrics with log data and gain deeper insights into application behavior, allowing for more efficient troubleshooting and root cause analysis.

  3. Contextual Monitoring of Cloud Resources: Use the context tagging feature to enrich your application metrics with specific contextual information related to your cloud environment. This enhanced context can be invaluable for understanding the performance of cloud-native applications, enabling better scaling decisions and resource management based on real usage patterns.

  4. Real-time Alerts Setup: Configure Application Insights to trigger alerts based on specific metrics received via this plugin. This allows teams to be notified of performance degradation or anomalies in real-time, enabling immediate action to mitigate issues and maintain high availability of applications.

Feedback

Thank you for being part of our community! If you have any general feedback or found any bugs on these pages, we welcome and encourage your input. Please submit your feedback in the InfluxDB community Slack.

Powerful Performance, Limitless Scale

Collect, organize, and act on massive volumes of high-velocity data. Any data is more valuable when you think of it as time series data. with InfluxDB, the #1 time series platform built to scale with Telegraf.

See Ways to Get Started

Related Integrations

HTTP and InfluxDB Integration

The HTTP plugin collects metrics from one or more HTTP(S) endpoints. It supports various authentication methods and configuration options for data formats.

View Integration

Kafka and InfluxDB Integration

This plugin reads messages from Kafka and allows the creation of metrics based on those messages. It supports various configurations including different Kafka settings and message processing options.

View Integration

Kinesis and InfluxDB Integration

The Kinesis plugin allows for reading metrics from AWS Kinesis streams. It supports multiple input data formats and offers checkpointing features with DynamoDB for reliable message processing.

View Integration