Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
16 changes: 5 additions & 11 deletions src/content/docs/docs/aws-integration/cloudwatch-logs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -19,24 +19,18 @@ Lambda logs from the connected AWS account are ingested automatically.
## Subscribe a CloudWatch Log Group

1. From the KloudMate home screen, open **Settings -> Data Sources**.
2. In the list of connected AWS accounts, click the more options (⋮) icon for the account you want to ingest CloudWatch logs from, then select **CloudWatch Logs**.

![image](./images/subscribing-to-aws-cloudwatch-logs-1.png)

3. Choose the AWS region or use search to find the log groups you want.

![image](./images/subscribing-to-aws-cloudwatch-logs-2.png)

2. In the list of connected AWS accounts, click the **Settings** icon for the account from which you want to ingest CloudWatch logs.
3. Select **CloudWatch Logs**.
4. Click **Subscribe** for each log group that you want KloudMate to ingest.

![image](./images/subscribing-to-aws-cloudwatch-logs-3.png)

4. Choose the AWS region or use search to find the required log groups.

![image](./images/subscribing-to-aws-cloudwatch-logs-4.png)

5. Click **Subscribe** for each log group that you want KloudMate to ingest.

![image](./images/subscribing-to-aws-cloudwatch-logs-5.png)

## CloudWatch Subscription Filter Limit

:::note
Expand All @@ -45,7 +39,7 @@ AWS allows only two subscription filters per log group.

If a log group already has two active subscription filters, KloudMate cannot add another one until an existing filter is removed.

![image](./images/subscribing-to-aws-cloudwatch-logs-6.png)
![image](./images/subscribing-to-aws-cloudwatch-logs-4.png)

## Remove an Existing Subscription Filter

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ Seeing time-series data confirms that MongoDB telemetry is flowing successfully.

