Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pulling refs/heads/main into main #1640

Merged
merged 24 commits into from
Jan 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
ebdc191
Draft
aurbiztondo-splunk Jan 2, 2025
729ccce
Fixes
aurbiztondo-splunk Jan 2, 2025
790b2fc
Edits
aurbiztondo-splunk Jan 3, 2025
f7405de
remove sensu doc link
bhillmer Jan 3, 2025
b437968
Merge pull request #2530 from splunk/bhillmer-fix-external-links
bhillmer Jan 3, 2025
6710402
Updated and de-duplicated the wording for some key concepts
Jan 4, 2025
cf99748
Reorder some paragraphs
Jan 4, 2025
ba906bf
Fix underline syntax
Jan 4, 2025
f6479d5
Fix typo
Jan 6, 2025
b357e8b
Updates based on reviewer feedback
Jan 6, 2025
a82e8a6
Merge pull request #2531 from splunk/adasplunk-O11YDOCS-6832
adasplunk Jan 6, 2025
13f891f
Updated wording to match the wording agreed on for PR 2531
Jan 6, 2025
ed56aa5
Additional clarifications
Jan 6, 2025
5edfe07
Additional clarifications
Jan 7, 2025
8de3a97
Update synthetics/test-config/private-locations.rst
adasplunk Jan 7, 2025
9090759
Merge pull request #2532 from splunk/adasplunk-O11YDOCS-6843
adasplunk Jan 7, 2025
b0390b6
Update gdi/opentelemetry/otel-other/other-ingestion-collectd.rst
aurbiztondo-splunk Jan 7, 2025
2912e4b
Update gdi/opentelemetry/otel-other/other-ingestion-collectd.rst
aurbiztondo-splunk Jan 7, 2025
a5e5f75
Update gdi/opentelemetry/otel-other/other-ingestion-collectd.rst
aurbiztondo-splunk Jan 7, 2025
184599e
Added missing examples
aurbiztondo-splunk Jan 7, 2025
690743f
Edits
aurbiztondo-splunk Jan 7, 2025
14175cc
Merge pull request #2526 from splunk/urbiz-OD6674-collectd
aurbiztondo-splunk Jan 7, 2025
aeb7b4d
Replace uppercase env variable names with lowercase
Jan 7, 2025
8ed6a48
Merge pull request #2534 from splunk/adasplunk-O11YDOCS-6653
adasplunk Jan 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion gdi/opentelemetry/otel-other/otel-other-landing.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,10 @@ Other OpenTelemetry ingestion methods

prometheus-generic
telegraf
other-ingestion-collectd

On top of the available native :ref:`OpenTelemetry receivers <otel-components-receivers>`, you can also send data to Splunk Observability Cloud with OpenTelemetry with the following options:

* :ref:`prometheus-generic`
* :ref:`telegraf-generic`
* :ref:`telegraf-generic`
* :ref:`other-ingestion-collectd`
171 changes: 171 additions & 0 deletions gdi/opentelemetry/otel-other/other-ingestion-collectd.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,171 @@
.. _other-ingestion-collectd:

Monitor hosts with collectd and OpenTelemetry
=====================================================================

.. meta::
:description: Use collectd and native OpenTelemetry to monitor services in Splunk Observability Cloud. See benefits, install, configuration, and metrics.

To monitor your infrastructure with collectd using native OpenTelemetry in Splunk Observability Cloud, install a collectd daemon in your host and connect it to your Collector instance as described in this document.

Benefits
--------

.. raw:: html

<div class="include-start" id="benefits.rst"></div>

.. include:: /_includes/benefits.rst

.. raw:: html

<div class="include-stop" id="benefits.rst"></div>


Configuration
----------------------------------

Install a collectd daemon in your host and connect it to an OpenTelemetry Collector with the following steps:

1. Install and configure collectd
2. Configure the OpenTelemetry Collector
3. Build and run

1. Install and configure collectd
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Follow these steps to install and configure the collectd daemon:

#. Install collectd as a Debian or Yum package in your host
#. Configure the daemon to ingest free disk related metrics through `collectd/metrics.conf`
#. Configure the daemon to send data over HTTP using `collectd/http.conf`

In this example, the host is represented by an Ubuntu 24.04 docker image.

.. code::

