<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>Elastic Observability Labs - Articles by Ishleen Kaur</title>
        <link>https://www.elastic.co/observability-labs</link>
        <description>Trusted security news &amp; research from the team at Elastic.</description>
        <lastBuildDate>Fri, 06 Mar 2026 16:24:31 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <image>
            <title>Elastic Observability Labs - Articles by Ishleen Kaur</title>
            <url>https://www.elastic.co/observability-labs/assets/observability-labs-thumbnail.png</url>
            <link>https://www.elastic.co/observability-labs</link>
        </image>
        <copyright>© 2026. Elasticsearch B.V. All Rights Reserved</copyright>
        <item>
            <title><![CDATA[Customize your data ingestion with Elastic input packages]]></title>
            <link>https://www.elastic.co/observability-labs/blog/customize-data-ingestion-input-packages</link>
            <guid isPermaLink="false">customize-data-ingestion-input-packages</guid>
            <pubDate>Tue, 26 Sep 2023 00:00:00 GMT</pubDate>
            <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&lt;sup&gt;®&lt;/sup&gt; 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>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>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://www.elastic.co/observability-labs/assets/images/customize-data-ingestion-input-packages/elastic-blog-1-config-parameters.png" alt="Configuration Parameters for Jolokia Input package" /></p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/customize-data-ingestion-input-packages/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://www.elastic.co/observability-labs/assets/images/customize-data-ingestion-input-packages/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://www.elastic.co/observability-labs/assets/images/customize-data-ingestion-input-packages/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://www.elastic.co/observability-labs/assets/images/customize-data-ingestion-input-packages/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>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&lt;sup&gt;®&lt;/sup&gt;.</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>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>
            <category>observability-labs</category>
            <enclosure url="https://www.elastic.co/observability-labs/assets/images/customize-data-ingestion-input-packages/customize-observability-input-720x420.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Elastic MongoDB Atlas Integration: Complete Database Monitoring and Observability]]></title>
            <link>https://www.elastic.co/observability-labs/blog/elastic-mongodb-atlas-integration</link>
            <guid isPermaLink="false">elastic-mongodb-atlas-integration</guid>
            <pubDate>Thu, 24 Jul 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Comprehensive MongoDB Atlas monitoring with Elastic's integration - track performance, security, and operations through real-time alerts, audit logs, and actionable insights.]]></description>
            <content:encoded><![CDATA[<p>In today's data-driven landscape, <a href="https://www.mongodb.com/products/platform/atlas-database">MongoDB Atlas</a> has emerged as the leading multi-cloud developer data platform, enabling organizations to work seamlessly with document-based data models while ensuring flexible schema design and easy scalability. However, as your Atlas deployments grow in complexity and criticality, comprehensive observability becomes essential for maintaining optimal performance, security, and reliability.</p>
<p>The Elastic <a href="https://www.elastic.co/docs/reference/integrations/mongodb_atlas">MongoDB Atlas integration</a> transforms how you monitor and troubleshoot your Atlas infrastructure by providing deep insights into every aspect of your deployment—from real-time alerts and audit trails to detailed performance metrics and organizational activities. This integration empowers teams to minimize Mean Time to Detect (MTTD) and Mean Time to Resolve (MTTR) while gaining actionable insights for capacity planning and performance optimization.</p>
<h2>Why MongoDB Atlas Observability Matters</h2>
<p>MongoDB Atlas abstracts much of the operational complexity of running MongoDB, but this doesn't eliminate the need for monitoring. Modern applications demand:</p>
<ul>
<li><strong>Proactive Issue Detection</strong>: Identify performance bottlenecks, resource constraints, and security threats before they impact users</li>
<li><strong>Comprehensive Audit Trails</strong>: Track database operations, user activities, and configuration changes for compliance and security</li>
<li><strong>Performance Optimization</strong>: Monitor query performance, resource utilization, and capacity trends to optimize costs and user experience</li>
<li><strong>Operational Insights</strong>: Understand organizational activities, project changes, and infrastructure events across your multi-cloud deployments</li>
</ul>
<p>The Elastic <a href="https://www.elastic.co/docs/reference/integrations/mongodb_atlas">MongoDB Atlas integration</a> addresses these needs by collecting comprehensive telemetry data and presenting it through powerful visualizations and alerting capabilities.</p>
<h2>Integration Architecture and Data Streams</h2>
<p>The <a href="https://www.elastic.co/docs/reference/integrations/mongodb_atlas">MongoDB Atlas integration</a> leverages the <a href="https://www.mongodb.com/docs/atlas/reference/api-resources-spec/v2/">Atlas Administration API</a> to collect eight distinct data streams, each providing specific insights into different aspects of your Atlas deployment:</p>
<h3>Log Data Streams</h3>
<p><strong>Alert Logs</strong>: Capture real-time alerts generated by your Atlas instances, covering resource utilization thresholds (CPU, memory, disk space), database operations, security issues, and configuration changes. These alerts provide immediate visibility into critical events that require attention.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elastic-mongodb-atlas-integration/alert_logs.png" alt="Alert Datastream" /></p>
<p><strong>Database Logs</strong>: Collect comprehensive operational logs from MongoDB instances, including incoming connections, executed commands, performance diagnostics, and issues encountered. These logs are invaluable for troubleshooting performance problems and understanding database behavior.</p>
<p><strong>MongoDB Audit Logs</strong>: Enable administrators to track system activity across deployments with multiple users and applications. These logs capture detailed events related to database operations including insertions, updates, deletions, user authentication, and access patterns—essential for security compliance and forensic analysis.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elastic-mongodb-atlas-integration/audit_logs.png" alt="Audit Datastream" /></p>
<p><strong>Organization Logs</strong>: Provide enterprise-level visibility into organizational activities, enabling tracking of significant actions involving database operations, billing changes, security modifications, host management, encryption settings, and user access management across teams.</p>
<p><strong>Project Logs</strong>: Offer project-specific event tracking, capturing detailed records of configuration modifications, user access changes, and general project activities. These logs are crucial for project-level auditing and change management.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elastic-mongodb-atlas-integration/project_logs.png" alt="Project Datastream" /></p>
<h3>Metrics Data Streams</h3>
<p><strong>Hardware Metrics</strong>: Collect comprehensive hardware performance data including CPU usage, memory consumption, JVM memory utilization, and overall system resource metrics for each process in your Atlas groups.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elastic-mongodb-atlas-integration/hardware_metrics.png" alt="Hardware Datastream" /></p>
<p><strong>Disk Metrics</strong>: Monitor storage performance with detailed insights into I/O operations, read/write latency, and space utilization across all disk partitions used by MongoDB Atlas. These metrics help identify storage bottlenecks and plan capacity expansion.</p>
<p><strong>Process Metrics</strong>: Gather host-level metrics per MongoDB process, including detailed CPU usage patterns, I/O operation counts, memory utilization, and database-specific performance indicators like connection counts, operation rates, and cache utilization.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elastic-mongodb-atlas-integration/process_metrics.png" alt="Process Datastream" /></p>
<h2>Implementation Guide</h2>
<h3>Setting Up the Integration</h3>
<p>Getting started with MongoDB Atlas observability requires establishing API access and configuring the integration in Kibana:</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elastic-mongodb-atlas-integration/setup.png" alt="Setup" /></p>
<ol>
<li>
<p><strong>Generate Atlas API Keys</strong>: Create <a href="https://www.mongodb.com/docs/atlas/configure-api-access/#grant-programmatic-access-to-an-organization">programmatic API keys</a> with Organization Owner permissions in the Atlas console, then invite these keys to your target projects with appropriate roles (Project Read Only for alerts/metrics, Project Data Access Read Only for audit logs).</p>
</li>
<li>
<p><strong>Enable Prerequisites</strong>: Enable database auditing in Atlas for projects where you want to collect audit and database logs. Gather your <a href="https://www.mongodb.com/docs/atlas/app-services/apps/metadata/#find-a-project-id">Project ID</a> and Organization ID from the Atlas UI.</p>
</li>
<li>
<p><strong>Configure in Kibana</strong>: Navigate to Management &gt; Integrations, search for &quot;MongoDB Atlas,&quot; and add the integration using your API credentials.</p>
</li>
</ol>
<p>The integration supports different permission levels for each data stream, ensuring you can collect operational metrics with minimal privileges while protecting sensitive audit data with elevated permissions.</p>
<h3>Considerations and Limitations</h3>
<ul>
<li><strong>Cluster Support</strong>: Log collection doesn't support M0 free clusters, M2/M5 shared clusters, or serverless instances</li>
<li><strong>Historical Data</strong>: Most log streams collect the previous 30 minutes of historical data</li>
<li><strong>Performance Impact</strong>: Large time spans may cause request timeouts; adjust HTTP Client Timeout accordingly</li>
</ul>
<h2>Real-World Use Cases and Benefits</h2>
<h3>Security and Compliance Monitoring</h3>
<p><strong>Audit Trail Management</strong>: Organizations in regulated industries leverage the audit logs to maintain comprehensive records of database access and modifications. The integration automatically parses and indexes audit events, making it easy to search for specific user activities, failed authentication attempts, or unauthorized access patterns.</p>
<p><strong>Security Incident Response</strong>: When security events occur, teams can quickly correlate alert logs with audit trails to understand the scope and timeline of incidents.</p>
<h3>Performance Optimization and Capacity Planning</h3>
<p><strong>Proactive Resource Management</strong>: By monitoring disk, hardware, and process metrics, teams can identify resource constraints before they impact application performance. For example, tracking disk I/O latency trends helps predict when storage upgrades are needed.</p>
<p><strong>Query Performance Analysis</strong>: Database logs combined with process metrics provide insights into slow queries, connection patterns, and resource utilization that enable database performance tuning.</p>
<h3>Operational Excellence</h3>
<p><strong>Multi-Environment Monitoring</strong>: Organizations running Atlas across development, staging, and production environments can standardize monitoring across all environments while maintaining environment-specific alerting thresholds.</p>
<p><strong>Change Management</strong>: Project and organization logs provide complete audit trails for infrastructure changes, enabling teams to correlate application issues with recent configuration modifications.</p>
<h2>Let's Try It!</h2>
<p>The MongoDB Atlas integration delivers comprehensive database observability that enables proactive management and optimization of your Atlas deployments. With pre-built dashboards and alerting capabilities, teams can gain immediate value while leveraging rich data streams for advanced analytics and custom monitoring solutions.</p>
<p>Deploy a cluster on <a href="https://www.elastic.co/cloud/">Elastic Cloud</a> or <a href="https://www.elastic.co/cloud/serverless">Elastic Serverless</a>, or download the Elasticsearch stack, then spin up the MongoDB Atlas Integration, open the curated dashboards in Kibana and start monitoring your service!</p>]]></content:encoded>
            <category>observability-labs</category>
            <enclosure url="https://www.elastic.co/observability-labs/assets/images/elastic-mongodb-atlas-integration/title.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Elastic SQL inputs: A generic solution for database metrics observability]]></title>
            <link>https://www.elastic.co/observability-labs/blog/sql-inputs-database-metrics-observability</link>
            <guid isPermaLink="false">sql-inputs-database-metrics-observability</guid>
            <pubDate>Mon, 11 Sep 2023 00:00:00 GMT</pubDate>
            <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&lt;sup&gt;®&lt;/sup&gt; 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&lt;sup&gt;®&lt;/sup&gt;. 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&lt;sup&gt;®&lt;/sup&gt;, for database observability. The blog also introduces the fetch from all database new capability, released in 8.10.</p>