KloudMate provides prebuilt MongoDB dashboards through [dashboard templates](https://templates.kloudmate.com/mongo-db/index.html). These dashboards visualize MongoDB server performance, operations, storage, and resource usage.

To import and start using these templates, follow the steps described in [Import from Templates](../../../visualize-data/dashboards/create-a-dashboard/).
To import and start using these templates, follow the steps described in [Importing a Dashboard](../../../visualize-data/dashboards/#importing-a-dashboard). Alternatively, use [From Template](../../../visualize-data/dashboards/create-a-dashboard/#from-template) when creating a new dashboard to pick from KloudMate's built-in templates.

## **Default MongoDB Metrics**

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@ Seeing time-series data confirms that MSSQL telemetry is flowing successfully.

KloudMate provides prebuilt MSSQL dashboards through [dashboard templates](https://templates.kloudmate.com/mssql/index.html). These dashboards visualize MSSQL database performance, query operations, connections, and resource usage.

To import and start using these templates, follow the steps described in [Import from Templates](../../../visualize-data/dashboards/create-a-dashboard/).
To import and start using these templates, follow the steps described in [Importing a Dashboard](../../../visualize-data/dashboards/#importing-a-dashboard). Alternatively, use [From Template](../../../visualize-data/dashboards/create-a-dashboard/#from-template) when creating a new dashboard to pick from KloudMate's built-in templates.

## Default Metrics

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ Seeing time-series data confirms that MySQL telemetry is flowing successfully.

KloudMate provides prebuilt MYSQL dashboards through [dashboard templates](https://templates.kloudmate.com/MySql/index.html). These dashboards visualize MYSQL database performance, query operations, connections, and resource usage.

To import and start using these templates, follow the steps described in [Import from Templates](../../../visualize-data/dashboards/create-a-dashboard/).
To import and start using these templates, follow the steps described in [Importing a Dashboard](../../../visualize-data/dashboards/#importing-a-dashboard). Alternatively, use [From Template](../../../visualize-data/dashboards/create-a-dashboard/#from-template) when creating a new dashboard to pick from KloudMate's built-in templates.

## Default Metrics

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -281,7 +281,7 @@ Seeing time-series data confirms that PostgreSQL telemetry is flowing successful

KloudMate provides prebuilt PostgreSQL dashboards through [dashboard templates](https://templates.kloudmate.com/postgress/index.html). These dashboards visualize PostgreSQL database performance, query operations, connections, and resource usage.

To import and start using these templates, follow the steps described in [Import from Templates](../../../visualize-data/dashboards/create-a-dashboard/).
To import and start using these templates, follow the steps described in [Importing a Dashboard](../../../visualize-data/dashboards/#importing-a-dashboard). Alternatively, use [From Template](../../../visualize-data/dashboards/create-a-dashboard/#from-template) when creating a new dashboard to pick from KloudMate's built-in templates.

## Default Metrics for PostgreSQL

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ After the Agent restarts:

KloudMate provides prebuilt Kafka dashboards through [dashboard templates](https://templates.kloudmate.com/kafka/index.html). These dashboards help you visualize broker availability, topic partitions, consumer lag, offsets, and replication health.

To import and start using these templates, follow the steps described in [Import from Templates](../../../visualize-data/dashboards/create-a-dashboard/).
To import and start using these templates, follow the steps described in [Importing a Dashboard](../../../visualize-data/dashboards/#importing-a-dashboard). Alternatively, use [From Template](../../../visualize-data/dashboards/create-a-dashboard/#from-template) when creating a new dashboard to pick from KloudMate's built-in templates.

## Default Kafka Metrics

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
---
title: "Kafka Prometheus ServiceMonitor Integration"
description: "Monitor a Kafka cluster on Kubernetes (for example, Bitnami) by reusing the metrics an existing Prometheus ServiceMonitor already scrapes."
sidebar:
order: 3.6
---

Use this integration when a Kafka cluster (for example, a Bitnami Helm release) runs in Kubernetes and an existing Prometheus setup already scrapes it through a `ServiceMonitor`. Instead of standing up a new scrape path, you point the KloudMate Agent's Prometheus receiver at the same metrics endpoints.

## Prerequisites

1. The [KloudMate Agent](../../../kloudmate-agent/) deployed and running in the cluster.
2. The scrape details from the `ServiceMonitor`(s) already collecting Kafka metrics.

## Step 1: Gather Details from the Existing ServiceMonitor

```
kubectl get servicemonitor -n <kafka-namespace> -o yaml
```

From the output, note:

1. `spec.selector.matchLabels` → identifies which Service it targets.
2. `spec.endpoints[].port` or `targetPort` → the metrics port (Bitnami defaults: `5556` for the JMX exporter, `9308` for kafka-exporter).
3. `spec.endpoints[].path` → usually `/metrics`.
4. `spec.endpoints[].interval` → match this in your scrape config to stay consistent with the existing setup.
5. `spec.namespaceSelector` → confirms the namespace to target.

## Step 2: Define the Prometheus Receiver

Go to **Settings → Agents**, select the Kubernetes agent, and click **Configure**.

- If the agent runs in managed mode, add the configuration below through the [custom config override](../../../kloudmate-agent/custom-config-override/) section for the deployment collector.
- If the agent runs in manual mode, add the configuration as-is.

```yaml
receivers:
prometheus:
config:
scrape_configs:
- job_name: 'kafka-jmx'
scrape_interval: 30s # match the ServiceMonitor's interval
metrics_path: /metrics
static_configs:
- targets: ['<release>-kafka-metrics.<kafka-namespace>.svc.cluster.local:5556']
labels:
cluster: '<cluster-name>'

- job_name: 'kafka-exporter'
scrape_interval: 30s
metrics_path: /metrics
static_configs:
- targets: ['<release>-kafka-exporter.<kafka-namespace>.svc.cluster.local:9308']
labels:
cluster: '<cluster-name>'
service:
pipelines:
metrics/kafka:
receivers: [prometheus]
processors: [batch]
exporters: [otlphttp]
```

Replace `<release>`, `<kafka-namespace>`, and `<cluster-name>` with your own values, and adjust the ports and interval if your `ServiceMonitor` differs from the Bitnami defaults.

## Step 3: Restart the Agent

If you edited the configuration directly instead of using a custom config override, restart whichever workload runs the agent:

```bash
kubectl rollout restart deployment <km-agent> -n <kafka-namespace>
```

or

```bash
kubectl rollout restart daemonset <km-agent> -n <kafka-namespace>
```

## Step 4: Validate in KloudMate

After the agent restarts:

- Open [Explore](../../../visualize-data/explore/) in KloudMate.
- Query one of the scraped metrics, for example:

```
kafka_server_brokertopicmetrics_messagesin_total

kafka_server_replicamanager_leadercount

kafka_consumergroup_lag
```

- Build dashboards or alerts once the data is visible.

## Standard Kafka Dashboards

To import and start using a template, follow the steps described in [Importing a Dashboard](../../../visualize-data/dashboards/#importing-a-dashboard). Alternatively, use [From Template](../../../visualize-data/dashboards/create-a-dashboard/#from-template) when creating a new dashboard to pick from KloudMate's built-in templates.

## Metrics Collected

This integration collects:

- Kafka broker metrics
- Kafka topic metrics
- Kafka consumer group metrics
- Kafka Exporter metrics
- JVM metrics
- Broker health metrics
- Replication metrics
- Network metrics
- Request metrics
- Controller metrics

## Related

- [Kafka Integration](../kafka-integration/) — connecting directly over the Kafka protocol instead of reusing an existing ServiceMonitor.
- [Kafka JMX Exporter Integration](../kafka-jmx-exporter-integration/) — the Strimzi-native equivalent of this setup.
- [Custom config override](../../../kloudmate-agent/custom-config-override/) — how to apply this configuration to a managed agent.
- [Explore](../../../visualize-data/explore/) — where to query the collected metrics.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ The Alert List Panel displays a list of configured alert rules within the select

When the panel type is set to Alerts List, the following settings are available under the **General** tab:

![Alert List panel settings](./images/alarm-list-panel-1.jpeg)
![Alert List panel settings](./images/alert-list-panel-1.jpeg)

### Panel

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,32 +9,43 @@ When the panel type is set to Bar Chart, the following settings are available un
![image](./images/bar-chart-panel-1.jpeg)

### Panel

- **Name:** Enter a name for your panel. This appears as the panel title on the dashboard.
- **Description:** Enter a description to provide additional context about what the panel displays.
- **Links:** Click **Add link** to connect the panel to related resources, such as a runbook or an external dashboard.
- **Repeat options:** Set **Repeat by variable** to render one copy of this panel for each value of the selected variable. Only the first 20 values are used, and the copies show on the dashboard, not in this editor.

![image](./images/bar-chart-panel-2.jpeg)

![image](./images/bar-chart-panel-3.jpeg)
![image](./images/bar-chart-panel-4.png)

### Display

Control how the bar chart is visually rendered.

- **Orientation:** Choose between Vertical or Horizontal bar layout.
- **Stacking:** Choose between Stacked (bars stacked on top of each other) or Grouped (bars placed side by side) to control how multiple series are displayed.

![image](./images/bar-chart-panel-2.jpeg)

### Axes

Configure how data is represented on each axis of the chart.

- **X-Axis:** Use the Date Style dropdown to choose from various date formats for the horizontal axis of the chart.
- **Y-Axis:** Use the Format dropdown to choose the unit of data displayed, such as Number, Percentage, or Duration. You can also set decimal places, multiply values by a number, and add a prefix or suffix.

### Legend

Choose between Table or List mode to control how query results are displayed. Use the Values selector to pick aggregate functions to show alongside each legend entry.

Switching **Orientation** to Horizontal renders the bars sideways, useful when category labels are long or when you have many categories to compare.

![image](./images/bar-chart-panel-3.jpeg)

### Time Range

Configure time range behavior for this panel independently from the dashboard.

- **Override Dashboard Time Range:** Individual panels can use their own time range configuration. Enable this to override the time range set at the dashboard level.
- **Time Shift:** Shift the panel’s start and end time by a specified time shift expression. Use the minus (`-`) operator to subtract time, with the same units supported by the dashboard time range expressions.
- **Time Shift:** Shift the panel's start and end time by a specified time shift expression. Use the minus (`-`) operator to subtract time, with the same units supported by the dashboard time range expressions.

Refer to [Time Range Expressions and Settings](../time-range-expressions-and-settings/) for supported units and syntax.
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: "Histogram Panel"
description: "Learn how to configure and use this visualization feature in KloudMate."
---
The Histogram Panel displays the distribution of numerical data over a selected time range. It groups values into buckets and counts how many values fall into each one. Each bar represents a bucket, the height reflects the count of values within that range, and the x-axis represents the bucket ranges themselves.
The Histogram Panel shows how numerical data is distributed over the selected time range. It groups values into buckets and counts how many fall into each one — each bar is a bucket, its height is the count, and the x-axis is the bucket range.

The Histogram Panel is useful for understanding how your data is spread across a range of values. You can use it to visualize request durations, error rates, latency distributions, or any other numerical signal. By switching the time range, you can observe how the distribution shifts after events like a deployment or a traffic spike.
Use it to visualize request durations, error rates, or latency distributions, and switch time ranges to see how the distribution shifts after a deployment or a traffic spike.

When the panel type is set to Histogram, the following settings are available under the **General** tab:

Expand All @@ -13,6 +13,8 @@ When the panel type is set to Histogram, the following settings are available un
### Panel
- **Name:** Enter a name for your panel. This appears as the panel title on the dashboard.
- **Description:** Enter a description to provide additional context about what the panel displays.
- **Links:** Click **Add link** to connect the panel to related resources, such as a runbook or an external dashboard.
- **Repeat options:** Set **Repeat by variable** to render one copy of this panel for each value of the selected variable. Only the first 20 values are used, and the copies show on the dashboard, not in this editor.

### Axes
The Axes section provides controls to adjust how the distribution is visualized after data is fetched.
Expand All @@ -21,9 +23,9 @@ The Axes section provides controls to adjust how the distribution is visualized
- **Bucket Offset:** Shifts all bucket ranges by a fixed value. For example, an offset of +10 transforms a bucket range of \[x, y] to \[x+10, y+10]. This is useful when you want to align bucket boundaries with a specific baseline.
- **Min / Max:** Constrains the visible range by discarding buckets that fall outside the specified bounds. Use this to focus on the meaningful portion of the distribution and filter out extreme values or noise.

The goal of these controls is to improve readability and make the distribution easier to interpret depending on the context and characteristics of your data.
The Y-Axis controls the count scale: set Min and Max to fix the range instead of scaling automatically, and use Format, decimals, and a prefix or suffix to control how the numbers are displayed.

![image](./images/histogram-panel-2.jpeg)
![image](./images/histogram-panel-3.jpeg)

### Legend
Choose between **Table** or **List** mode to control how the legend is displayed. Use the **Values** selector to choose which aggregate values (such as Min, Max, or Mean) appear alongside each series label. Leave Values empty to display labels only.
Expand Down
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Diff not rendered.
Loading
Loading