Skip to content
Open
Changes from 4 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
110 changes: 110 additions & 0 deletions pipeline/inputs/mem-metrics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# Memory metrics

The _mem_metrics_, or memory metrics plugin, generates metrics for memory statistics for processes using the `smaps_rollup` file for each process in /proc. This plugin works exclusively on Linux.

Check warning on line 3 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'mem_metrics'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'mem_metrics'?", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 3, "column": 6}}}, "severity": "INFO"}

# Configuration parameters
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[markdownlint] reported by reviewdog 🐶
MD025/single-title/single-h1 Multiple top-level headings in the same document [Context: "# Configuration parameters"]


| **Key*** | Description | Default |
| :------------ | :------------------------------------------------- | :----------- |
| `proc_path` | The path of the proc pseudo filesystem. | `/proc` |
| `filter_exec` | Filter for a single executable by path. | **inactive** |
| `filter_cmd` | Filter by command line. | **inactive** |
| `filter_pid` | Filter by comma delimited list of PIDs. | **inactive** |

Check warning on line 12 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'PIDs'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'PIDs'?", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 12, "column": 55}}}, "severity": "INFO"}
| `interval_sec` | Set the interval seconds between events generation. | `5` |
| `interval_nsec` | Set the nanoseconds interval (sub seconds). | `0` |

The `filter_pid` can include or be set to either `0` or `self` to refer to the fluent-bit process itself.

Check warning on line 16 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.FluentBitCasing] Use the proper noun 'Fluent Bit' with correct casing and spacing. Raw Output: {"message": "[FluentBit.FluentBitCasing] Use the proper noun 'Fluent Bit' with correct casing and spacing.", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 16, "column": 80}}}, "severity": "WARNING"}

## Getting Started

Check warning on line 18 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Headings] 'Getting Started' should use sentence-style capitalization. Raw Output: {"message": "[FluentBit.Headings] 'Getting Started' should use sentence-style capitalization.", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 18, "column": 4}}}, "severity": "INFO"}

You can run the plugin from the command line or through a configuration file. By default metrics will be generated for all processes the current user can analyze.

### Command Line

Check warning on line 22 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Headings] 'Command Line' should use sentence-style capitalization. Raw Output: {"message": "[FluentBit.Headings] 'Command Line' should use sentence-style capitalization.", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 22, "column": 5}}}, "severity": "INFO"}

```bash
$ fluent-bit -i mem_metrics -o stdout
Fluent Bit v2.1.8
* Copyright (C) 2015-2022 The Fluent Bit Authors
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io

2023-07-26T14:37:49.919778443Z node_smaps_rollup_rss{pid="4540"} = 21064
2023-07-26T14:37:49.919778443Z node_smaps_rollup_pss{pid="4540",type="clean"} = 9598
2023-07-26T14:37:49.919778443Z node_smaps_rollup_pss{pid="4540",type="dirty"} = 5998
2023-07-26T14:37:49.919778443Z node_smaps_rollup_pss{pid="4540",type="anon"} = 5996
2023-07-26T14:37:49.919778443Z node_smaps_rollup_pss{pid="4540",type="file"} = 3602
2023-07-26T14:37:49.919778443Z node_smaps_rollup_pss{pid="4540",type="shmem"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_shared{pid="4540",type="clean"} = 15008
2023-07-26T14:37:49.919778443Z node_smaps_rollup_shared{pid="4540",type="dirty"} = 4
2023-07-26T14:37:49.919778443Z node_smaps_rollup_private{pid="4540",type="clean"} = 56
2023-07-26T14:37:49.919778443Z node_smaps_rollup_private{pid="4540",type="dirty"} = 5996
2023-07-26T14:37:49.919778443Z node_smaps_rollup_referenced{pid="4540"} = 21064
2023-07-26T14:37:49.919778443Z node_smaps_rollup_anonymous{pid="4540"} = 5996
2023-07-26T14:37:49.919778443Z node_smaps_rollup_lazy_free{pid="4540"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_anon_huge_pages{pid="4540"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_shmem_pmd_mapped{pid="4540"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_file_pmd_mapped{pid="4540"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_shared_hugetlb{pid="4540"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_private_hugetlb{pid="4540"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_swap{pid="4540"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_swap_pss{pid="4540"} = 0
2023-07-26T14:37:49.919778443Z node_smaps_rollup_locked{pid="4540"} = 0
```

### Configuration File

Check warning on line 54 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Headings] 'Configuration File' should use sentence-style capitalization. Raw Output: {"message": "[FluentBit.Headings] 'Configuration File' should use sentence-style capitalization.", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 54, "column": 5}}}, "severity": "INFO"}

Minimal pipeline for logging memory metrics to the console:

```ini
[INPUT]
Name mem_metrics
Tag mem

[OUTPUT]
Name stdout
Match mem
```

Log all instances of fluent-bit to prometheus:

Check warning on line 68 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'prometheus'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'prometheus'?", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 68, "column": 36}}}, "severity": "INFO"}

Check warning on line 68 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.FluentBitCasing] Use the proper noun 'Fluent Bit' with correct casing and spacing. Raw Output: {"message": "[FluentBit.FluentBitCasing] Use the proper noun 'Fluent Bit' with correct casing and spacing.", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 68, "column": 22}}}, "severity": "WARNING"}

```ini
[INPUT]
Name mem_metrics
Filter_cmd fluent-bit
Tag mem

[OUTPUT]
Name prometheus_remote_write
Match mem
Host localhost
Port 9090
Uri /prometheus/v1/write?prometheus_server=mem
```

### Exposed Metrics

Check warning on line 84 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Headings] 'Exposed Metrics' should use sentence-style capitalization. Raw Output: {"message": "[FluentBit.Headings] 'Exposed Metrics' should use sentence-style capitalization.", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 84, "column": 5}}}, "severity": "INFO"}

All metrics are logged as gauges since they can both increase and decrease. Currenrtly supported gauges are:

Check warning on line 86 in pipeline/inputs/mem-metrics.md

View workflow job for this annotation

GitHub Actions / runner / vale

[vale] reported by reviewdog 🐶 [FluentBit.Spelling] Spelling check: 'Currenrtly'? Raw Output: {"message": "[FluentBit.Spelling] Spelling check: 'Currenrtly'?", "location": {"path": "pipeline/inputs/mem-metrics.md", "range": {"start": {"line": 86, "column": 77}}}, "severity": "INFO"}
* node_smaps_rollup_rss
* node_smaps_rollup_pss
* type=clean
* type=dirty
* type=anon
* type=file
* type=shmem
* node_smaps_rollup_shared
* type=clean
* type=dirty
* node_smaps_rollup_private
* type=dirty
* type=clean
* node_smaps_rollup_referenced
* node_smaps_rollup_anonymous
* node_smaps_rollup_lazy_free
* node_smaps_rollup_anon_huge_pages
* node_smaps_rollup_shmem_pmd_mapped
* node_smaps_rollup_file_pmd_mapped
* node_smaps_rollup_shared_hugetlb
* node_smaps_rollup_private_hugetlb
* node_smaps_rollup_swap
* node_smaps_rollup_swap_pss
* node_smaps_rollup_locked
Loading