<h2>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://www.elastic.co/observability-labs/assets/images/sql-inputs-database-metrics-observability/elastic-blog-1-genericSQL.png" alt="Generic SQL database metrics collection" /></p>
<h2>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>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>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 class="language-sql">driver: &quot;mssql&quot;
sql_queries:
 - query: &quot;SELECT counter_name, cntr_value FROM sys.dm_os_performance_counters WHERE counter_name= 'User Connections'&quot;
   response_format: table
</code></pre>
<p>This query returns a response similar to this:</p>
<pre><code class="language-json">&quot;sql&quot;:{
      &quot;metrics&quot;:{
         &quot;counter_name&quot;:&quot;User Connections &quot;,
         &quot;cntr_value&quot;:7
      },
      &quot;driver&quot;:&quot;mssql&quot;
}
</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 class="language-sql">driver: &quot;mssql&quot;
sql_queries:
 - query: &quot;SELECT counter_name, cntr_value FROM sys.dm_os_performance_counters WHERE counter_name= 'User Connections'&quot;
   response_format: variables
</code></pre>
<p>The variable format takes the first variable in the query above as the key:</p>
<pre><code class="language-json">&quot;sql&quot;:{
      &quot;metrics&quot;:{
         &quot;user connections &quot;:7
      },
      &quot;driver&quot;:&quot;mssql&quot;
}
</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>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://www.elastic.co/observability-labs/assets/images/sql-inputs-database-metrics-observability/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 class="language-yaml">merge_results: false
driver: &quot;mssql&quot;
sql_queries:
  - query: &quot;SELECT cntr_value As 'user_connections' FROM sys.dm_os_performance_counters WHERE counter_name= 'User Connections'&quot;
    response_format: table
  - query: &quot;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%'&quot;
    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 class="language-json">&quot;sql&quot;:{
      &quot;metrics&quot;:{
         &quot;user_connections&quot;:7
      },
      &quot;driver&quot;:&quot;mssql&quot;
}
</code></pre>
<p>And resulting document from the second query:</p>
<pre><code class="language-json">&quot;sql&quot;:{
      &quot;metrics&quot;:{
         &quot;buffer_cache_hit_ratio&quot;:87
      },
      &quot;driver&quot;:&quot;mssql&quot;
}
</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 class="language-json">&quot;sql&quot;:{
      &quot;metrics&quot;:{
         &quot;user connections &quot;:7,
         “buffer_cache_hit_ratio”:87
      },
      &quot;driver&quot;:&quot;mssql&quot;
}
</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>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 class="language-yaml">fetch_from_all_databases: false
driver: &quot;mssql&quot;
sql_queries:
  - query: &quot;SELECT @@servername AS server_name, @@servicename AS instance_name, name As 'database_name', database_id FROM sys.databases WHERE name='master';&quot;