services:
collectd:
build: collectd
container_name: collectd
depends_on:
- otelcollector
volumes:
- ./collectd/http.conf:/etc/collectd/collectd.conf.d/http.conf
- ./collectd/metrics.conf:/etc/collectd/collectd.conf.d/metrics.conf

# OpenTelemetry Collector
otelcollector:
image: quay.io/signalfx/splunk-otel-collector:latest
container_name: otelcollector
command: ["--config=/etc/otel-collector-config.yml", "--set=service.telemetry.logs.level=debug"]
volumes:
- ./otel-collector-config.yml:/etc/otel-collector-config.yml

The http and metrics configuration files look like this:

.. code:: yaml

# http.conf
# The minimal configuration required to have collectd send data to an OpenTelemetry Collector
# with a collectdreceiver deployed on port 8081.

LoadPlugin write_http
<Plugin "write_http">
<Node "collector">
URL "http://otelcollector:8081"
Format JSON
VerifyPeer false
VerifyHost false
</Node>
</Plugin>

.. code:: yaml

# metrics.conf
# An example of collectd plugin configuration reporting free disk space on the host.

<LoadPlugin df>
Interval 3600
</LoadPlugin>
<Plugin df>
ValuesPercentage true
</Plugin>

1. Configure the OpenTelemetry Collector
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Set up your Collector instance to listen for traffic from the collectd daemon over HTTP with the :ref:`collectd-receiver`:

.. code:: yaml

receivers:
collectd:
endpoint: "0.0.0.0:8081"

exporters:
debug:
verbosity: detailed

service:
pipelines:
metrics:
receivers: [collectd]
exporters: [debug]

.. caution:: Make sure to use ``0.0.0.0`` to expose port 8081 over the Docker network interface so that both Docker containers can interact.

3. Build and run
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Run the example with the instruction to start the docker-compose setup and build the collectd container:

.. code:: bash

$> docker compose up --build

Check that the Collector is receiving metrics and logging them to ``stdout`` via the debug exporter:

.. code:: bash

$> docker logs otelcollector

A typical output is:

.. code::

StartTimestamp: 1970-01-01 00:00:00 +0000 UTC
Timestamp: 2024-12-20 19:55:44.006000128 +0000 UTC
Value: 38.976566
Metric #17
Descriptor:
-> Name: percent_bytes.reserved
-> Description:
-> Unit:
-> DataType: Gauge
NumberDataPoints #0
Data point attributes:
-> plugin: Str(df)
-> plugin_instance: Str(etc-hosts)
-> host: Str(ea1d62c7a229)
-> dsname: Str(value)
StartTimestamp: 1970-01-01 00:00:00 +0000 UTC
Timestamp: 2024-12-20 19:55:44.006000128 +0000 UTC
Value: 5.102245
{"kind": "exporter", "data_type": "metrics", "name": "debug"}

Troubleshooting
---------------

.. raw:: html

<div class="include-start" id="troubleshooting-components.rst"></div>

.. include:: /_includes/troubleshooting-components.rst

.. raw:: html

<div class="include-stop" id="troubleshooting-components.rst"></div>



4 changes: 2 additions & 2 deletions gdi/opentelemetry/otel-other/telegraf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Monitor services with Telegraf Input plugins and OpenTelemetry
=====================================================================

.. meta::
:description: Use this Splunk Observability Cloud integration for the Telegraf monitor. See benefits, install, configuration, and metrics.
:description: Use Telegraf and OpenTelemetry to monitor your services in Splunk Observability Cloud. See benefits, install, configuration, and metrics.

To monitor your service with Telegraf using native OpenTelemetry in Splunk Observability Cloud, install the service's Telegraf Input plugin then push metrics to the Splunk Opentelemetry Collector via OTLP.

Expand Down Expand Up @@ -39,7 +39,7 @@ Follow these steps to scrape Telegraf metrics with the OTel Collector:
3. Set up the Telegraf OpenTelemetry Output plugin
4. Configure the OpenTelemetry Collector

1. Install Telegraf
5. Install Telegraf
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Run the following commands to install Telegraf from the InfluxData repository:
Expand Down
2 changes: 1 addition & 1 deletion sp-oncall/spoc-integrations/sensu-integration.rst
Original file line number Diff line number Diff line change
Expand Up @@ -138,5 +138,5 @@ Splunk On-Call Handler
end
end

