<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title><![CDATA[Ishleen Kaur - Elastic Observability Labs]]></title>
    <description><![CDATA[Trusted security news & research from the team at Elastic.]]></description>
    <copyright><![CDATA[© 2026. Elasticsearch B.V. All Rights Reserved]]></copyright>
    <image>
      <title><![CDATA[Ishleen Kaur - Elastic Observability Labs]]></title>
      <url>https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltad972c1c27dbefc6/6a88d9782904ea5e8511d473/observability-labs-thumbnail.png</url>
      <link>https://www.elastic.co/observability-labs/author/ishleen-kaur</link>
    </image>
    <link>https://www.elastic.co/observability-labs/author/ishleen-kaur</link>
    <atom:link href="https://www.elastic.co/observability-labs/rss/author/ishleen-kaur.xml" rel="self" type="application/rss+xml"/>
    <language><![CDATA[en]]></language>
    <lastBuildDate>Sun, 13 Sep 2026 04:45:24 GMT</lastBuildDate>
  <item>
    <title><![CDATA[Drain Vercel into Elastic: serverless observability with nothing to install]]></title>
    <description><![CDATA[A drain and an API key put Vercel logs, traces, and Speed Insights into Elastic Cloud, where you can follow a slow request from the edge to the Lambda function behind it.]]></description>
    <content:encoded><![CDATA[<p>Something breaks in production. Your Lambda error rate is climbing, users are bouncing, and you're staring at the Vercel dashboard trying to understand whether this is a code problem, a cold start problem, or something happening in a specific region. The logs tell you <em>something</em> happened. They don't tell you why, where it started, or what the user actually experienced.</p>
<p>This is the gap that Elastic's <a href="https://www.elastic.co/docs/reference/integrations/vercel">Vercel Integration</a> is designed to close. Not just logs, but the full picture. Real-user performance, server health, traces showing the complete request journey, governance events, traffic, and engagement. All of it is queryable in one place.</p>
<p>And this is the part that's easy to miss: there's nothing to deploy on your side. No OpenTelemetry Collector, no Elastic Agent, no agent policy. Vercel has a feature called Drains that streams your data as HTTP webhooks. Elastic operates a managed endpoint on Elastic Cloud that receives those payloads and writes them into Elasticsearch. You point a drain at a URL with an API key, and data starts flowing. That's the entirety of the infrastructure story.</p>
<h2 id="whatverceldrainssendtoelasticcloud">What Vercel drains send to Elastic Cloud</h2>
<p>The integration pulls in five signal types from Vercel, and they're more complementary than they might seem at first.</p>
<p>| Signal | What it carries | SDK required | Plan | Endpoint |
|---|---|---|---|---|
| Web Analytics | Page views and custom events, with traffic patterns and geography | <code>@vercel/analytics</code> | Pro or Enterprise | Vercel endpoint |
| Speed Insights | Real user Web Vitals: LCP, INP, CLS, TTFB, tagged by route, device type, and country | <code>@vercel/speed-insights</code> | Pro or Enterprise | Vercel endpoint |
| Logs | Build output, static asset requests, Lambda function output, edge function output | None | Pro or Enterprise | Vercel endpoint |
| Audit Logs | Team governance events: environment variable changes, drain edits, project transfers | None | Enterprise | Vercel endpoint |
| Traces | Infrastructure spans and outbound HTTP fetch calls, plus framework and custom spans | <code>@vercel/otel</code> (optional) | Pro or Enterprise | Managed OTLP endpoint, <code>/v1/traces</code> |</p>
<h4 id="vercelwebanalyticstrafficandcustomevents">Vercel Web Analytics: traffic and custom events</h4>
<p><a href="https://vercel.com/docs/analytics"><strong>Web Analytics</strong></a> captures page views and custom events from the <code>@vercel/analytics</code> SDK (traffic patterns, geography, what pages users are actually hitting). The SDK itself can be installed on any Vercel plan. Forwarding that data to Elastic requires a drain, which is available on Pro and Enterprise plans.</p>
<h4 id="vercelspeedinsightsrealuserwebvitals">Vercel Speed Insights: real user Web Vitals</h4>
<p><a href="https://vercel.com/docs/speed-insights"><strong>Speed Insights</strong></a> carries real-user Web Vitals, including LCP, INP, CLS, and TTFB. These are measured in the browser and tagged with route, device type, and country. Install the <code>@vercel/speed-insights</code> SDK in your app, then create a drain on a Pro or Enterprise plan to send Web Vitals to Elastic. When you see a Lambda error spike and want to know whether users actually noticed, this data can help answer that question.</p>
<h4 id="vercellogsbuildlambdaandedgeoutput">Vercel logs: build, Lambda and edge output</h4>
<p><a href="https://vercel.com/docs/logs"><strong>Logs</strong></a> cover the full server-side runtime picture, including build output, static asset requests, Lambda function output, and edge function output. When something fails, this is where you start digging. You can configure sampling rates and narrow by environment directly in the Vercel drain settings. Logs require a Pro or Enterprise plan.</p>
<h4 id="vercelauditlogsteamgovernanceevents">Vercel audit logs: team governance events</h4>
<p><a href="https://vercel.com/docs/audit-log"><strong>Audit Logs</strong></a> cover team-level governance events (who changed an environment variable, who modified a drain, and who transferred a project). It is surprisingly useful when you're trying to understand whether a configuration change preceded an incident. Audit Logs require an Enterprise plan.</p>
<h4 id="verceltracesopentelemetryspansendtoend">Vercel traces: OpenTelemetry spans end to end</h4>
<p><a href="https://vercel.com/docs/tracing"><strong>Traces</strong></a> are where the integration gets genuinely powerful for debugging. When you configure a Trace Drain, Vercel automatically instruments infrastructure spans and outbound HTTP fetch calls. You can add the <code>@vercel/otel</code> package for framework and custom spans. These traces surface in Kibana's Service Inventory: trace waterfalls, service maps, and the ability to jump directly from a trace to the related log lines. A Pro or Enterprise plan is required for traces. Traces use a separate endpoint from the other signals; they go to <code>/v1/traces</code> on the Managed OTLP endpoint.</p>
<p>Each signal has its own drain in Vercel and lands in its own data stream in Elasticsearch.</p>
<h2 id="howtosendvercellogsspeedinsightswebanalyticsandtracestoelasticcloud">How to send Vercel logs, speed insights, web analytics and traces to Elastic Cloud</h2>
<p>In Elastic Cloud, go to <strong>Add data → Connect directly to the endpoint</strong>. You'll see the Vercel endpoint listed alongside an option to create an API key. Grab both before heading to Vercel.</p>
<p><em>The Vercel endpoint URL and API key are both available here; everything you need before touching Vercel's settings.</em></p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt14978e1c44f6af6b/6a9feac83481c24af68b03f0/elastic-vercel-endpoint.png" alt="The Vercel endpoint URL and API key are both available here – everything you need before touching Vercel's settings." /></p>
<p>Over in Vercel, open your team settings and go to <strong>Drains → Add Drain</strong>. Pick the signal type you want to collect, hit Next, paste in the Elastic endpoint URL, and add one custom header:</p>
<pre><code>Authorization: ApiKey &lt;your-key&gt;
</code></pre>
<p><em>Vercel lets you drain Logs, Traces, Speed Insights, Web Analytics, Audit Logs and more, with each as a separate drain. Logs, Speed Insights, Web Analytics, and Audit Logs share the Vercel endpoint, while Traces use the Managed OTLP traces URL.</em></p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9c5150f088a6bb84/6a9feadfee57e50167051f3a/vercel-add-drain.png" alt="Vercel lets you drain Logs, Traces, Speed Insights, Web Analytics, and Audit Logs – each as a separate drain. Logs, Speed Insights, Web Analytics, and Audit Logs share the Vercel endpoint; traces use the Managed OTLP traces URL." /></p>
<p><em>The destination URL and Authorization header are all it takes – Elastic handles everything from here.</em></p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltbf653521d5329de4/6a9feaf93eabd09e1444292c/vercel-drain-destination.png" alt="The destination URL and Authorization header are all it takes – Elastic handles everything from here." /></p>
<p>Repeat for each signal type. For Traces, use the <strong>Managed OTLP endpoint</strong> with <code>/v1/traces</code> appended, and not the standard Vercel drain URL.</p>
<p>For the full setup walkthrough and configuration options, refer to the <a href="https://www.elastic.co/docs/reference/integrations/vercel">Vercel (OpenTelemetry) Integration docs</a>.</p>
<h2 id="serverlessmonitoringinkibanadashboardsalertsandslos">Serverless monitoring in Kibana: dashboards, alerts and SLOs</h2>
<p>Once data is flowing, all the assets (dashboards, alert and SLO templates) install automatically. But the real value isn't in isolation, it's having everything in the same place when something goes wrong.</p>
<h3 id="dashboards">Dashboards</h3>
<p>The <strong>Logs dashboard</strong> is where most investigations start: request volume, error rates, HTTP status distribution, top routes, and regional breakdowns. If errors are concentrated in a single region or a specific route, you can spot it right away.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf37ec33fdacf8ee7/6a9feb1032b53009566d2d25/logs_1.png" alt="Request volume and error rates broken down by route and region – the starting point for any server-side investigation." /></p>
<p>The <strong>Speed Insights dashboard</strong> shows Core Web Vitals at p75, over time and per page, using the same "good / needs improvement / poor" thresholds Vercel uses. When a deployment ships and LCP starts drifting, this is where you'll see it first.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9092920a6ac3682a/6a9feb2689368100b43df91d/speed_insights.png" alt="p75 Web Vitals per page – spot a performance regression the moment it starts affecting real users." /></p>
<p>The <strong>Web Analytics dashboard</strong> covers the client-side traffic story: page views, geography, devices, top pages, and custom events. It is useful on its own, but especially alongside the Logs dashboard when you're trying to understand whether a server-side problem is actually reaching users.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltaadf19c3370ab370/6a9fec443481c24a798b0400/web_insights.png" alt="The Web Analytics dashboard covers the client-side traffic story. Page views, geography, devices, top pages, custom events" /></p>
<h3 id="tenalertrulesforvercelfailuremodes">Ten alert rules for Vercel failure modes</h3>
<p>Beyond dashboards, ten pre-built alert rules cover the failure modes that actually matter for Vercel workloads:</p>
<ul>
<li>5xx spikes.</li>
<li>Lambda and edge function hard crashes (the kind that never return an HTTP response and disappear from standard error-rate math).</li>
<li>Sudden traffic drops on both server and client side.</li>
<li>Regional error concentration.</li>
<li>TTFB degradation as an early warning for LCP regressions.</li>
<li>WAF deny spikes.</li>
<li>Suspicious audit activity from a single actor.</li>
</ul>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9e0eb84ddf4517e3/6a9feb51ee57e537cc051f3e/alert-page-view-drop.png" alt="Page view drops are the client-side alarm bell — by the time your error rate looks bad, users have already stopped arriving." /></p>
<h3 id="fiveslotemplatesforerrorrateandwebvitals">Five SLO templates for error rate and Web Vitals</h3>
<p>Five SLO templates round things out, all on a rolling 30-day window. Server-side error rate at 99% is the core target. The remaining four cover Core Web Vitals and TTFB at p75, so real-user performance becomes something you can formally commit to, not just a metric you check occasionally.</p>
<h3 id="tracewaterfallsandservicemapsinkibana">Trace waterfalls and service maps in Kibana</h3>
<p>For traces, once data is flowing you get the full experience in Kibana's Service inventory: end-to-end trace waterfalls, service maps, and log lines correlated right alongside the spans.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltf31a9f1ab571e89f/6a9feb6bee57e5d73d051f44/trace-waterfall.png" alt="A full trace waterfall with correlated logs,follow a slow request from the edge all the way through your Lambda function." /></p>
<h2 id="setupserverlessobservabilityforyourvercelproject">Set up serverless observability for your Vercel project</h2>
<p>If you're already on <a href="https://cloud.elastic.co">Elastic Cloud</a>, you're closer than you think. The endpoint is already there; you just need to point Vercel at it. Start with Web Analytics or Speed Insights if you want a focused first step: install the SDK Vercel already recommends, then create a drain on your Pro or Enterprise team. You'll have real-user performance data in Kibana within minutes. From there, layer in logs, then traces when you're ready for the full debugging story.</p>
<p>The integration is available on Elastic Cloud Serverless and Elastic Cloud Hosted. Head to <strong>Add data → Connect directly to the endpoint</strong> in your Elastic Cloud project to grab your endpoint URL and get going.</p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/serverless-observability-vercel-elastic</link>
    <guid isPermaLink="false">serverless-observability-vercel-elastic</guid>
    <category><![CDATA[OpenTelemetry]]></category>
    <dc:creator><![CDATA[Ishleen Kaur]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt02b31e693f55f91c/6a9febcd805755b3ce706182/title_final.png" length="0" type="image/png"/>
    <pubDate>Tue, 08 Sep 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Visualizing OpenTelemetry Data in Elastic with OpenTelemetry Content Packages]]></title>
    <description><![CDATA[Learn and explore how OpenTelemetry Content Packages in Elastic provide instant dashboards, alerts, and SLOs for your telemetry data.]]></description>
    <content:encoded><![CDATA[<p>If you've been in the observability space for the last couple of years, you've seen OpenTelemetry go from "promising standard" to the default choice for collecting metrics, logs, and traces. Elastic has been in that journey from early on — which is why we built the <a href="https://www.elastic.co/observability-labs/blog/elastic-distributions-opentelemetry">Elastic Distributions of OpenTelemetry (EDOT)</a>: a hardened, production-ready suite of OTel components including the EDOT Collector and language SDKs, tuned for infrastructure and application monitoring without the typical setup overhead.</p>
<p>EDOT is now generally available. The collector, the SDKs, the whole stack — production-ready, enterprise-supported, no asterisks.</p>
<p>But here's the thing: getting your data into Elastic is only half the job. The harder half, in practice, is what happens after. Someone still has to build the dashboards, write the alert rules, and figure out which SLOs are worth tracking — before any of it is useful.</p>
<p>That gap is what OpenTelemetry Content Packages are designed to close.</p>
<hr />
<h2 id="whatareopentelemetrycontentpackages">What Are OpenTelemetry Content Packages?</h2>
<p>Elastic's traditional Beats-based integrations always bundled data collection and visualizations together — you got curated dashboards and alerts the moment you turned something on. As Elastic moves to an OpenTelemetry-first world, that same philosophy carries over, but the model is cleaner.</p>
<p>OpenTelemetry Content Packs are purely about the observability assets for a given service. No data collection config is bundled in, because in an OTel world, the collector handles that. Each package contains:</p>
<ul>
<li><strong>Dashboards</strong> — curated, pre-built Kibana visualizations tailored to the service being monitored</li>
<li><strong>Alert rules</strong> — pre-configured alerting rules that fire on meaningful thresholds, helping teams minimize Mean Time to Detect (MTTD) and Mean Time to Resolve (MTTR)</li>
<li><strong>SLO templates</strong> — ready-made Service Level Objective definitions you can apply immediately to track reliability targets, error budgets, and burn rates</li>
</ul>
<p>More asset types are planned for future packages as the content pack model continues to evolve.</p>
<hr />
<h2 id="howdoesitwork">How Does It Work?</h2>
<p>The core idea is simple: as soon as data arrives in Elastic, the right dashboards, alert rules, and SLO templates are ready to use. The content package activates based on the incoming data, regardless of how that data was collected.</p>
<p>One of the most powerful aspects of this system is <strong>automatic installation</strong>. When Elastic detects that data for a particular service has started arriving in Elasticsearch, the corresponding content pack is installed automatically — no manual steps, no hunting through the integrations catalog. By the time you open Kibana, your dashboards are already there waiting for you, your alert rules are ready to be enabled, and your SLO templates are pre-loaded.</p>
<p>To get the data flowing in the first place, we need to configure the collector — a YAML file that defines the building blocks of your telemetry pipeline:</p>
<ul>
<li><strong>Receivers</strong> — define what data to collect and from where. Each service has its own receiver (for example, the MySQL receiver scrapes metrics directly from the database).</li>
<li><strong>Exporters</strong> — define where the collected data is sent. In our case, we use the Elasticsearch exporter, which ships the telemetry data directly into Elasticsearch in OpenTelemetry native format.</li>
<li><strong>Pipelines</strong> — wire the receivers and exporters together, defining the flow of data through the collector.</li>
</ul>
<p>Once this configuration is in place and the collector is running, data starts flowing into Elasticsearch — and the content pack takes it from there.</p>
<h4 id="datasources">Data Sources</h4>
<p>OpenTelemetry data can reach Elastic through any of the following:</p>
<ul>
<li><strong><a href="https://www.elastic.co/observability-labs/blog/elastic-distributions-opentelemetry">EDOT Collector</a></strong> — the Elastic Distribution of the OpenTelemetry Collector, embedded in or used alongside the Elastic Agent</li>
<li><strong><a href="https://github.com/open-telemetry/opentelemetry-collector-contrib">Upstream OTel Collector</a></strong> — the standard community OpenTelemetry Collector (Contrib or custom builds)</li>
<li><strong><a href="https://www.elastic.co/docs/reference/opentelemetry/edot-cloud-forwarder">EDOT Cloud Forwarder (ECF)</a></strong> — a serverless OTel Collector that collects telemetry from AWS, GCP, and Azure (VPC Flow Logs, CloudTrail, CloudWatch, and more) and forwards it directly to Elastic Observability, with no infrastructure to manage</li>
</ul>
<p>The content pack doesn't care how the data arrived — only that it's there.</p>
<hr />
<h2 id="seeingitinpracticemysqlmonitoring">Seeing It in Practice: MySQL Monitoring</h2>
<p>Take a team running MySQL who wants to track query throughput, connection counts, buffer pool utilization, and slow query rates — and get alerted before small problems turn into 2am incidents. Historically, that means hours of dashboard building, custom alert queries, and a lot of guesswork about which metrics actually matter.</p>
<p>With the <strong><a href="https://www.elastic.co/docs/reference/integrations/mysql_otel">MySQL OpenTelemetry Assets Package</a></strong>, that work is already done. Here's how the whole thing comes together.</p>
<h3 id="step1getthedatain">Step 1: Get the Data In</h3>
<p>The data pipeline is driven by a collector configuration that defines receivers (where to scrape data from), processors (how to enrich or transform it), and exporters (where to send it — in this case, Elasticsearch).</p>
<p>Regardless of whether you use the <a href="https://www.elastic.co/observability-labs/blog/elastic-distributions-opentelemetry">EDOT Collector</a> or the <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib">Upstream OTel Collector</a>, the fundamental configuration structure is the same. The configuration below uses separate receivers for the primary and replica instances, because replication metrics are only available on replicas. Replace the placeholders with your actual endpoints, credentials, and Elasticsearch details.</p>
<pre><code>receivers:
  mysql/primary:
    endpoint: &lt;MYSQL_PRIMARY_ENDPOINT&gt;
    username: &lt;MYSQL_USER&gt;
    password: &lt;MYSQL_PASSWORD&gt;
    collection_interval: 10s
    statement_events:
      digest_text_limit: 120
      limit: 250
    query_sample_collection:
      max_rows_per_query: 100
    events:
      db.server.query_sample:
        enabled: true
      db.server.top_query:
        enabled: true
    metrics:
      mysql.client.network.io:
        enabled: true
      mysql.connection.errors:
        enabled: true
      mysql.max_used_connections:
        enabled: true
      mysql.query.client.count:
        enabled: true
      mysql.query.count:
        enabled: true
      mysql.query.slow.count:
        enabled: true
      mysql.table.rows:
        enabled: true
      mysql.table.size:
        enabled: true

processors:
  resourcedetection:
    detectors: [system, env]

exporters:
  elasticsearch/otel:
    endpoint: &lt;ES_ENDPOINT&gt;
    api_key: &lt;ES_API_KEY&gt;
    mapping:
      mode: otel

service:
  pipelines:
    metrics:
      receivers: [mysql/primary, mysql/replica]
      processors: [resourcedetection]
      exporters: [elasticsearch/otel]
</code></pre>
<p>The <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/mysqlreceiver/README.md#mysql-receiver">MySQL receiver</a> scrapes metrics and events from the database at the configured interval and emits them as OpenTelemetry metrics. These flow through the pipeline and land in Elasticsearch, ready to be visualized.</p>
<h3 id="step2openkibanaeverythingsalreadythere">Step 2: Open Kibana — Everything's Already There</h3>
<h4 id="dashboards">Dashboards</h4>
<p>As soon as the MySQL metrics and events arrive in Elasticsearch, the <a href="https://www.elastic.co/docs/reference/integrations/mysql_otel">MySQL OpenTelemetry Assets Package</a> is automatically installed in the background. By the time you navigate to Kibana, the <a href="https://www.elastic.co/docs/reference/integrations/mysql_otel#screenshots">dashboards</a> are already populated and waiting.</p>
<p>Users immediately get visibility into:</p>
<ul>
<li>Active and max connections</li>
<li>Query throughput — statements executed per second</li>
<li>InnoDB buffer pool hit rate and memory usage</li>
<li>Slow query count and trends</li>
<li>Table lock waits and contention</li>
<li>Bytes sent and received over time</li>
<li>Replication lag (for replicated setups)</li>
</ul>
<p>No manual field mapping. No dashboard building from scratch. Just data in, insights out.</p>
<p>Below are some screenshots of the MySQL OpenTelemetry dashboard in Kibana, showing the out-of-the-box visualizations that are automatically available as soon as your data starts flowing in.</p>
<p>Overview Dashboard
<img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt5152c95269216cdf/6a7f1c149090b0601984ee53/overview.png" alt="" /></p>
<p>Queries Dashboard
<img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7b009de3d2d1df00/6a7f1c182f00b23996efef4f/queries.png" alt="" /></p>
<p>Availability Dashboard
<img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7e4c4ba1782931fe/6a7f1c1b448e4e42635c0b89/availability.png" alt="" /></p>
<h4 id="alertrulesreadytoenable">Alert Rules, Ready to Enable</h4>
<p>The package includes six pre-built <a href="https://www.elastic.co/docs/reference/integrations/mysql_otel#alert-rules">alert rules</a> — covering high connection error rates, slow query spikes, thread saturation, replication lag, buffer pool dirty page ratio, and row lock contention — each with recommended thresholds and severity levels. These are available immediately on install and can be enabled, tuned, and extended directly in Kibana without any custom query authoring. Below is an example of one of the alerts.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt3779d7ac5a0a0128/6a7f1c1e05b7b514c318bd65/alert1.png" alt="" /></p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdaf98fbb471eb1f1/6a7f1c215967e561495dd6ef/alert2.png" alt="" /></p>
<h4 id="slotemplatespreloaded">SLO Templates, Pre-Loaded</h4>
<p>Four <a href="https://www.elastic.co/docs/reference/integrations/mysql_otel#slo-templates">SLO templates</a> are included out of the box, tracking replication lag, connection exhaustion errors, slow query rate, and connected thread count — each with a pre-configured target and 30-day rolling window. Teams can adopt them as-is or tune the thresholds to match their own reliability requirements.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd307a19b82ea64b8/6a7f1c2505b7b5756918bd6f/slo.png" alt="" /></p>
<hr />
<h2 id="whatsavailabletoday">What's Available Today</h2>
<p>The MySQL OpenTelemetry Assets Package is just one example from a growing library of OpenTelemetry Content Packages that Elastic has already built out. Content packs are available for a range of services — and we have also started extending this to the cloud, with initial support for Cloud Service Provider integrations that use the <a href="https://www.elastic.co/docs/reference/opentelemetry/edot-cloud-forwarder">EDOT Cloud Forwarder (ECF)</a> to bring AWS, GCP, and Azure telemetry into Elastic with ready-made dashboards.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt783f630fca5a601e/6a7f1c28c2e914bbab01701c/contentpacks.png" alt="" /></p>
<p>The same pattern holds across all of them — data in, and a complete observability package (dashboards, alert rules, SLO templates) instantly ready — whether you're monitoring a self-managed database or cloud-native services from your preferred cloud service provider.</p>
<h2 id="wherethisisgoing">Where This Is Going</h2>
<p>The next step worth watching is <strong>OTel Integration Packages</strong>, which will let you push collector configurations directly from the Kibana UI — making the entire setup experience point-and-click, from data collection through to visualization, with no YAML editing required.</p>
<hr />
<h2 id="getstarted">Get Started</h2>
<p>Ready to try it? Start with the <a href="https://www.elastic.co/observability-labs/blog/elastic-distributions-opentelemetry">EDOT Collector documentation</a> and explore the growing library of OpenTelemetry content packages in Kibana's Integrations page.</p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/visualizing-opentelemetry-data-elastic-content-packages</link>
    <guid isPermaLink="false">visualizing-opentelemetry-data-elastic-content-packages</guid>
    <category><![CDATA[OpenTelemetry]]></category>
    <category><![CDATA[Metrics]]></category>
    <dc:creator><![CDATA[Ishleen Kaur]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blte829026a132ec529/6a7f1c2bb43770a7fb4d7142/otelcp.png" length="0" type="image/png"/>
    <pubDate>Fri, 10 Apr 2026 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Transforming Industries and the Critical Role of LLM Observability: How to use Elastic's LLM integrations in real-world scenarios]]></title>
    <description><![CDATA[This blog explores four industry specific use cases that use Large Language Models (LLMs) and highlights how Elastic's LLM observability integrations provide insights into the cost, performance, reliability and the prompts and response exchange with the LLM.]]></description>
    <content:encoded><![CDATA[<p>In today's tech-centric world, Large Language Models (LLMs) are transforming sectors from finance and healthcare to research. LLMs are starting to underpin products and services across the spectrum. Take for example recent <a href="https://blog.google/technology/google-deepmind/gemini-model-thinking-updates-march-2025/#advanced-coding">advanced coding</a> developments in Google's Gemini 2.5 which enable it to use its reasoning capabilities to create a video game by producing the executable code from a short prompt.  Or <a href="https://www.aboutamazon.com/news/devices/new-alexa-generative-artificial-intelligence">new ways</a> to interact with Amazon's Alexa - for example, you could send a picture of a live music schedule, and have Alexa add the details to your calendar. And let's not forget Microsoft's <a href="https://blogs.microsoft.com/blog/2025/04/04/your-ai-companion/">personalization of Copilot</a> which remembers what you talk about, so it learns your likes and dislikes and details about your life; the name of your dog, that tricky project at work, what keeps you motivated to stick to your new workout routine. </p>
<p>Despite their widespread utility of LLMs, deploying these sophisticated tools in real-world scenarios poses distinct challenges, especially in managing their complex behaviors. For users such as Site Reliability Engineers (SREs), DevOps teams, and AI/ML engineers, ensuring reliability, performance, and compliance of these models introduces an additional  layer of complexity. This is where the concept of LLM Observability becomes essential. It offers crucial insights into the performance of these models, ensuring that these advanced AI systems operate both effectively and ethically.</p>
<h3 id="whyllmobservabilitymattersandhowelasticmakesiteasy">Why LLM Observability Matters and How Elastic Makes It Easy</h3>
<p>LLMs are not just another piece of software; they are sophisticated systems capable of human-like capabilities such as text generation, comprehension, and even coding. But with great power comes greater need for oversight. The opaque nature of these models can obscure how decisions are made and content generated. This makes it even more critical to implement robust observability to monitor and troubleshoot issues such as hallucinations, inappropriate content, cost overruns, errors and performance degradation. By monitoring these models closely, we can safeguard against unexpected outcomes and maintain user trust.</p>
<h3 id="realworldscenarios">Real-World Scenarios</h3>
<p>Let's explore real-world scenarios where companies leverage LLM-powered applications to enhance productivity and user experience, and how Elastic's LLM observability solutions monitor critical aspects of these models.</p>
<h4 id="1generativeaiforcustomersupport">1. Generative AI for Customer Support</h4>
<p>Companies are increasingly leveraging LLMs and generative AI to enhance customer support, using platforms like Google Vertex AI for hosting these models efficiently. With the introduction of advanced AI models such as Google's Gemini, which is integrated into Vertex AI, businesses can deploy sophisticated chatbots that manage customer inquiries, from basic questions to complex issues, in real time. These AI systems understand and respond with natural language, offering instant support for issues such as product troubleshooting or managing orders thus 
reducing wait times. They also learn from each interaction to improve accuracy continuously. This boosts customer satisfaction and allows human agents to focus on complex tasks, enhancing overall efficiency. Other ways that AI tools can further empower customer care agents is with real-time analytics, sentiment detection, and conversation summarization. </p>
<p>To support use cases like the AI-powered customer support described above, Elastic recently launched LLM observability integrations including support for <a href="https://www.elastic.co/guide/en/integrations/current/gcp_vertexai.html">LLMs hosted on GCP Vertex AI</a>. Customers who wish to monitor foundation models such as Gemini and Imagen hosted on Google Vertex AI can benefit from Elastic’s Vertex AI integration to get a deeper understanding of model behavior and performance, and ensure that the AI-driven tools are not only effective but also reliable. Customers get out-of-the-box experience ingesting a curated set of metrics from Vertex AI as well as a pre-configured dashboard.</p>
<p>By continuously tracking these metrics, customers can proactively manage their AI resources, optimize operations, and ultimately enhance the overall customer experience.</p>
<p>Let's look at some of the metrics you get from the Google Vertex AI integration which are helpful in the context of using generative AI for customer support.</p>
<ol>
<li><strong>Prediction Latency</strong>: Measures the time taken to complete predictions, critical for real-time customer interactions.</li>
<li><strong>Error Rate</strong>: Tracks errors in predictions, which is vital for maintaining the accuracy and reliability of AI-driven customer support.</li>
<li><strong>Prediction Count</strong>: Counts the number of predictions made, helping assess the scale of AI usage in customer interactions.</li>
<li><strong>Model Usage</strong>: Tracks how frequently the AI models are accessed by both virtual assistants and customer support tools.</li>
<li><strong>Total Invocations</strong>: Measures the total number of times the AI services are used, providing insights into user engagement and dependency on these tools.</li>
<li><strong>CPU and Memory Utilization</strong>: By observing CPU and memory usage, users can optimize resource allocation, ensuring that the AI tools are running efficiently without overloading the system.</li>
</ol>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta496ae3417800a11/6a7f1ba7eab5be0c7520ab1a/vertex-overview.png" alt="Vertex Overview" /></p>
<p>To learn more about how Elastic's Google Vertex AI integration can augment your LLM observability, have a quick read of this <a href="https://www.elastic.co/observability-labs/blog/elevate-llm-observability-with-gcp-vertex-ai-integration">blog</a>.</p>
<h4 id="2transforminghealthcarewithgenerativeai">2. Transforming Healthcare with Generative AI</h4>
<p>The healthcare industry is embracing generative AI to enhance patient interactions and streamline operational workflows. By leveraging platforms like Amazon Bedrock, healthcare organizations deploy advanced large language models (LLMs) to power tools that convert doctor-patient conversations into structured medical notes, reducing administrative overhead and allowing clinicians to prioritize diagnosis and treatment. These AI-driven solutions provide real-time insights, enabling informed decision-making and improving patient outcomes. Additionally, patient-facing applications powered by LLMs offer secure access to health records, empowering individuals to manage their care proactively. </p>
<p>Robust observability is essential to maintain the reliability and performance of these generative AI applications in healthcare. Elastic’s <a href="https://www.elastic.co/guide/en/integrations/current/aws_bedrock.html">Amazon Bedrock integration</a> equips providers with tools to monitor LLM behavior, capturing critical metrics like invocation latency, error rates, token usage and guardrail invocation. Pre-configured dashboards provide visibility into prompt and completion text, enabling teams to verify the accuracy of AI-generated outputs, such as medical notes, and detect issues like hallucinations. </p>
<p>Additionally, customers who configure Guardrails for Amazon Bedrock to filter harmful content like hate speech, personal insults, and other inappropriate topics, can use the Bedrock Integration to observe the prompts and responses that caused the guardrail to filter them out. This helps application developers take proactive actions to maintain a safe and positive user experience.</p>
<p>Some of the logs and metrics that can be helpful for customers using LLMs hosted on Amazon Bedrock are the following</p>
<ol>
<li><strong>Invocation Details</strong>: This Integration records the Invocation latency, count, throttles. These metrics are critical for ensuring that generative AI models respond quickly and accurately to patient queries or appointment scheduling tasks, maintaining a seamless user experience.</li>
<li><strong>Error Rates</strong>:  Tracking error rates ensures that AI tools, such as patient query assistants or appointment systems, consistently deliver accurate and reliable results. By identifying and addressing issues early, healthcare providers can maintain trust in AI systems and prevent disruptions in critical patient interactions.</li>
<li><strong>Token Usage</strong>: In healthcare, tracking token usage helps identify resource-intensive queries, such as detailed patient record summaries or complex symptom analyses, ensuring efficient model operation. By monitoring token usage, healthcare providers can optimize costs for AI-powered tools while maintaining scalability to handle growing patient interactions.</li>
<li><strong>Prompt and Completion Text</strong>: Capturing prompt and completion text allows healthcare providers to analyze how AI models respond to specific patient queries or administrative tasks, ensuring meaningful and contextually accurate interactions. This insight helps refine prompts to improve the AI's understanding and ensures that generated responses, such as appointment details or treatment explanations, meet the quality standards expected in healthcare.</li>
<li><strong>Prompt and response where guardrails intervened</strong>: Being able to track requests and responses that were deemed inappropriate by guardrails helps healthcare providers monitor what information patients are asking for. With this information users can make continuous adjustments to the LLMs to ensure appropriate responses, balancing flexibility and rich communication on the one hand, and on the other, privacy protection, hallucination prevention, and harmful content filtering. </li>
</ol>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta8ce07121048b7cc/6a7f1baa2f00b22117efef3d/aws-bedrock-overview.png" alt="Bedrock Overview" /></p>
<p>Amazon Bedrock Gaurdrails OOTB dashboard
<img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt843efe77fb38f137/6a7f1bad42a117cf9695c33b/amazon-bedrock-gaurdrails.png" alt="Bedrock Gaurdrails Overview" /></p>
<p>To learn about the Amazon Bedrock Integration, read this <a href="https://www.elastic.co/observability-labs/blog/llm-observability-aws-bedrock">blog</a>. To dive deeper into how the integration can help with observability of Guardrails for Amazon Bedrock, take a look at this <a href="https://www.elastic.co/observability-labs/blog/llm-observability-amazon-bedrock-guardrails">blog</a>.</p>
<h4 id="3enhancingtelcoefficiencywithgenai">3.  Enhancing Telco Efficiency with GenAI</h4>
<p>The telecommunication industry can leverage services like Azure OpenAI to transform customer interactions, optimize operations, and enhance service delivery. By integrating advanced generative AI models, telcos can offer highly personalized and responsive customer experiences across multiple channels. AI-powered virtual assistants streamline customer support by automating routine queries and providing accurate, context-aware responses, reducing the workload on human agents and enabling them to focus on complex issues while improving efficiency and satisfaction. Additionally, AI-driven insights help telcos understand customer preferences, anticipate needs, and deliver tailored offerings that boost customer loyalty. Operationally, LLMs such as Azure OpenAI enhance internal processes by enabling smarter knowledge management and faster access to critical information.</p>
<p>Elastic's LLM observability integrations like the <a href="https://www.elastic.co/guide/en/integrations/current/azure_openai.html">Azure OpenAI integration</a> can provide visibility into AI performance and costs, empowering telecom providers to make data-driven decisions and enhance customer engagement. It can help optimize resource allocation by analyzing call patterns, predicting service demands, and identifying trends, enabling telcos to scale their AI operations efficiently while maintaining high service quality.</p>
<p>Some of the key metrics and logs that Azure OpenAI that can provide insights are:</p>
<ol>
<li><strong>Error Counts</strong>: It provides critical insights into failed requests and incomplete transactions, enabling telecom providers to proactively identify and resolve issues in AI-powered applications. </li>
<li><strong>Prompt Input and Completion Text</strong>: This captures the input queries provided to AI systems and the corresponding AI-generated outputs. These fields allow telecom providers to analyze customer queries, monitor response quality, and refine AI training datasets to improve relevance and accuracy.</li>
<li><strong>Response Latency</strong>: It measures the time taken by AI models to generate responses, ensuring that virtual assistants and automated systems deliver quick and efficient replies to customer queries. </li>
<li><strong>Token Usage</strong>: It tracks the number of input and output tokens processed by the AI model, offering insights into resource consumption and cost efficiency. This data helps telecom providers monitor AI usage patterns, optimize configurations, and scale resources effectively</li>
<li><strong>Content Filter Results</strong>: In Azure OpenAI, this plays a crucial role in handling sensitive inputs provided by customers, ensuring compliance, safety, and responsible AI usage. This feature identifies and flags potentially inappropriate or harmful queries and responses in real time, enabling telecom providers to address sensitive topics with care and accuracy. </li>
</ol>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt7977b3e3b8a8f599/6a7f1bb02f00b220bcefef41/azure-openai-overview.png" alt="Azureopenai Overview" /></p>
<p>The Azure OpenAI content filtering OOTB dashboard
<img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt3596d81c2cb554ab/6a7f1bb3eab5be7e6f20ab22/azure-openai-contentfiltering.png" alt="Azureopenai Overview1" /></p>
<p>You can learn more about Elastic's Azure OpenAI integration from these two blogs - <a href="https://www.elastic.co/observability-labs/blog/llm-observability-azure-openai">Part 1</a> and <a href="https://www.elastic.co/observability-labs/blog/llm-observability-azure-openai-v2">Part 2</a>. </p>
<h4 id="4openaiintegrationforgenerativeaiapplications">4. OpenAI Integration for Generative AI Applications</h4>
<p>As AI-powered solutions become integral to modern workflows, OpenAI's sophisticated models, including language models like GPT-4o and GPT-3.5 Turbo, image generation models like DALL·E, and audio processing models like Whisper, drive innovation across applications such as virtual assistants, content creation, and speech-to-text systems. With growing complexity and scale, ensuring these models perform reliably, remain cost-efficient, and adhere to ethical guidelines is paramount. Elastic's <a href="https://www.elastic.co/docs/reference/integrations/openai">OpenAI integration</a> provides a robust solution, offering deep visibility into model behaviour to support seamless and responsible AI deployments.</p>
<p>By tapping into the OpenAI Usage API, Elastic's integration delivers actionable insights through intuitive, pre-configured dashboards, enabling Site Reliability Engineers (SREs) and DevOps teams to monitor performance and optimize resource usage across OpenAI's diverse model portfolio. This unified observability approach empowers organizations to track critical metrics, identify inefficiencies, and maintain high-quality AI-driven experiences. The following key metrics from Elastic's OpenAI integration help organizations achieve effective oversight:</p>
<ol>
<li><strong>Request Latency</strong>: Measures the time taken for OpenAI models to process requests, ensuring responsive performance for real-time applications like chatbots or transcription services.</li>
<li><strong>Invocation Rates</strong>: Tracks the frequency of API calls across models, providing insights into usage patterns and helping identify high-demand workloads.</li>
<li><strong>Token Usage</strong>: Monitors input and output tokens (e.g., prompt, completion, cached tokens) to optimize costs and fine-tune prompts for efficient resource consumption.</li>
<li><strong>Error Counts</strong>: Captures failed requests or incomplete transactions, enabling proactive issue resolution to maintain application reliability.</li>
<li><strong>Image Generation Metrics</strong>: Tracks invocation rates and output dimensions for models like DALL·E, helping assess costs and usage trends in image-based applications.</li>
<li><strong>Audio Transcription Metrics</strong>: Monitors invocation rates and transcribed seconds for audio models like Whisper, supporting cost optimization in speech-to-text workflows.</li>
</ol>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdc7aefa2a0288162/6a7f1bb7e88c65799d00bb24/openai-overview.png" alt="Openai Overview" /></p>
<p>To learn more about Elastic's OpenAI integration, read this <a href="https://www.elastic.co/observability-labs/blog/llm-observability-openai">blog</a>. </p>
<h4 id="actionablellmobservability">Actionable LLM Observability</h4>
<p>Elastic's LLM observability integrations empower users to take proactive control of their AI operations through actionable insights and real-time alerts. For instance, by setting a predefined threshold for token count, Elastic can trigger automated alerts when usage exceeds this limit, notifying Site Reliability Engineers (SREs) or DevOps teams via email, Slack, or other preferred channels. This ensures prompt awareness of potential cost overruns or resource-intensive queries, enabling teams to adjust model configurations or scale resources swiftly to maintain operational efficiency.</p>
<p>In the example below, the rule is set to alert the user if token_count crosses a threshold of 500.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd2a687e02fd719b2/6a7f1bb977b034ede23ff921/slo-1.png" alt="SLO Overview" /></p>
<p>The alert is triggered when the token count exceeds the threshold as seen below
<img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltd811b02131cb8245/6a7f1bbdea068d84cdf0a2e7/slo-2.png" alt="SLO Overview1" /></p>
<p>Another example is tracking invocation spikes, such as when the number of predictions or API calls surpasses a defined Service Level Objective (SLO). For example, if a Bedrock AI-hosted model experiences a sudden surge in invocations due to increased customer interactions, Elastic can alert teams to investigate potential anomalies or scale infrastructure accordingly. These proactive measures help maintain the reliability and cost-effectiveness of LLM-powered applications.</p>
<p>By providing pre-configured dashboards and customizable alerts, Elastic ensures that organizations can respond to critical events in real time, keeping their AI systems aligned with cost and performance goals as well as standards for content safety and reliability.</p>
<h4 id="conclusion">Conclusion</h4>
<p>LLMs are transforming industries, but their complexity requires effective oversight observability to ensure their reliability and safe use. Elastic's LLM observability integrations provide a comprehensive solution, empowering businesses to monitor performance, manage resources, and address challenges like hallucinations and content safety. As LLMs become increasingly integral to various sectors, robust observability tools like those offered by Elastic ensure that these AI-driven innovations remain dependable, cost-effective, and aligned with ethical and safety standards.</p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/transforming-industries-and-the-critical-role-of-llm-observability</link>
    <guid isPermaLink="false">transforming-industries-and-the-critical-role-of-llm-observability</guid>
    <category><![CDATA[LLM Observability]]></category>
    <category><![CDATA[Infrastructure Monitoring]]></category>
    <dc:creator><![CDATA[Ishleen Kaur,Daniela Tzvetkova]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltb8d1632fb8fe0cd7/6a7f1bc0bd21987c6a7584cd/llmobs2.png" length="0" type="image/png"/>
    <pubDate>Thu, 08 May 2025 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Supercharge Your vSphere Monitoring with Enhanced vSphere Integration]]></title>
    <description><![CDATA[Supercharge Your vSphere Monitoring with Enhanced vSphere Integration]]></description>
    <content:encoded><![CDATA[<p><a href="https://www.vmware.com/products/cloud-infrastructure/vsphere">vSphere</a> is VMware's cloud computing virtualization platform that provides a powerful suite for managing virtualized resources. It allows organizations to create, manage, and optimize virtual environments, providing advanced capabilities such as high availability, load balancing, and simplified resource allocation. vSphere enables efficient utilization of hardware resources, reducing costs while increasing the flexibility and scalability of IT infrastructure.</p>
<p>With the release of an upgraded <a href="https://www.elastic.co/docs/current/integrations/vsphere">vSphere integration</a> we now support an enhanced set of metrics and datastreams. Package version 1.15.0 onwards introduces new datastreams that significantly improve the collection of performance metrics, providing deeper insights into your vSphere environment.</p>
<p>This enhanced version includes a total of seven datastreams, featuring critical new metrics such as disk performance, memory utilization, and network status. Additionally, these datastreams now offer detailed visibility into associated resources like hosts, clusters, and resource pools. To make the most of these insights, we’ve also introduced prebuilt dashboards, helping teams monitor and troubleshoot their vSphere environments with ease and precision.</p>
<p>We have expanded the performance metrics to encompass a broader range of insights across all datastreams, while also introducing new datastreams for clusters, resource pools, and networks. This enhanced integration version now includes a total of seven datastreams, featuring critical new metrics such as disk performance, memory utilization, and network status. Additionally, these datastreams now offer detailed visibility into associated resources like hosts, clusters, and resource pools. </p>
<p>Each datastream also includes detailed alarm information, such as the alarm name, description, status (e.g. critical or warning), and the affected entity's name. To make the most of these insights, we’ve also introduced prebuilt dashboards, helping teams monitor and troubleshoot their vSphere environments with ease and precision.</p>
<h2 id="overviewofthedatastreams">Overview of the Datastreams</h2>
<ul>
<li><strong>Host Datastream:</strong> This datastream monitors the disk performance of the host, including metrics such as disk latency, average read/write bytes, uptime, and status. It also captures network metrics, such as packet information, network bandwidth, and utilization, as well as CPU and memory usage of the host. Additionally, it lists associated datastores, virtual machines, and networks within vSphere.</li>
</ul>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta168f441354fc97e/6a7f1b6642a117cc8c95c333/hosts.png" alt="Host Datastream" /></p>
<ul>
<li><strong>Virtual Machine Datastream:</strong> This datastream tracks the used and available CPU and memory resources of virtual machines, along with the uptime and status of each VM. It includes information about the host on which the VM is running, as well as detailed snapshot metrics like the number of snapshots, creation dates, and descriptions. Additionally, it provides insights into associated hosts and datastores.</li>
</ul>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt77c54f960b7de840/6a7f1b699090b0e39084ee31/virtualmachine.png" alt="Virtual Machine Datastream" /></p>
<ul>
<li><p><strong>Datastore Datastream:</strong> This datastream provides information on the total, used, and available capacity of datastores, along with their overall status. It also captures metrics such as the average read/write rate and lists the hosts and virtual machines connected to each datastore.</p></li>
<li><p><strong>Datastore Cluster:</strong> A datastore cluster in vSphere is a collection of datastores grouped together for efficient storage management. This datastream provides details on the total capacity and free space in the storage pod, along with the list of datastores within the cluster.</p></li>
</ul>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt065c647cb8e5d02f/6a7f1b6dc2e914310301700a/datastore.png" alt="Datastore Datastream" /></p>
<ul>
<li><p><strong>Resource Pool:</strong> Resource pools in vSphere serve as logical abstractions that allow flexible allocation of CPU and memory resources. This datastream captures memory metrics, including swapped, ballooned, and shared memory, as well as CPU metrics like distributed and static CPU entitlement. It also lists the virtual machines associated with each resource pool.</p></li>
<li><p><strong>Network Datastream:</strong> This datastream captures the overall configuration and status of the network, including network types (e.g., vSS, vDS). It also lists the hosts and virtual machines connected to each network.</p></li>
<li><p><strong>Cluster Datastream:</strong> A Cluster in vSphere is a collection of ESXi hosts and their associated virtual machines that function as a unified resource pool. Clustering in vSphere allows administrators to manage multiple hosts and resources centrally, providing high availability, load balancing, and scalability to the virtual environment. This datastream includes metrics indicating whether HA or admission control is enabled and lists the hosts, networks, and datastores associated with the cluster.</p></li>
</ul>
<h2 id="alarmssupportinvsphereintegration">Alarms support in vSphere Integration</h2>
<p>Alarms are a vital part of the vSphere integration, providing real-time insights into critical events across your virtual environment. In the updated Elastic’s vSphere integration, alarms are now reported for all the entities. They include detailed information such as the alarm name, description, severity (e.g., critical or warning), affected entity, and triggered time. These alarms are seamlessly integrated into datastreams, helping administrators and SREs quickly identify and resolve issues like resource shortages or performance bottlenecks.</p>
<h4 id="examplealarm">Example Alarm</h4>
<pre><code>"triggered_alarms": [
  {
    "description": "Default alarm to monitor host memory usage",
    "entity_name": "host_us",
    "id": "alarm-4.host-12",
    "name": "Host memory usage",
    "status": "red",
    "triggered_time": "2024-08-28T10:31:26.621Z"
  }
]
</code></pre>
<p>This example highlights a triggered alarm for monitoring host memory usage, indicating a critical status (red) for the host "host_us." Such alarms empower teams to act swiftly and maintain the stability of their vSphere environment. </p>
<h2 id="letstryitout">Lets Try It Out!</h2>
<p>The new <a href="https://www.elastic.co/docs/current/integrations/vsphere">vSphere integration</a> in Elastic Cloud is more than just a monitoring tool; it’s a comprehensive solution that empowers you to manage and optimize your virtual environments effectively. With deeper insights and enhanced data granularity, you can ensure high availability, improved load balancing, and smarter resource allocation. Spin up an Elastic Cloud, and start monitoring your vSphere infrastructure.</p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/supercharge-your-vsphere-monitoring-with-enhanced-vsphere-integration</link>
    <guid isPermaLink="false">supercharge-your-vsphere-monitoring-with-enhanced-vsphere-integration</guid>
    <category><![CDATA[Metrics]]></category>
    <dc:creator><![CDATA[Ishleen Kaur,Lalit Satapathy]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdc78bdc85ffd6827/6a7f1b6fe02fac3fe55d69cf/title.jpeg" length="0" type="image/jpeg"/>
    <pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Customize your data ingestion with Elastic input packages]]></title>
    <description><![CDATA[In this post, learn about input packages and how they can provide a flexible solution to advanced users for customizing their ingestion experience in Elastic.]]></description>
    <content:encoded><![CDATA[<p>Elastic<sup>®</sup> has enabled the collection, transformation, and analysis of data flowing between the external data sources and Elastic Observability Solution through <a href="https://www.elastic.co/integrations/">integrations</a>. Integration packages achieve this by encapsulating several components, including <a href="https://www.elastic.co/guide/en/fleet/current/create-standalone-agent-policy.html">agent configuration</a>, inputs for data collection, and assets like <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html">ingest pipelines</a>, <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/data-streams.html">data streams</a>, <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/index-templates.html">index templates</a>, and <a href="https://www.elastic.co/guide/en/kibana/current/dashboard.html">visualizations</a>. The breadth of these assets supported in the Elastic Stack increases day by day.</p>
<p>This blog dives into how input packages provide an extremely generic and flexible solution to the advanced users for customizing their ingestion experience in Elastic.</p>
<h2 id="whatareinputpackages">What are input packages?</h2>
<p>An <a href="https://github.com/elastic/elastic-package">Elastic Package</a> is an artifact that contains a collection of assets that extend the Elastic Stack, providing new capabilities to accomplish a specific task like integration with an external data source. The first use of Elastic packages is <a href="https://github.com/elastic/integrations">integration packages</a>, which provide an end-to-end experience — from configuring Elastic Agent, to collecting signals from the data source, to ingesting them correctly and using the data once ingested.</p>
<p>However, advanced users may need to customize data collection, either because an integration does not exist for a specific data source, or even if it does, they want to collect additional signals or in a different way. Input packages are another type of <a href="https://github.com/elastic/elastic-package">Elastic package</a> that provides the capability to configure Elastic Agent to use the provided inputs in a custom way.</p>
<h2 id="letslookatanexample">Let’s look at an example</h2>
<p>Say hello to Julia, who works as an engineer at Ascio Innovation firm. She is currently working with Oracle Weblogic server and wants to get a set of metrics for monitoring it. She goes ahead and installs Elastic <a href="https://docs.elastic.co/integrations/oracle_weblogic">Oracle Weblogic Integration</a>, which uses Jolokia in the backend to fetch the metrics.</p>
<p>Now, her team wants to advance in the monitoring and has the following requirements:</p>
<ol>
<li><p>We should be able to extract metrics other than the default ones, which are not supported by the default Oracle Weblogic Integration.</p></li>
<li><p>We want to have our own bespoke pipelines, visualizations, and experience.</p></li>
<li><p>We should be able to identify the metrics coming in from two different instances of Weblogic Servers by having data mapped to separate <a href="https://www.elastic.co/blog/what-is-an-elasticsearch-index">indices</a>.</p></li>
</ol>
<p>All the above requirements can be met by using the <a href="https://docs.elastic.co/integrations/jolokia">Jolokia input package</a> to get a customized experience. Let's see how.</p>
<p>Julia can add the configuration of Jolokia input package as below, fulfilling the <em>first requirement.</em></p>
<p>hostname, JMX Mappings for the fields you want to fetch for the JVM application, and the <a href="https://www.elastic.co/guide/en/ecs/master/ecs-data_stream.html#field-data-stream-dataset">data set</a> name to which the response fields would get mapped.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltfe3c1c3308b1b952/6a85c86b18249c4a1d18f73b/elastic-blog-1-config-parameters.png" alt="Configuration Parameters for Jolokia Input package" /></p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt82c1570a90df3583/6a85c86e5c2790c33bf59ab5/elastic-blog-2-expanded-doc.png" alt="Metrics getting mapped to the index created by the ‘jolokia_first_dataset’" /></p>
<p>Julia can customize her data by writing her own <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html">ingest pipelines</a> and providing her customized <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html">mappings</a>. Also, she can then build her own bespoke dashboards, hence meeting her <em>second requirement.</em></p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt701e15290b92a292/6a85c87143c0b77f5d2f05be/elastic-blog-3-ingest-pipelines.png" alt="Customization of Ingest Pipelines and Mappings" /></p>
<p>Let’s say now Julia wants to use another instance of Oracle Weblogic and get a different set of metrics.</p>
<p>This can be achieved by adding another instance of Jolokia input package and specifying a new <a href="https://www.elastic.co/guide/en/ecs/master/ecs-data_stream.html#field-data-stream-dataset">data set</a> name as shown in the screenshot below. The resultant metrics will be mapped to a different <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-index_.html">index</a>/data set hence fulfilling her <em>third requirement.</em> This will help Julia to differentiate metrics coming in from two different instances of Oracle Weblogic.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt8d1bdeef3cb43115/6a85c874d7b2e751abfe846a/elastic-blog-4-jolokia.png" alt="jolokia metrics" /></p>
<p>The resultant metrics of the query will be indexed to the new data set, jolokia_second_dataset in the below example.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blta18b2ea1a67c9a46/6a85c877bc5bb33601f81a7b/elastic-blog-5-dataset.png" alt="dataset" /></p>
<p>As we can see above, the Jolokia input package provides the flexibility to get new metrics by specifying different JMX Mappings, which are not supported in the default Oracle Weblogic integration (the user gets metrics from a predetermined set of JMX Mappings).</p>
<p>The Jolokia Input package also can be used for monitoring any Java-based application, which pushes its metrics through JMX. So a single input package can be used to collect metrics from multiple Java applications/services.</p>
<h2 id="elasticinputpackages">Elastic input packages</h2>
<p>Elastic has started supporting input packages from the 8.8.0 release. Some of the input packages are now available in beta and will mature gradually:</p>
<ol>
<li><p><a href="https://docs.elastic.co/integrations/sql">SQL input package</a>: The SQL input package allows you to execute queries against any SQL database and store the results in Elasticsearch<sup>®</sup>.</p></li>
<li><p><a href="https://docs.elastic.co/integrations/prometheus_input">Prometheus input package</a>: This input package can collect metrics from <a href="https://prometheus.io/docs/instrumenting/exporters/">Prometheus Exporters (Collectors)</a>.It can be used by any service exporting its metrics to a Prometheus endpoint.</p></li>
<li><p><a href="https://docs.elastic.co/integrations/jolokia">Jolokia input package</a>: This input package collects metrics from <a href="https://jolokia.org/agent.html">Jolokia agents</a> running on a target JMX server or dedicated proxy server. It can be used for monitoring any Java-based application, which pushes its metrics through JMX.</p></li>
<li><p><a href="https://docs.elastic.co/integrations/statsd_input">Statsd input package</a>: The statsd input package spawns a UDP server and listens for metrics in StatsD compatible format. This input can be used to collect metrics from services that send data over the StatsD protocol.</p></li>
<li><p><a href="https://docs.elastic.co/integrations/gcp_metrics">GCP Metrics input package</a>: The GCP Metrics input package can collect custom metrics for any GCP service.</p></li>
</ol>
<h2 id="tryitout">Try it out!</h2>
<p>Now that you know more about input packages, try building your own customized integration for your service through input packages, and get started with an <a href="https://cloud.elastic.co/registration?fromURI=/home">Elastic Cloud</a> free trial.</p>
<p>We would love to hear from you about your experience with input packages on the Elastic <a href="https://discuss.elastic.co/">Discuss</a> forum or in <a href="https://github.com/elastic/integrations">the Elastic Integrations repository</a>.</p>
<p><em>The release and timing of any features or functionality described in this post remain at Elastic's sole discretion. Any features or functionality not currently available may not be delivered on time or at all.</em></p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/customize-data-ingestion-input-packages</link>
    <guid isPermaLink="false">customize-data-ingestion-input-packages</guid>
    <category><![CDATA[Logs Analytics]]></category>
    <dc:creator><![CDATA[Ishleen Kaur]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltdce7cff55bb7e7e5/6a85c87a5c279033e8f59ab9/customize-observability-input-720x420.jpg" length="0" type="image/jpeg"/>
    <pubDate>Tue, 26 Sep 2023 00:00:00 GMT</pubDate>
  </item>
  <item>
    <title><![CDATA[Elastic SQL inputs: A generic solution for database metrics observability]]></title>
    <description><![CDATA[This blog dives into the functionality of generic SQL and provides various use cases for advanced users to ingest custom metrics to Elastic for database observability. We also introduce the fetch from all database new capability released in 8.10.]]></description>
    <content:encoded><![CDATA[<p>Elastic<sup>®</sup> SQL inputs (<a href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-sql.html">metricbeat</a> module and <a href="https://docs.elastic.co/integrations/sql">input package</a>) allows the user to execute <a href="https://en.wikipedia.org/wiki/SQL">SQL</a> queries against many supported databases in a flexible way and ingest the resulting metrics to Elasticsearch<sup>®</sup>. This blog dives into the functionality of generic SQL and provides various use cases for <em>advanced users</em> to ingest custom metrics to Elastic<sup>®</sup>, for database observability. The blog also introduces the fetch from all database new capability, released in 8.10.</p>
<h2 id="whygenericsql">Why “Generic SQL”?</h2>
<p>Elastic already has metricbeat and integration packages targeted for specific databases. One example is <a href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-mysql.html">metricbeat</a> for MySQL — and the corresponding integration <a href="https://docs.elastic.co/en/integrations/mysql">package</a>. These beats modules and integrations are customized for a specific database, and the metrics are extracted using pre-defined queries from the specific database. The queries used in these integrations and the corresponding metrics are <em>not</em> available for modification.</p>
<p>Whereas the <em>Generic SQL inputs</em> (<a href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-sql.html">metricbeat</a> or <a href="https://docs.elastic.co/integrations/sql">input package</a>) can be used to scrape metrics from any supported database using the user's SQL queries. The queries are provided by the user depending on specific metrics to be extracted. This enables a much more powerful mechanism for metrics ingestion, where users can choose a specific driver and provide the relevant SQL queries and the results get mapped to one or more Elasticsearch documents, using a structured mapping process (table/variable format explained later).</p>
<p>Generic SQL inputs can be used in conjunction with the existing integration packages, which already extract specific database metrics, to extract additional custom metrics dynamically, making this input very powerful. In this blog, <em>Generic SQL input</em> and <em>Generic SQL</em> are used interchangeably.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt86cd15e65734414c/6a85cad543c0b77eb12f0612/elastic-blog-1-genericSQL.png" alt="Generic SQL database metrics collection" /></p>
<h2 id="functionalitiesdetails">Functionalities details</h2>
<p>This section covers some of the features that would help with the metrics extraction. We provide a brief description of the response format configuration. Then we dive into the merge_results functionality, which is used to combine results from multiple SQL queries into a single document.</p>
<p>The next key functionality users may be interested in is to collect metrics from all the custom databases, which is now possible with the fetch_from_all_databases feature.</p>
<p>Now let's dive into the specific functionalities:</p>
<h3 id="differentdriverssupported">Different drivers supported</h3>
<p>The generic SQL can fetch metrics from the different databases. The current version has the capability to fetch metrics from the following drivers: MySQL, PostgreSQL, Oracle, and Microsoft SQL Server(MSSQL).</p>
<h3 id="responseformat">Response format</h3>
<p>The response format in generic SQL is used to manipulate the data in either table or in variable format. Here’s an overview of the formats and syntax for creating and using the table and variables.</p>
<p>Syntax: <code>response_format: table {{or}} variables</code></p>
<p><strong>Response format table</strong><br />
This mode generates a single event for each row. The table format has no restrictions on the number of columns in the response. This format can have any number of columns.</p>
<p>Example:</p>
<pre><code>driver: "mssql"
sql_queries:
 - query: "SELECT counter_name, cntr_value FROM sys.dm_os_performance_counters WHERE counter_name= 'User Connections'"
   response_format: table
</code></pre>
<p>This query returns a response similar to this:</p>
<pre><code>"sql":{
      "metrics":{
         "counter_name":"User Connections ",
         "cntr_value":7
      },
      "driver":"mssql"
}
</code></pre>
<p>The response generated above adds the counter_name as a key in the document.</p>
<p><strong>Response format variables</strong><br />
The variable format supports key:value pairs. This format expects only two columns to fetch in a query.</p>
<p>Example:</p>
<pre><code>driver: "mssql"
sql_queries:
 - query: "SELECT counter_name, cntr_value FROM sys.dm_os_performance_counters WHERE counter_name= 'User Connections'"
   response_format: variables
</code></pre>
<p>The variable format takes the first variable in the query above as the key:</p>
<pre><code>"sql":{
      "metrics":{
         "user connections ":7
      },
      "driver":"mssql"
}
</code></pre>
<p>In the above response, you can see the value of counter_name is used to generate the key in variable format.</p>
<h3 id="responseoptimizationmerge_results">Response optimization: merge_results</h3>
<p>We are now supporting merging multiple query responses into a single event. By enabling <strong>merge_results</strong> , users can significantly optimize the storage space of the metrics ingested to Elasticsearch. This mode enables an efficient compaction of the document generated, where instead of generating multiple documents, a single merged document is generated wherever applicable. The metrics of a similar kind, generated from multiple queries, are combined into a single event.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt658fd39fac11b6c5/6a85cada18249ce22818f7bf/elastic-blog-2-output-merge-results.png" alt="Output of Merge results" /></p>
<p>Syntax: <code>merge_results: true {{or}} false</code></p>
<p>In the below example, you can see how the data is loaded into Elasticsearch for the below query when the merge_results is disabled.</p>
<p>Example:</p>
<p>In this example, we are using two different queries to fetch metrics from the performance counter.</p>
<pre><code>merge_results: false
driver: "mssql"
sql_queries:
  - query: "SELECT cntr_value As 'user_connections' FROM sys.dm_os_performance_counters WHERE counter_name= 'User Connections'"
    response_format: table
  - query: "SELECT cntr_value As 'buffer_cache_hit_ratio' FROM sys.dm_os_performance_counters WHERE counter_name = 'Buffer cache hit ratio' AND object_name like '%Buffer Manager%'"
    response_format: table
</code></pre>
<p>As you can see, the response for the above example generates a single document for each query.</p>
<p>The resulting document from the first query:</p>
<pre><code>"sql":{
      "metrics":{
         "user_connections":7
      },
      "driver":"mssql"
}
</code></pre>
<p>And resulting document from the second query:</p>
<pre><code>"sql":{
      "metrics":{
         "buffer_cache_hit_ratio":87
      },
      "driver":"mssql"
}
</code></pre>
<p>When we enable the merge_results flag in the query, both the above metrics are combined together and the data gets loaded in a single document.</p>
<p>You can see the merged document in the below example:</p>
<pre><code>"sql":{
      "metrics":{
         "user connections ":7,
         “buffer_cache_hit_ratio”:87
      },
      "driver":"mssql"
}
</code></pre>
<p><em>However, such a merge is possible only if the table queries are merged, and each produces a single row. There is no restriction on variable queries being merged.</em></p>
<h3 id="introducinganewcapabilityfetch_from_all_databases">Introducing a new capability: fetch_from_all_databases</h3>
<p>This is a <a href="https://github.com/elastic/beats/pull/35688">new functionality</a> to fetch all the database metrics automatically from the system and user databases of the Microsoft SQL Server, by enabling the fetch_from_all_databases flag.</p>
<p>Keep an eye out for the <a href="https://www.elastic.co/guide/en/beats/metricbeat/8.10/metricbeat-module-sql.html#_example_execute_given_queries_for_all_databases_present_in_a_server">8.10 release version</a> where you can start using the fetch all database feature. Prior to the 8.10 version, users had to provide the database names manually to fetch metrics from custom/user databases.</p>
<p>Syntax: <code>fetch_from_all_databases: true {{or}} false</code></p>
<p>Below is the sample query with fetch all databases flag as disabled:</p>
<pre><code>fetch_from_all_databases: false
driver: "mssql"
sql_queries:
  - query: "SELECT @@servername AS server_name, @@servicename AS instance_name, name As 'database_name', database_id FROM sys.databases WHERE name='master';"
</code></pre>
<p>The above query fetches metrics only for the provided database name. Here the input database is master, so the metrics are fetched only for the master.</p>
<p>Below is the sample query with the fetch all databases flag as enabled:</p>
<pre><code>fetch_from_all_databases: true
driver: "mssql"
sql_queries:
  - query: SELECT @@servername AS server_name, @@servicename AS instance_name, DB_NAME() AS 'database_name', DB_ID() AS database_id;
    response_format: table
</code></pre>
<p>The above query fetches metrics from all available databases. This is useful when the user wants to get data from all the databases.</p>
<p>Please note: currently this feature is supported only for Microsoft SQL Server and will be used by MS SQL integration internally, to support extracting metrics for <a href="https://github.com/elastic/integrations/issues/4108">all user DBs</a> by default.</p>
<h2 id="usinggenericsqlmetricbeat">Using generic SQL: Metricbeat</h2>
<p>The generic <a href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-sql.html">SQL metricbeat module</a> provides flexibility to execute queries against different database drivers. The metricbeat input is available as GA for any production usage. <a href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-sql.html">Here</a>, you can find more information on configuring <a href="https://www.elastic.co/guide/en/beats/metricbeat/current/metricbeat-module-sql.html">the generic SQL</a> for different drivers with various examples.</p>
<h2 id="usinggenericsqlinputpackage">Using generic SQL: Input package</h2>
<p>The input package provides a flexible solution to advanced users for customizing their ingestion experience in Elastic. Generic SQL is now also available as an SQL<a href="https://docs.elastic.co/integrations/sql">input package</a>. The input package is currently available for early users as a <strong>beta release</strong>. Let's take a walk through how users can use generic SQL via the input package.</p>
<h3 id="configurationsofgenericsqlinputpackage">Configurations of generic SQL input package:</h3>
<p>The configuration options for the generic SQL input package are as below:</p>
<ul>
<li><strong>Driver**</strong> :** This is the SQL database for which you want to use the package. In this case, we will take mysql as an example.</li>
<li><strong>Hosts:</strong> Here the user enters the connection string to connect to the database. It would vary depending on which database/driver is being used. Refer <a href="https://docs.elastic.co/integrations/sql#hosts">here</a> for examples.</li>
<li><strong>SQL Queries:</strong> Here the user writes the SQL queries they want to fire and the response_format is specified.</li>
<li><strong>Data set:</strong> The user specifies a <a href="https://www.elastic.co/guide/en/ecs/master/ecs-data_stream.html#_data_stream_field_details">data set</a> name to which the response fields get mapped.</li>
<li><strong>Merge results**</strong> :** This is an advanced setting, used to merge queries into a single event.</li>
</ul>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltc36880b217c1a2b7/6a85cadd9829266c605838e4/elastic-blog-3-SQL-metrics-inputpackage.png" alt="Configuration parameters for SQL input package" /></p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt9f349d24b55e602e/6a85cae333f244f11649f506/elastic-blog-4-expanded-document.png" alt="Metrics getting mapped to the index created by the ‘sql_first_dataset’" /></p>
<h3 id="metricsextensibilitywithcustomizedsqlqueries">Metrics extensibility with customized SQL queries</h3>
<p>Let's say a user is using <a href="https://docs.elastic.co/integrations/mysql">MYSQL Integration</a>, which provides a fixed set of metrics. Their requirement now extends to retrieving more metrics from the MYSQL database by firing new customized SQL queries.</p>
<p>This can be achieved by adding an instance of SQL input package, writing the customized queries and specifying a new <a href="https://www.elastic.co/guide/en/ecs/master/ecs-data_stream.html#field-data-stream-dataset">data set</a> name as shown in the screenshot below.</p>
<p>This way users can get any metrics by executing corresponding queries. The resultant metrics of the query will be indexed to the new data set, sql_second_dataset.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/bltea0ae6966bbfd68b/6a85cae7ba7acc2b13992146/elastic-blog-5-driver.png" alt="Customization of Ingest Pipelines and Mappings" /></p>
<p>When there are multiple queries, users can club them into a single event by enabling the Merge Results toggle.</p>
<h3 id="customizinguserexperience">Customizing user experience</h3>
<p>Users can customize their data by writing their own <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/ingest.html">ingest pipelines</a> and providing their customized <a href="https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping.html">mappings</a>. Users can also build their own bespoke dashboards.</p>
<p><img src="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt89913365b437dcf0/6a85caebf61d6e02d29c2b15/elastic-blog-6-ingest-pipeline.png" alt="Customization of Ingest Pipelines and Mappings" /></p>
<p>As we can see above, the SQL input package provides the flexibility to get new metrics by running new queries, which are not supported in the default MYSQL integration (the user gets metrics from a predetermined set of queries).</p>
<p>The SQL input package also supports multiple drivers: mssql, postgresql and oracle. So a single input package can be used to cater to all these databases.</p>
<p>Note: The fetch_from_all_databases feature is not supported in the SQL input package yet.</p>
<h2 id="tryitout">Try it out!</h2>
<p>Now that you know about various use cases and features of generic SQL, get started with <a href="https://cloud.elastic.co/registration?fromURI=/home">Elastic Cloud</a> and try using the <a href="https://docs.elastic.co/integrations/sql">SQL input package</a> for your SQL database and get customized experience and metrics. If you are looking for newer metrics for some of our existing SQL based integrations — like <a href="https://docs.elastic.co/en/integrations/microsoft_sqlserver">Microsoft SQL Server</a>, <a href="https://docs.elastic.co/integrations/oracle">Oracle</a>, and more — go ahead and give the SQL input package a swirl.</p>
<p><em>The release and timing of any features or functionality described in this post remain at Elastic's sole discretion. Any features or functionality not currently available may not be delivered on time or at all.</em></p>]]></content:encoded>
    <link>https://www.elastic.co/observability-labs/blog/sql-inputs-database-metrics-observability</link>
    <guid isPermaLink="false">sql-inputs-database-metrics-observability</guid>
    <category><![CDATA[Metrics]]></category>
    <category><![CDATA[Logs Analytics]]></category>
    <dc:creator><![CDATA[Lalit Satapathy,Ishleen Kaur,Muthukumar Paramasivam]]></dc:creator>
    <enclosure url="https://static-www.elastic.co/v3/assets/bltefdd0b53724fa2ce/blt83f89ae1d32f8838/6a85caeeabdc295c6b1224f8/patterns-midnight-background-no-logo-observability.png" length="0" type="image/png"/>
    <pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate>
  </item>
  </channel>
</rss>