</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 class="language-yaml">fetch_from_all_databases: true
driver: &quot;mssql&quot;
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>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>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>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://www.elastic.co/observability-labs/assets/images/sql-inputs-database-metrics-observability/elastic-blog-3-SQL-metrics-inputpackage.png" alt="Configuration parameters for SQL input package" /></p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/sql-inputs-database-metrics-observability/elastic-blog-4-expanded-document.png" alt="Metrics getting mapped to the index created by the ‘sql_first_dataset’" /></p>
<h3>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://www.elastic.co/observability-labs/assets/images/sql-inputs-database-metrics-observability/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>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://www.elastic.co/observability-labs/assets/images/sql-inputs-database-metrics-observability/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>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>
            <category>observability-labs</category>
            <enclosure url="https://www.elastic.co/observability-labs/assets/images/sql-inputs-database-metrics-observability/patterns-midnight-background-no-logo-observability.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[LLM Observability for Google Cloud’s Vertex AI platform - understand performance, cost and reliability]]></title>
            <link>https://www.elastic.co/observability-labs/blog/elevate-llm-observability-with-gcp-vertex-ai-integration</link>
            <guid isPermaLink="false">elevate-llm-observability-with-gcp-vertex-ai-integration</guid>
            <pubDate>Wed, 09 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Enhance LLM observability with Elastic's GCP Vertex AI Integration — gain actionable insights into model performance, resource efficiency, and operational reliability.]]></description>
            <content:encoded><![CDATA[<p>As organizations increasingly adopt large language models (LLMs) for AI-powered applications such as content creation, Retrieval-Augmented Generation (RAG), and data analysis, SREs and developers face new challenges. Tasks like monitoring workflows, analyzing input and output, managing query latency, and controlling costs become critical. LLM observability helps address these issues by providing clear insights into how these models perform, allowing teams to quickly identify bottlenecks, optimize configurations, and improve reliability. With better observability, SREs can confidently scale LLM applications, especially on platforms like <a href="https://cloud.google.com/vertex-ai">Google Cloud’s Vertex AI</a>.</p>
<h3>New Elastic Observability LLM integration with Google Cloud’s Vertex AI platform</h3>
<p>We are thrilled to announce general availability of monitoring LLMs hosted in Google Cloud through the <a href="https://www.elastic.co/docs/current/integrations/gcp_vertexai">Elastic integration with Vertex AI</a>. This integration enables users to experience enhanced LLM Observability by providing deep insights into the usage, cost and operational performance of models on Vertex AI, including latency, errors, token usage, frequency of model invocations as well as resources utilized by models. By leveraging this data, organizations can optimize resource usage, identify and resolve performance bottlenecks, and enhance the model efficiency and accuracy.</p>
<h3>Observability needs for AI-powered applications using the Vertex AI platform</h3>
<p>Leveraging AI models creates unique needs around the observability and monitoring of AI-powered applications. Some of the challenges that come with using LLMs are related to the high cost to call the LLMs, the quality and safety of LLM responses, and the performance, reliability and availability of the LLMs.</p>
<p>Lack of visibility into LLM observability data can make it harder for SREs and DevOps teams to ensure their AI-powered applications meet their service level objectives for reliability, performance, cost and quality of the AI-generated content and have enough telemetry data to troubleshoot related issues. Thus, robust LLM observability and detection of anomalies in the performance of models hosted on Google Cloud’s Vertex AI platform in real time is critical for the success of AI-powered applications.</p>
<p>Depending on the needs of their LLM applications, customers can make use of a growing list of models hosted on the Vertex AI platform such as Gemini 2.0 Pro, Gemini 2.0 Flash, and Imagen for image generation. Each model excels in specific areas and generates content in some modalities including Language, Audio, Vision, Code, etc. No two models are the same; each model has specific performance characteristics. So, it is important that service operators are able to track the individual performance, behaviour and cost of each model.</p>
<h3>Unlocking Insights with Vertex AI Metrics</h3>
<p>The Elastic integration with Google Cloud’s Vertex AI platform collects a wide range of metrics from models hosted on Vertex AI, enabling users to monitor, analyze, and optimize their AI deployments effectively.</p>
<p>Once you use the integration, you can review all the metrics in the Vertex AI dashboard</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elevate-llm-observability-with-gcp-vertex-ai-integration/Overview.png" alt="Overview Dashboard" /></p>
<p>These metrics can be categorized into the following groups:</p>
<h4>1. Prediction Metrics</h4>
<p>Prediction metrics provide critical insights into model usage, performance bottlenecks, and reliability. These metrics help ensure smooth operations, optimize response times, and maintain robust, accurate predictions.</p>
<ul>
<li>
<p><strong>Prediction Count by Endpoint</strong>: Measures the total number of predictions across different endpoints.</p>
</li>
<li>
<p><strong>Prediction Latency</strong>: Provides insights into the time taken to generate predictions, allowing users to identify bottlenecks in performance.</p>
</li>
<li>
<p><strong>Prediction Errors</strong>: Monitors the count of failed predictions across endpoints.</p>
</li>
</ul>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elevate-llm-observability-with-gcp-vertex-ai-integration/Prediction.png" alt="Prediction Metrics" /></p>
<h4>2. Model Performance Metrics</h4>
<p>Model performance metrics provide crucial insights into deployment efficiency, and responsiveness. These metrics help optimize model performance and ensure reliable operations.</p>
<ul>
<li>
<p><strong>Model Usage</strong>: Tracks the usage distribution among different model deployments.</p>
</li>
<li>
<p><strong>Token Usage</strong>: Tracks the number of tokens consumed by each model deployment, which is critical for understanding model efficiency.</p>
</li>
</ul>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elevate-llm-observability-with-gcp-vertex-ai-integration/token_model_usage.png" alt="Token model usage" /></p>
<ul>
<li>
<p><strong>Invocation Rates</strong>: Tracks the frequency of invocations made by each model deployment.</p>
</li>
<li>
<p><strong>Model Invocation Latency</strong>: Measures the time taken to invoke a model, helping in diagnosing performance issues.</p>
</li>
</ul>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elevate-llm-observability-with-gcp-vertex-ai-integration/Invocation_Vertex.png" alt="Model Invocation Metrics" /></p>
<h4>3. Resource Utilization Metrics</h4>
<p>Resource utilization metrics are vital for monitoring resource efficiency and workload performance. They help optimize infrastructure, prevent bottlenecks, and ensure smooth operation of AI deployments.</p>
<ul>
<li>
<p><strong>CPU Utilization</strong>: Monitors CPU usage to ensure optimal resource allocation for AI workloads.</p>
</li>
<li>
<p><strong>Memory Usage</strong>: Tracks the memory consumed across all model deployments.</p>
</li>
<li>
<p><strong>Network Usage</strong>: Measures bytes sent and received, providing insights into data transfer during model interactions.</p>
</li>
</ul>
<p><img src="https://www.elastic.co/observability-labs/assets/images/elevate-llm-observability-with-gcp-vertex-ai-integration/Resource_Utilization.png" alt="Resource Utilization Metrics" /></p>
<h4>4. Overview Metrics</h4>
<p>These metrics give an overview of the models deployed in Google Cloud’s Vertex AI platform. They are essential for tracking overall performance, optimizing efficiency, and identifying potential issues across deployments.</p>
<ul>
<li>
<p><strong>Total Invocations</strong>: The overall count of prediction invocations across all models and endpoints, providing a comprehensive view of activity.</p>
</li>
<li>
<p><strong>Total Tokens</strong>: The total number of tokens processed across all model interactions, offering insights into resource utilization and efficiency.</p>
</li>
<li>
<p><strong>Total Errors</strong>: The total count of errors encountered across all models and endpoints, helping identify reliability issues.</p>
</li>
</ul>
<p>All metrics can be filtered by <strong>region</strong>, offering localized insights for better analysis.</p>
<p>Note: The Elastic I integration with Vertex AI provides comprehensive visibility into both deployment models: provisioned throughput, where capacity is pre-allocated, and pay-as-you-go, where resources are consumed on demand.</p>
<h3>Conclusion</h3>
<p>This <a href="https://www.elastic.co/docs/current/integrations/gcp_vertexai">integration with Vertex AI</a> represents a significant step forward in enhancing the LLM Observability for users of Google Cloud’s Vertex AI platform. By unlocking a wealth of actionable data, organizations can assess the health, performance and cost of LLMs and troubleshoot operational issues, ensuring scalability, and accuracy in AI-driven applications.</p>
<p>Now that you know how the Vertex AI integration enhances LLM Observability, it’s your turn to try it out n. Spin up an Elastic Cloud, and start monitoring your LLM applications hosted on Google Cloud’s Vertex AI platform.</p>
]]></content:encoded>
            <category>observability-labs</category>
            <enclosure url="https://www.elastic.co/observability-labs/assets/images/elevate-llm-observability-with-gcp-vertex-ai-integration/vertexai-title.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Infrastructure monitoring with OpenTelemetry in Elastic Observability]]></title>
            <link>https://www.elastic.co/observability-labs/blog/infrastructure-monitoring-with-opentelemetry-in-elastic-observability</link>
            <guid isPermaLink="false">infrastructure-monitoring-with-opentelemetry-in-elastic-observability</guid>
            <pubDate>Wed, 24 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Integrating OpenTelemetry with Elastic Observability for Application and Infrastructure Monitoring Solutions.]]></description>
            <content:encoded><![CDATA[<p>At Elastic, we recently made a decision to fully embrace OpenTelemetry as the premier data collection framework. As an Observability engineer, I firmly believe that vendor agnosticism is essential for delivering the greatest value to our customers. By committing to OpenTelemetry, we are not only staying current with technological advancements but also driving them forward. This investment positions us at the forefront of the industry, championing a more open and flexible approach to observability.</p>
<p>Elastic donated  <a href="https://www.elastic.co/guide/en/ecs/current/index.html">Elastic Common Schema (ECS)</a> to OpenTelemetry and is actively working to <a href="https://opentelemetry.io/blog/2023/ecs-otel-semconv-convergence/">converge</a> it with semantic conventions. In the meantime, we are dedicated to support our users by ensuring they don’t have to navigate different standards. Our goal is to provide a seamless end-to-end experience while using OpenTelemetry with our application and infrastructure monitoring solutions. This commitment allows users to benefit from the best of both worlds without any friction.</p>
<p>In this blog, we explore how to use the OpenTelemetry (OTel) collector to capture core system metrics from various sources such as AWS EC2, Google Compute, Kubernetes clusters, and individual systems running Linux or MacOS.</p>
<h2>Powering Infrastructure UIs with Two Ingest Paths</h2>
<p>Elastic users who wish to have OpenTelemetry as their data collection mechanism can now monitor the health of the hosts where the OpenTelemetry collector is deployed using the Hosts and Inventory UIs available in Elastic Observability.</p>
<p>Elastic offers two distinct ingest paths to power Infrastructure UIs: the ElasticsearchExporter Ingest Path and the OTLP Exporter Ingest Path.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/infrastructure-monitoring-with-opentelemetry-in-elastic-observability/IngestPath.png" alt="IngestPath" /></p>
<h3>ElasticsearchExporter Ingest Path:</h3>
<p>The <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/hostmetricsreceiver/README.md#host-metrics-receiver">hostmetrics receiver</a> in OpenTelemetry collects system-level metrics such as CPU, memory, and disk usage from the host machine in OTel Schema.
The ElasticsearchExporter ingest path leverages the <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/hostmetricsreceiver/README.md#host-metrics-receiver">Hostmetrics Receiver</a> to generate host metrics in the OTel schema. We've developed the <a href="https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticinframetricsprocessor#elastic-infra-metrics-processor">ElasticInfraMetricsProcessor</a>, which utilizes the <a href="https://github.com/elastic/opentelemetry-lib/tree/main?tab=readme-ov-file#opentelemetry-lib">opentelemetry-lib</a> to convert these metrics into a format that Elastic UIs understand.</p>
<p>For example, the <code>system.network.io</code> OTel metric includes a <code>direction</code> attribute  with values <code>receive</code> or <code>transmit</code>. These correspond to <code>system.network.in.bytes</code> and <code>system.network.out.bytes</code>, respectively, within Elastic.</p>
<p>The <a href="https://github.com/elastic/opentelemetry-collector-components/tree/main/processor/elasticinframetricsprocessor#elastic-infra-metrics-processor">processor</a> then forwards these metrics to the <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/exporter/elasticsearchexporter#elasticsearch-exporter">Elasticsearch Exporter</a>, now enhanced to support exporting metrics in ECS mode. The exporter sends the metrics to an Elasticsearch endpoint, lighting up the Infrastructure UIs with insightful data.</p>
<p>To utilize this path, you can deploy the collector from the Elastic Collector Distro, available <a href="https://github.com/elastic/elastic-agent/blob/main/internal/pkg/otel/README.md">here</a>.</p>
<p>An example collector config for this Ingest Path:</p>
<pre><code class="language-yaml">receivers:
  hostmetrics:
    collection_interval: 10s
    scrapers:
      cpu:
        metrics:
          system.cpu.utilization:
            enabled: true
          system.cpu.logical.count:
            enabled: true
      memory:
        metrics:
          system.memory.utilization:
            enabled: true
      process:
        metrics:
          process.open_file_descriptors:
            enabled: true
          process.memory.utilization:
            enabled: true
          process.disk.operations:
            enabled: true
      network:
      processes:
      load:
      disk:
      filesystem:

processors:
  resourcedetection/system:
    detectors: [&quot;system&quot;, &quot;ec2&quot;]
  elasticinframetrics:

exporters:  
  logging:
    verbosity: detailed
  elasticsearch/metrics: 
    endpoints: &lt;elasticsearch_endpoint&gt;
    api_key: &lt;api_key&gt;
    mapping:
      mode: ecs

service:
  pipelines:
    metrics/host:
      receivers: [hostmetrics]
      processors: [resourcedetection/system, elasticinframetrics]
      exporters: [logging, elasticsearch/ metrics]

</code></pre>
<p>The Elastic exporter path is ideal for users who would prefer using the custom Elastic Collector <a href="https://github.com/elastic/elastic-agent/blob/main/internal/pkg/otel/README.md">Distro</a>. This path includes the ElasticInfraMetricsProcessor, which sends data to Elasticsearch via Elasticsearch exporter.</p>
<h3>OTLP Exporter Ingest Path:</h3>
<p>In the OTLP Exporter Ingest path, the <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/main/receiver/hostmetricsreceiver/README.md#host-metrics-receiver">hostmetrics receiver</a> collects system-level metrics such as CPU, memory, and disk usage from the host machine in OTel Schema. These metrics are sent to the <a href="https://github.com/open-telemetry/opentelemetry-collector/tree/main/exporter/otlpexporter#otlp-grpc-exporter">OTLP Exporter</a>, which forwards them to the <a href="https://www.elastic.co/guide/en/observability/current/apm-open-telemetry-direct.html#apm-connect-open-telemetry-collector">APM Server endpoint</a>. The APM Server, using the same <a href="https://github.com/elastic/opentelemetry-lib/tree/main?tab=readme-ov-file#opentelemetry-lib">opentelemetry-lib</a>, converts these metrics into a format compatible with Elastic UIs. Subsequently, the APM Server pushes the metrics to Elasticsearch, powering the Infrastructure UIs.</p>
<p>An example collector configuration for the APM Ingest Path</p>
<pre><code class="language-yaml">receivers:
  hostmetrics:
    collection_interval: 10s
    scrapers:
      cpu:
        metrics:
          system.cpu.utilization:
            enabled: true
          system.cpu.logical.count:
            enabled: true
      memory:
        metrics:
          system.memory.utilization:
            enabled: true
      process:
        metrics:
          process.open_file_descriptors:
            enabled: true
          process.memory.utilization:
            enabled: true
          process.disk.operations:
            enabled: true
      network:
      processes:
      load:
      disk:
      filesystem:

processors:
  resourcedetection/system:
    detectors: [&quot;system&quot;]
    system:
      hostname_sources: [&quot;os&quot;]

exporters:
  otlphttp:
    endpoint: &lt;mis_endpoint&gt;
    tls:
      insecure: false
    headers:
      Authorization: &lt;api_key_&gt;
  logging:
    verbosity: detailed

service:
  pipelines:
    metrics/host:
      receivers: [hostmetrics]
      processors: [resourcedetection/system]
      exporters: [logging, otlphttp]


</code></pre>
<p>The OTLP Exporter Ingest path can help existing users who are already using Elastic APM and want to see the Infrastructure UIs populated as well. These users can use the default <a href="https://github.com/open-telemetry/opentelemetry-collector-contrib?tab=readme-ov-file#opentelemetry-collector-contrib">OpenTelemetry Collector</a>.</p>
<h2>A glimpse of the Infrastructure UIs</h2>
<p>The Infrastructure UIs showcase both Host and Kubernetes level views. Below are some of the glimpses of the UIs</p>
<p>The Hosts Overview UI</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/infrastructure-monitoring-with-opentelemetry-in-elastic-observability/HostUI.png" alt="HostUI" /></p>
<p>The Hosts Inventory UI
<img src="https://www.elastic.co/observability-labs/assets/images/infrastructure-monitoring-with-opentelemetry-in-elastic-observability/Inventory.png" alt="InventoryUI" /></p>
<p>The Process-related Details of the Host</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/infrastructure-monitoring-with-opentelemetry-in-elastic-observability/Processes.png" alt="Processes" /></p>
<p>The Kubernetes Inventory UI</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/infrastructure-monitoring-with-opentelemetry-in-elastic-observability/K8s.png" alt="K8s" /></p>
<p>Pod level Metrics</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/infrastructure-monitoring-with-opentelemetry-in-elastic-observability/Pod_Metrics.png" alt="Pod Metrics" /></p>
<p>Our next step is to create Infrastructure UIs powered by native OTel data, with dedicated OTel dashboards that run on this native data.</p>
<h2>Conclusion</h2>
<p>Elastic's integration with OpenTelemetry simplifies the observability landscape and while we are diligently working to align ECS with OpenTelemetry’s semantic conventions, our immediate priority is to support our users by simplifying their experience. With this added support, we aim to deliver a seamless, end-to-end experience for those using OpenTelemetry with our application and infrastructure monitoring solutions. We are excited to see how our users will leverage these capabilities to gain deeper insights into their systems.</p>
]]></content:encoded>
            <category>observability-labs</category>
            <enclosure url="https://www.elastic.co/observability-labs/assets/images/infrastructure-monitoring-with-opentelemetry-in-elastic-observability/Monitoring-infra-with-Otel.png" length="0" type="image/png"/>
        </item>
        <item>
            <title><![CDATA[Troubleshooting your Agents and Amazon Bedrock AgentCore with Elastic Observability]]></title>
            <link>https://www.elastic.co/observability-labs/blog/llm-agentic-ai-observability-amazon-bedrock-agentcore</link>
            <guid isPermaLink="false">llm-agentic-ai-observability-amazon-bedrock-agentcore</guid>
            <pubDate>Mon, 01 Dec 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Discover how to achieve end-to-end observability for Amazon Bedrock AgentCore: from tracking service health and token costs to debugging complex reasoning loops with distributed tracing.]]></description>
            <content:encoded><![CDATA[<h2>Troubleshooting your Agents and Amazon Bedrock AgentCore with Elastic Observability</h2>
<h3>Introduction</h3>
<p>We're excited to introduce Elastic Observability’s Amazon Bedrock AgentCore integration, which allows users to observe <a href="https://aws.amazon.com/bedrock/agentcore/">Amazon Bedrock AgentCore</a> and the agents' LLM interactions end-to-end. Agentic AI represents a fundamental shift in how we build applications. </p>
<p>Unlike standard LLM chatbots that simply generate text, agents can reason, plan, and execute multi-step workflows to complete complex tasks autonomously. Many times these agents are running on a platform such as Amazon Bedrock AgentCore, which helps developers build, deploy and scale agents. Amazon Bedrock AgentCore is Amazon Bedrock's platform providing the secure, scalable, and modular infrastructure services (like agent runtime, memory, and identity) necessary for developers to deploy and operate highly capable AI agents built with any framework or model.</p>
<p>Using a platform, such as Amazon Bedrock Agentcore, is easy, but troubleshooting an agent is far more complex than debugging a standard microservice. Key challenges include:</p>
<ul>
<li>
<p><strong>Non-Deterministic Behavior:</strong> Agents may choose different tools or reasoning paths for the same prompt, making it difficult to reproduce bugs.</p>
</li>
<li>
<p><strong>&quot;Black Box&quot; Execution:</strong> When an agent fails or provides a hallucinated answer, it is often unclear if the issue lies in the LLM's reasoning, the context provided, or a failed tool execution.</p>
</li>
<li>
<p><strong>Cost &amp; Latency Blind Spots:</strong> A single user query can trigger recursive loops or expensive multi-step tool calls, leading to unexpected spikes in token usage and latency.</p>
</li>
</ul>
<p>To effectively observe these systems, you need to correlate signals from two distinct layers:</p>
<ol>
<li>
<p><strong>The Platform Layer (Amazon Bedrock AgentCore):</strong> You need to understand the overall health of the managed service. This includes high-level metrics like invocation counts, latency, throttling, and platform-level errors that affect all agents running in AgentCore.</p>
</li>
<li>
<p><strong>The Application Layer (Your Agentic Logic):</strong> You want to understand the granular &quot;why&quot; behind the behavior. This includes distributed traces, usually with OpenTelemetry, that visualize the full request lifecycle (e.g. waterfall view), identifying exactly which step in the reasoning chain failed or took too long.</p>
</li>
</ol>
<p><strong>Agentic AI Observability in Elastic</strong> provides a unified, end-to-end view of your agentic deployment by combining platform-level insights from Amazon Bedrock AgentCore, through the new <a href="https://www.elastic.co/docs/reference/integrations/aws_bedrock_agentcore">Amazon Bedrock AgentCore integration</a>, with deep application-level visibility from OpenTelemetry (OTel) traces, logs and metrics form the agent. This unified view in Elastic allows you to observe, troubleshoot, and optimize your agentic applications from end to end without switching tools. Additionally, Elastic provides Agent Builder which allows you to create agents to analyze any of the data from Amazon Bedrock AgentCore and the agents running on it.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/llm-agentic-ai-observability-amazon-bedrock-agentcore/amazon-bedrock-agentcore-dashboard-runtime-gateway-traces.jpg" alt="Amazon Bedrock AgentCore Dashboards for Runtime and Gateway and APM Tracing" /></p>
<h2>Agentic AI Observability in Elastic</h2>
<p>As mentioned above there are two main parts to end-to-end Agentic AI Observability in Elastic.</p>
<ul>
<li>
<p><strong>Amazon Bedrock AgentCore Platform Observability -</strong> using platform logs and metrics,  Elastic provides comprehensive visibility into the high-level health of the AgentCore service by ingesting AWS vended logs and metrics across four critical components:</p>
<ul>
<li>
<p><strong>Runtime:</strong> Monitor core performance indicators such as agent errors, overall latency, throttle counts, and invocation rates, for each endpoint. </p>
</li>
<li>
<p><strong>Gateway:</strong> specific insights into gateway and tool call performance, including invocations, error rates, and latency.</p>
</li>
<li>
<p><strong>Memory:</strong> Track short-term and long-term memory operations, including event creation, retrieval, and listing, alongside performance analysis, errors, and latency metrics.</p>
</li>
<li>
<p><strong>Identity:</strong> Audit security and access health with logs on successful and failed access attempts.</p>
</li>
</ul>
</li>
</ul>
<ul>
<li><strong>Agent Observability with APM, logs and metrics -</strong> To understand <em>how</em> your agent is behaving, Elastic ingests OTel-native traces, metrics and logs from your application running within AgentCore. This allows you to visualize the full execution path, including LLM reasoning steps and tool calls, in a detailed waterfall diagram. </li>
</ul>
<ul>
<li><strong>Agentic AI Analysis</strong> - All of the data from Amazon Bedrock AgentCore and the agent running on it, can be analyzed with <strong>Elastic’s AI driven capabilities</strong>. These include:</li>
</ul>
<ul>
<li>
<p><strong>Elastic AgentCore SRE Agent built on Elastic Agent Builder</strong> - We don't just monitor agents; we provide you with one to assist your team. The <strong>AgentCore SRE Agent</strong> is a specialized assistant built using <strong>Elastic Agent Builder</strong>. It possesses specialized knowledge of AgentCore applications observed in Elastic.</p>
<ul>
<li>
<p><strong>How it helps:</strong> You can ask specific questions regarding your AgentCore environment, such as how to interpret a complex error log or why a specific trace shows latency.</p>
</li>
<li>
<p><strong>Get the Agent:</strong> You can deploy this agent yourself from our <a href="https://github.com/elastic/observability-examples/tree/main/aws/amazon-bedrock-agentcore/elastic_agentcore_sre_agent">GitHub repository</a>.</p>
</li>
</ul>
</li>
<li>
<p><strong>Elastic Observability AI Assistant</strong> - Use natural language anywhere in Elastic’s UI to help you pinpoint issues, analyze something specific, or just learn what the problem is through LLM knowledge base. Additionally, SREs can interpret log messages, errors, metrics patterns, optimize code, write reports, and even identify and execute a runbook, or find a related github issue.</p>
</li>
<li>
<p><strong>Streams -</strong> AI-Driven Log Analysis - When you send AgentCore logs from your instrumented application into Elastic, you can parse and analyze them. Additionally, Streams finds <strong>Significant Events</strong> within your log stream allowing you to focus immediately on what matters most.</p>
</li>
<li>
<p><strong>Dashboards and ES|QL</strong> Data is only useful if you can act on it. Elastic provides out-of-the-box (OOTB) assets to accelerate your mean time to resolution (MTTR). And Elastic provides ES|QL to help you perform ad-hoc analysis on any signal</p>
<ul>
<li>
<p><strong>OOTB Dashboards:</strong> Pre-built visualizations based on AgentCore service signals. These dashboards provide an immediate, high-level overview of the usage, health, and performance of your AgentCore runtime, gateway, memory, and identity components.</p>
</li>
<li>
<p><strong>OOTB Alert Templates:</strong> Pre-configured alerts for common agentic issues (e.g., high error rates, latency spikes, or unusual token consumption), allowing you to move from reactive to proactive troubleshooting immediately.</p>
</li>
</ul>
</li>
</ul>
<h2>Onboarding Amazon Bedrock AgentCore signals into Elastic</h2>
<h3> Amazon Bedrock AgentCore Integration</h3>
<p>To get started with platform-level visibility, you need to enable the <strong>Amazon Bedrock AgentCore</strong> integration in Elastic. This integration automatically collects metrics and logs from your AgentCore runtime, gateway, memory, and identity components via Amazon CloudWatch.</p>
<p><strong>Setup Steps:</strong></p>
<ol>
<li>
<p><strong>Prepare AWS Environment:</strong> Ensure your AgentCore agents are deployed and running and that you have enabled logging on your AgentCore resources in the AWS console.</p>
</li>
<li>
<p><strong>Add the Integration:</strong></p>
<ul>
<li>
<p>In Elastic (Kibana), navigate to <strong>Integrations</strong>.</p>
</li>
<li>
<p>Search for <strong>&quot;Amazon Bedrock AgentCore&quot;</strong>. Select <strong>Add Amazon Bedrock AgentCore</strong>.</p>
</li>
</ul>
</li>
<li>
<p><strong>Configure &amp; Deploy:</strong></p>
<p>Configure Elastic's Amazon Bedrock AgentCore integration to collect CloudWatch metrics from your chosen AWS region at the specified collection interval. Logs will be added soon after the publication of this blog.</p>
</li>
</ol>
<h3>Onboard the Agent with OTel Instrumentation</h3>
<p>The next step is observing the application logic itself. The beauty of Amazon Bedrock AgentCore is that the application runtime often comes pre-instrumented. You simply need to tell it where to send the telemetry data.</p>
<p>For this example, we will use the <a href="https://github.com/elastic/observability-examples/tree/main/aws/amazon-bedrock-agentcore/travel_assistant"><strong>Travel Assistant</strong></a> from the Elastic Observability examples.</p>
<p>To instrument this agent, you do not need to modify the source code. Instead, when you invoke the agent using the <code>agentcore</code> CLI, you simply pass your Elastic connection details as environment variables. This redirects the OTel signals (traces, metrics, and logs) directly to the Elastic EDOT collector.</p>
<p><strong>Example Invoke Command:</strong> Run the following command to launch the agent and start streaming telemetry to Elastic:</p>
<pre><code class="language-bash">    agentcore launch \
    --env BEDROCK_MODEL_ID=&quot;us.anthropic.claude-3-5-sonnet-20240620-v1:0&quot; \
    --env OTEL_EXPORTER_OTLP_ENDPOINT=&quot;https://&lt;REPLACE_WITH_ELASTIC_ENDPOINT&gt;.region.cloud.elastic.co:443&quot; \
    --env OTEL_EXPORTER_OTLP_HEADERS=&quot;Authorization=ApiKey &lt;REPLACE_WITH_YOUR_API_KEY&gt;&quot; \
    --env OTEL_EXPORTER_OTLP_PROTOCOL=&quot;http/protobuf&quot; \
    --env OTEL_METRICS_EXPORTER=&quot;otlp&quot; \
    --env OTEL_TRACES_EXPORTER=&quot;otlp&quot; \
    --env OTEL_LOGS_EXPORTER=&quot;otlp&quot; \
    --env OTEL_RESOURCE_ATTRIBUTES=&quot;service.name=travel_assistant,service.version=1.0.0&quot; \
    --env AGENT_OBSERVABILITY_ENABLED=&quot;true&quot; \
    --env DISABLE_ADOT_OBSERVABILITY=&quot;true&quot; \
    --env TAVILY_API_KEY=&quot;&lt;REPLACE_WITH_YOUR_TAVILY_KEY&gt;&quot;
</code></pre>
<p><strong>Key Configuration Parameters:</strong></p>
<ul>
<li>
<p><code>OTEL_EXPORTER_OTLP_ENDPOINT</code>: Your Elastic OTLP endpoint (ensure port 443 is specified).</p>
</li>
<li>
<p><code>OTEL_EXPORTER_OTLP_HEADERS</code>: The Authorization header containing your Elastic API Key.</p>
</li>
<li>
<p><code>DISABLE_ADOT_OBSERVABILITY=true</code>: This ensures the native AgentCore signals are routed exclusively to your defined endpoint (Elastic) rather than default AWS paths.</p>
</li>
</ul>
<h2>Analyzing Agentic Data in Elastic Observability</h2>
<p>As we walk through the analysis features below, we will use the Travel Assistant agent which we instrumented earlier as well as any other apps you may be running on AgentCore. For the purposes of this example, as a second agent, we will use <a href="https://github.com/awslabs/amazon-bedrock-agentcore-samples/tree/main/02-use-cases/customer-support-assistant"><strong>Customer Support Assistant</strong></a> from the AWS Labs AgentCore samples </p>
<h3>Out-of-the-Box (OOTB) Dashboards</h3>
<p>Elastic populates a set of comprehensive dashboards based on Amazon Bedrock AgentCore service logs and metrics. These appear as a unified view with tabs, providing a &quot;single pane of glass&quot; into the operational health of your platform.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/llm-agentic-ai-observability-amazon-bedrock-agentcore/amazon-bedrock-agentcore-integration-dashboards-runtime-gateway-memory-identity.gif" alt="Amazon Bedrock AgentCore out-of-the-box Dashboards for Runtime, Gateway, Memory and Identity" /></p>
<p>This view is divided into four key zones, each addressing specific components of AgentCore - Runtime, Gateway, Memory, Identity. Note that note all agentic applications use all 4 components. In our example only the Customer Assistant uses all four components, whereas the Travel agent uses only Runtime. </p>
<p><strong>Runtime Health</strong></p>
<hr />
<p>Visualize agent invocations, session metrics, error trends (system vs. user), and performance stats like latency and throttling, split per endpoint. This dashboard helps you answer questions like</p>
<ul>
<li>&quot;How are my Travel Assistant agent and Customer Support agent performing in terms of overall traffic and latency, and are there any spikes in errors or throttling?&quot;</li>
</ul>
<p><img src="https://www.elastic.co/observability-labs/assets/images/llm-agentic-ai-observability-amazon-bedrock-agentcore/amazon-bedrock-agentcore-runtime-dashboard.jpg" alt="Amazon Bedrock AgentCore out-of-the-box Dashboard for AgentCore Runtime" /></p>
<p><strong>Gateway Performance</strong></p>
<hr />
<p>Analyze invocations across Lambda and MCP (Model Context Protocol), with detailed breakdowns for tool vs. non-tool calls. The dashboard highlights throttling detection, target execution times, and separates system errors from user errors.</p>
<ul>
<li><em>Question answered:</em> &quot;Are my external integrations (Lambda, MCP) performing efficiently, or are specific tool calls experiencing high latency, throttling, or system-level errors?&quot;</li>
</ul>
<p><strong>Memory Operations</strong></p>
<hr />
<p>Track core operations like event creation, retrieval, and listing, alongside deep dives into long-term memory processing. This includes extraction and consolidation metrics broken down by strategy type, as well as specific monitoring for throttling and system vs. user errors.</p>
<ul>
<li><em>Question answered:</em> &quot;Are failures in memory consolidation strategies or high retrieval latency preventing the agent from effectively recalling user context?&quot;</li>
</ul>
<p><strong>Identity &amp; Access</strong></p>
<hr />
<p>Monitor identity token fetch operations (workload, OAuth, API keys) and real-time authentication success/failure rates. The dashboard breaks down activity by provider and highlights throttling or capacity bottlenecks.</p>
<ul>
<li><em>Question answered:</em> &quot;Are authentication failures or token fetch bottlenecks from specific providers preventing agents from accessing required resources?&quot;</li>
</ul>
<h3>Out-of-the-Box (OOTB) Alert Templates</h3>
<p>Observability isn't just about looking at dashboards; it's about knowing when to act. To move from reactive checking to proactive monitoring, Elastic provides <strong>OOTB Alert Rule Templates</strong> (starting with Elastic version 9.2.1).</p>
<p>These templates eliminate guesswork by pre-selecting the optimal metrics to monitor and applying sensible thresholds. This configuration focuses on high-fidelity alerts for genuine anomalies, helping you catch critical issues early while minimizing alert fatigue.</p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/llm-agentic-ai-observability-amazon-bedrock-agentcore/elastic-alert-rule-templates-for-amazon-bedrock-agentcore.jpg" alt="Amazon Bedrock AgentCore out-of-the-box Alert rule templates for AgentCore" /></p>
<p><strong>Suggested OOTB Alerts:</strong></p>
<ul>
<li>
<p><strong>Agent Runtime System Errors:</strong> Detects server-side errors (500 Internal Server Error) during agent runtime invocations, indicating infrastructure or service issues with AWS Bedrock AgentCore.</p>
</li>
<li>
<p><strong>Agent Runtime User Errors:</strong> Flags client-side errors (4xx) during agent runtime invocations, including validation failures (400), resource not found (404), access denied (403), and resource conflicts (409). This helps catch misconfigured permissions, invalid input, or missing resources early.</p>
</li>
<li>
<p><strong>Agent Runtime High Latency:</strong> Triggers when the average latency for agent runtime invocations exceeds 10 seconds (10,000ms). Latency measures the time elapsed between receiving a request and sending the final response token.</p>
</li>
</ul>
<h3> APM Tracing</h3>
<p>While logs and metrics tell you <em>that</em> an issue exists, <strong>APM Tracing</strong> tells you exactly <em>where</em> and <em>why</em> it is happening. By ingesting the OpenTelemetry signals from your instrumented agent, Elastic generates a detailed distributed trace (e.g. waterfall view) for every interaction. To get further details on LLM information such as prompts, responses, token usage, etc, you can explore the APM logs.  </p>
<p><img src="https://www.elastic.co/observability-labs/assets/images/llm-agentic-ai-observability-amazon-bedrock-agentcore/otel-native-strands-agent-traces-in-elastic-apm.jpg" alt="Amazon Bedrock AgentCore OTel-nativedistributed tracing waterfall diagram in Elastic APM" /></p>
<p>This allows you to peer inside the &quot;black box&quot; of the agent's execution flow:</p>
<ul>
<li>
<p><strong>Visualize the Chain of Thought:</strong> See the full sequence of events, from the user's initial prompt to the final response, including all intermediate reasoning steps.</p>
</li>
<li>
<p><strong>Pinpoint Tool Failures:</strong> Identify exactly which external tool (e.g., a Lambda function for flight booking or a knowledge base query) failed or timed out.</p>
</li>
<li>
<p><strong>Analyze Latency Contributors:</strong> Distinguish between latency caused by the LLM's generation time versus latency caused by slow downstream API calls.</p>
</li>
<li>
<p><strong>Debug with Context:</strong> Drill down into individual spans to see specific error messages, attributes, and metadata that explain why a particular step failed.</p>
</li>
</ul>
<h3>Conclusion</h3>
<p>As organizations move from experimental chatbots to complex, autonomous agents in production, the need for robust observability has never been greater. Agentic applications introduce new layers of complexity—non-deterministic behaviors, multi-step reasoning loops, and cost implications—that standard monitoring tools simply cannot see.</p>
<p>Elastic Agentic AI Observability for Amazon Bedrock AgentCore bridges this gap. By unifying platform-level health metrics from AgentCore with deep, transaction-level distributed tracing from OpenTelemetry, Elastic gives SREs and developers the complete picture. Whether you are debugging a failed tool call, optimizing latency, or controlling token costs, you have the visibility needed to run agentic AI with confidence.</p>
<p><strong>Complete Visibility: AgentCore + Amazon Bedrock:</strong> For the most comprehensive view, we recommend onboarding Elastic’s <a href="https://www.elastic.co/docs/reference/integrations/aws_bedrock"><strong>Amazon Bedrock</strong> integration</a> alongside AgentCore. While the AgentCore integration focuses on the orchestration layer—monitoring agent errors, tool latency, and invocations—the Bedrock integration provides deep visibility into the underlying foundation models themselves. This includes tracking model-specific latency, token usage, full prompts and responses, and even <strong>Guardrails</strong> usage and effectiveness. By combining both, you ensure complete coverage from the high-level agent workflow down to the raw model inference.</p>
<ul>
<li>
<p><strong>Read more:</strong><a href="https://www.elastic.co/observability-labs/blog/llm-observability-aws-bedrock"> Monitor Amazon Bedrock with Elastic</a></p>
</li>
<li>
<p><strong>Read more:</strong><a href="https://www.elastic.co/observability-labs/blog/llm-observability-amazon-bedrock-guardrails"> Amazon Bedrock Guardrails Observability</a></p>
</li>
</ul>
<p><strong>Get Started Today</strong> Ready to see your agents in action?</p>
<ul>
<li>
<p><strong>Try it out:</strong> Log in to <a href="https://cloud.elastic.co/login">Elastic Cloud</a> and add the Amazon Bedrock AgentCore integration. Or use <a href="https://aws.amazon.com/marketplace/seller-profile?id=d8f59038-c24c-4a9d-a66d-6711d35d7305">Elastic from Amazon Marketplace</a></p>
</li>
<li>
<p><strong>Explore the Code:</strong> Check out our GitHub repository for the <a href="https://github.com/elastic/observability-examples/tree/main/aws/amazon-bedrock-agentcore/travel_assistant">Travel assistant</a> which you saw in this blog, as well as the <a href="https://github.com/elastic/observability-examples/tree/main/aws/amazon-bedrock-agentcore/elastic_agentcore_sre_agent">AgentCore SRE Agent</a>.</p>
</li>
<li>
<p><strong>Learn More:</strong> Read the <a href="https://www.elastic.co/docs/reference/integrations/aws_bedrock_agentcore">full documentation</a> on setting up integration for Agentic AI Observability for Amazon Bedrock AgentCore.</p>
</li>
</ul>
]]></content:encoded>
            <category>observability-labs</category>
            <enclosure url="https://www.elastic.co/observability-labs/assets/images/llm-agentic-ai-observability-amazon-bedrock-agentcore/agentcore-blog.jpg" length="0" type="image/jpg"/>
        </item>
        <item>
            <title><![CDATA[Supercharge Your vSphere Monitoring with Enhanced vSphere Integration]]></title>
            <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>
            <pubDate>Wed, 11 Dec 2024 00:00:00 GMT</pubDate>
            <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>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://www.elastic.co/observability-labs/assets/images/supercharge-your-vsphere-monitoring-with-enhanced-vsphere-integration/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://www.elastic.co/observability-labs/assets/images/supercharge-your-vsphere-monitoring-with-enhanced-vsphere-integration/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://www.elastic.co/observability-labs/assets/images/supercharge-your-vsphere-monitoring-with-enhanced-vsphere-integration/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>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>Example Alarm</h4>