For more information, see :new-page:`Sensu documentation on Handlers <https://sensuapp.org/docs/0.29/reference/handlers.html#handler-definition-specification>`.
For more information, see search "handlers" on the Sensu documentation website.

46 changes: 24 additions & 22 deletions synthetics/key-concepts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,43 +22,45 @@ These key concepts help you get the most out of your experience with Splunk Synt
* - Synthetics
- A common abbreviation for Synthetic Monitoring.

* - Tests
- Tests are the primary mechanism of application monitoring in Splunk Synthetic Monitoring. You can set up Browser, Uptime, and API tests to run at your preferred frequency from the devices and public locations of your choosing.
* - Test
- An ordered sequence of actions or operations to perform on a target URL or endpoint, similar to a script. A test is the primary mechanism for monitoring applications in Splunk Synthetic Monitoring. You can set up browser, uptime, and API tests to run at your preferred frequency from the devices and locations of your choosing.

* - Runs
- Each occurrence of a test from a particular device and location at a specific time is called a run. Each run of a test captures a set of metrics and diagnostics that provide insight into your application's performance.
* - Run
- An instance of a test invocation from a specific device and location and at a specific time.

* - Metrics
- | Numeric indicators of site performance that synthetic tests capture in each run of a test. See the following links for the lists of metrics available for each test type:
* - Metric
- A numeric indicator of a performance factor. Each run of a test captures metrics and diagnostics that provide insight into your application's performance. See the following links for details on the metrics available captured by each test type:
|
| - :ref:`browser-metrics`
| - :ref:`uptime-metrics`
| - :ref:`api-test-metrics`
|

* - Browser tests
- Synthetic tests that simulate and analyze the user experience of loading a page or performing a workflow on a site or application.
* - Browser test
- A synthetic test that simulates and analyzes the user experience of loading a page or performing a workflow on a site or application.

* - Uptime tests
- Synthetic tests that monitor the response time and response code of HTTP requests and server ports.
* - Uptime test
- A synthetic test that monitors the response times and response codes of HTTP requests and server ports.

* - API tests
- Synthetic tests that monitor the functionality and performance of API endpoints.
* - API test
- A synthetic test that monitors the functionality and performance of API endpoints.

* - Waterfall charts
- A visualization that represents the performance of resources on a webpage in a Browser test.
* - Waterfall chart
- A visualization that represents the performance of resources on a webpage in a browser test.

* - Devices
- Options to configure the viewport and network connection type of your tests. For example, you can test a webpage from a laptop screen or a smartphone.
* - Device
- A predefined combination of a specific viewport size and network connection. For more information about devices, viewports, and network connections, see :ref:`devices`.

* - Viewport
- Browser tests in Splunk Synthetic Monitoring capture the visual experience of a user interacting with your application. The viewport is the framed area on a device's screen for viewing information, such as the browser window on a desktop. When you set up a test, you can choose the viewport size from a list of common devices, or set a custom viewport by height and width.
* - Public location
- A public IP address from which you can run synthetic tests to simulate performance for users in that location. See :ref:`public-locations`.

* - Private location
- A name you create in Splunk Synthetic Monitoring to represent a custom location from which you can run synthetic tests. The name you give to a private location allows you to specify that name in a synthetic test's :guilabel:`Locations` field. You must also set up one or more private runners within every private location to do the actual communication with your targets and with Splunk Synthetic Monitoring. You can use a private location to test an internal endpoint or to test a public endpoint from a location that isn't included in :ref:`the list of Splunk Synthetic Monitoring public locations <public-locations>`. See :ref:`private-locations`.

* - Private runner
- A private runner queries Splunk Synthetic Monitoring for tests configured to run in its inherent private location, performs the test's steps on your private target, and reports the results back to Splunk Synthetic Monitoring. Because a private runner must have access to your private target, it is a Docker image which you deploy on your own infrastructure, within your own internal network. See :ref:`private-locations`.

* - Network connection
- You can run Browser, Uptime or API tests to simulate network connections of various latencies, including Mobile LTE, Mobile 3G, DSL, and cable internet. Testing your site from a variety of connection types lets you monitor the experience of users in a variety of settings.

* - Public Locations
- Global checkpoints from which you can synthetically run tests to simulate performance for users in that location.

Learn more
===========
Expand Down
Loading
Loading