<pre><code class="language-yaml">&quot;triggered_alarms&quot;: [
  {
    &quot;description&quot;: &quot;Default alarm to monitor host memory usage&quot;,
    &quot;entity_name&quot;: &quot;host_us&quot;,
    &quot;id&quot;: &quot;alarm-4.host-12&quot;,
    &quot;name&quot;: &quot;Host memory usage&quot;,
    &quot;status&quot;: &quot;red&quot;,
    &quot;triggered_time&quot;: &quot;2024-08-28T10:31:26.621Z&quot;
  }
]
</code></pre>
<p>This example highlights a triggered alarm for monitoring host memory usage, indicating a critical status (red) for the host &quot;host_us.&quot; Such alarms empower teams to act swiftly and maintain the stability of their vSphere environment.</p>
<h2>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>
            <category>observability-labs</category>
            <enclosure url="https://www.elastic.co/observability-labs/assets/images/supercharge-your-vsphere-monitoring-with-enhanced-vsphere-integration/title.jpeg" length="0" type="image/jpeg"/>
        </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>
            <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>
            <pubDate>Thu, 08 May 2025 00:00:00 GMT</pubDate>
            <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>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>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>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://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/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>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://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/aws-bedrock-overview.png" alt="Bedrock Overview" /></p>
<p>Amazon Bedrock Gaurdrails OOTB dashboard
<img src="https://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/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>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://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/azure-openai-overview.png" alt="Azureopenai Overview" /></p>
<p>The Azure OpenAI content filtering OOTB dashboard
<img src="https://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/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>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://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/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>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://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/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://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/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>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>
            <category>observability-labs</category>
            <enclosure url="https://www.elastic.co/observability-labs/assets/images/transforming-industries-and-the-critical-role-of-llm-observability/llmobs2.png" length="0" type="image/png"/>
        </item>
    </channel>
</rss>