@cryptotaxi247 / netdata-1 / commits / b8c231177

Regenerate integrations.js (#18073)

Co-authored-by: Ancairon <70198089+Ancairon@users.noreply.github.com>

Netdata bot committed Jul 5, 2024 at 01:32 UTC b8c231177934655db6a659508ea6ffe0d88f54a4
5 files changed +319 -67
integrations/integrations.js
+37 -33
@@ -4483,6 +4483,43 @@ export const integrations = [
4483 "edit_link": "https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/modules/intelgpu/metadata.yaml",
4484 "related_resources": ""
4485 },
4486 + {
4487 + "meta": {
4488 + "id": "collector-go.d.plugin-ipfs",
4489 + "plugin_name": "go.d.plugin",
4490 + "module_name": "ipfs",
4491 + "monitored_instance": {
4492 + "name": "IPFS",
4493 + "link": "https://ipfs.tech/",
4494 + "categories": [
4495 + "data-collection.storage-mount-points-and-filesystems"
4496 + ],
4497 + "icon_filename": "ipfs.svg"
4498 + },
4499 + "related_resources": {
4500 + "integrations": {
4501 + "list": []
4502 + }
4503 + },
4504 + "info_provided_to_referring_integrations": {
4505 + "description": ""
4506 + },
4507 + "keywords": [
4508 + "ipfs",
4509 + "filesystem"
4510 + ],
4511 + "most_popular": false
4512 + },
4513 + "overview": "# IPFS\n\nPlugin: go.d.plugin\nModule: ipfs\n\n## Overview\n\nThis collector monitors IPFS daemon health and network activity.\n\nIt uses [RPC API](https://docs.ipfs.tech/reference/kubo/rpc/) to collect metrics.\n\nUsed endpoints:\n\n- [/api/v0/stats/bw](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-stats-bw)\n- [/api/v0/swarm/peers](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-swarm-peers)\n- [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-stats-repo)\n- [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls)\n\n\nThis collector is supported on all platforms.\n\nThis collector supports collecting metrics from multiple instances of this integration, including remote instances.\n\n\n### Default Behavior\n\n#### Auto-Detection\n\nBy default, it detects IPFS instances running on localhost that are listening on port 5001.\n\n\n#### Limits\n\nThe default configuration for this integration does not impose any limits on data collection.\n\n#### Performance Impact\n\nCalls to the following endpoints are disabled by default due to IPFS bugs:\n\n- /api/v0/stats/repo ([#7528](https://github.com/ipfs/go-ipfs/issues/7528)).\n- /api/v0/pin/ls ([#3874](https://github.com/ipfs/go-ipfs/issues/3874)).\n\n**Disabled by default** due to potential high CPU usage. Consider enabling only if necessary.\n\n",
4514 + "setup": "## Setup\n\n### Prerequisites\n\nNo action required.\n\n### Configuration\n\n#### File\n\nThe configuration file name for this integration is `go.d/ipfs.conf`.\n\n\nYou can edit the configuration file using the `edit-config` script from the\nNetdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).\n\n```bash\ncd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata\nsudo ./edit-config go.d/ipfs.conf\n```\n#### Options\n\nThe following options can be defined globally: update_every, autodetection_retry.\n\n\n{% details open=true summary=\"\" %}\n| Name | Description | Default | Required |\n|:----|:-----------|:-------|:--------:|\n| update_every | Data collection frequency. | 1 | no |\n| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |\n| repoapi | Enables querying the [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-repo-stat) endpoint for repository statistics. | no | no |\n| pinapi | Enables querying the [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls) endpoint to retrieve a list of all pinned objects. | no | no |\n| url | Server URL. | http://127.0.0.1:5001 | yes |\n| timeout | HTTP request timeout. | 1 | no |\n| username | Username for basic HTTP authentication. | | no |\n| password | Password for basic HTTP authentication. | | no |\n| proxy_url | Proxy URL. | | no |\n| proxy_username | Username for proxy basic HTTP authentication. | | no |\n| proxy_password | Password for proxy basic HTTP authentication. | | no |\n| method | HTTP request method. | POST | no |\n| body | HTTP request body. | | no |\n| headers | HTTP request headers. | | no |\n| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no |\n| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no |\n| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no |\n| tls_cert | Client TLS certificate. | | no |\n| tls_key | Client TLS key. | | no |\n\n{% /details %}\n#### Examples\n\n##### Basic\n\nA basic example configuration.\n\n```yaml\njobs:\n - name: local\n url: http://127.0.0.1:5001\n\n```\n##### Multi-instance\n\n> **Note**: When you define multiple jobs, their names must be unique.\n\nCollecting metrics from local and remote instances.\n\n\n{% details open=true summary=\"Config\" %}\n```yaml\njobs:\n - name: local\n url: http://127.0.0.1:5001\n\n - name: remote\n url: http://192.0.2.1:5001\n\n```\n{% /details %}\n",
4515 + "troubleshooting": "## Troubleshooting\n\n### Debug Mode\n\nTo troubleshoot issues with the `ipfs` collector, run the `go.d.plugin` with the debug option enabled. The output\nshould give you clues as to why the collector isn't working.\n\n- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on\n your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.\n\n ```bash\n cd /usr/libexec/netdata/plugins.d/\n ```\n\n- Switch to the `netdata` user.\n\n ```bash\n sudo -u netdata -s\n ```\n\n- Run the `go.d.plugin` to debug the collector:\n\n ```bash\n ./go.d.plugin -d -m ipfs\n ```\n\n### Getting Logs\n\nIf you're encountering problems with the `ipfs` collector, follow these steps to retrieve logs and identify potential issues:\n\n- **Run the command** specific to your system (systemd, non-systemd, or Docker container).\n- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.\n\n#### System with systemd\n\nUse the following command to view logs generated since the last Netdata service restart:\n\n```bash\njournalctl _SYSTEMD_INVOCATION_ID=\"$(systemctl show --value --property=InvocationID netdata)\" --namespace=netdata --grep ipfs\n```\n\n#### System without systemd\n\nLocate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:\n\n```bash\ngrep ipfs /var/log/netdata/collector.log\n```\n\n**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.\n\n#### Docker Container\n\nIf your Netdata runs in a Docker container named \"netdata\" (replace if different), use this command:\n\n```bash\ndocker logs netdata 2>&1 | grep ipfs\n```\n\n",
4516 + "alerts": "## Alerts\n\n\nThe following alerts are available:\n\n| Alert name | On metric | Description |\n|:------------|:----------|:------------|\n| [ ipfs_datastore_usage ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipfs.conf) | ipfs.datastore_space_utilization | IPFS datastore utilization |\n",
4517 + "metrics": "## Metrics\n\nMetrics grouped by *scope*.\n\nThe scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.\n\n\n\n### Per IPFS instance\n\nThese metrics refer to the entire monitored application.\n\nThis scope has no labels.\n\nMetrics:\n\n| Metric | Dimensions | Unit |\n|:------|:----------|:----|\n| ipfs.bandwidth | in, out | bytes/s |\n| ipfs.peers | peers | peers |\n| ipfs.repo_size | size | GiB |\n| ipfs.repo_objects | objects | objects |\n| ipfs.repo_pinned_objects | recursive_pins | objects |\n\n",
4518 + "integration_type": "collector",
4519 + "id": "go.d.plugin-ipfs-IPFS",
4520 + "edit_link": "https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/modules/ipfs/metadata.yaml",
4521 + "related_resources": ""
4522 + },
4523 {
4524 "meta": {
4525 "id": "collector-go.d.plugin-isc_dhcpd",
@@ -18837,39 +18874,6 @@ export const integrations = [
18874 "edit_link": "https://github.com/netdata/netdata/blob/master/src/collectors/python.d.plugin/icecast/metadata.yaml",
18875 "related_resources": ""
18876 },
18840 - {
18841 - "meta": {
18842 - "plugin_name": "python.d.plugin",
18843 - "module_name": "ipfs",
18844 - "monitored_instance": {
18845 - "name": "IPFS",
18846 - "link": "https://ipfs.tech/",
18847 - "categories": [
18848 - "data-collection.storage-mount-points-and-filesystems"
18849 - ],
18850 - "icon_filename": "ipfs.svg"
18851 - },
18852 - "related_resources": {
18853 - "integrations": {
18854 - "list": []
18855 - }
18856 - },
18857 - "info_provided_to_referring_integrations": {
18858 - "description": ""
18859 - },
18860 - "keywords": [],
18861 - "most_popular": false
18862 - },
18863 - "overview": "# IPFS\n\nPlugin: python.d.plugin\nModule: ipfs\n\n## Overview\n\nThis collector monitors IPFS server metrics about its quality and performance.\n\nIt connects to an http endpoint of the IPFS server to collect the metrics\n\nThis collector is supported on all platforms.\n\nThis collector supports collecting metrics from multiple instances of this integration, including remote instances.\n\n\n### Default Behavior\n\n#### Auto-Detection\n\nIf the endpoint is accessible by the Agent, netdata will autodetect it\n\n#### Limits\n\nCalls to the following endpoints are disabled due to IPFS bugs:\n\n/api/v0/stats/repo (https://github.com/ipfs/go-ipfs/issues/3874)\n/api/v0/pin/ls (https://github.com/ipfs/go-ipfs/issues/7528)\n\n\n#### Performance Impact\n\nThe default configuration for this integration is not expected to impose a significant performance impact on the system.\n",
18864 - "setup": "## Setup\n\n### Prerequisites\n\nNo action required.\n\n### Configuration\n\n#### File\n\nThe configuration file name for this integration is `python.d/ipfs.conf`.\n\n\nYou can edit the configuration file using the `edit-config` script from the\nNetdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).\n\n```bash\ncd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata\nsudo ./edit-config python.d/ipfs.conf\n```\n#### Options\n\nThere are 2 sections:\n\n* Global variables\n* One or more JOBS that can define multiple different instances to monitor.\n\nThe following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.\n\nAdditionally, the following collapsed table contains all the options that can be configured inside a JOB definition.\n\nEvery configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.\n\n\n{% details open=true summary=\"\" %}\n| Name | Description | Default | Required |\n|:----|:-----------|:-------|:--------:|\n| update_every | Sets the default data collection frequency. | 5 | no |\n| priority | Controls the order of charts at the netdata dashboard. | 60000 | no |\n| autodetection_retry | Sets the job re-check interval in seconds. | 0 | no |\n| penalty | Indicates whether to apply penalty to update_every in case of failures. | yes | no |\n| name | The JOB's name as it will appear at the dashboard (by default is the job_name) | job_name | no |\n| url | URL to the IPFS API | no | yes |\n| repoapi | Collect repo metrics. | no | no |\n| pinapi | Set status of IPFS pinned object polling. | no | no |\n\n{% /details %}\n#### Examples\n\n##### Basic (default out-of-the-box)\n\nA basic example configuration, one job will run at a time. Autodetect mechanism uses it by default.\n\n```yaml\nlocalhost:\n name: 'local'\n url: 'http://localhost:5001'\n repoapi: no\n pinapi: no\n\n```\n##### Multi-instance\n\n> **Note**: When you define multiple jobs, their names must be unique.\n\nCollecting metrics from local and remote instances.\n\n\n{% details open=true summary=\"Config\" %}\n```yaml\nlocalhost:\n name: 'local'\n url: 'http://localhost:5001'\n repoapi: no\n pinapi: no\n\nremote_host:\n name: 'remote'\n url: 'http://192.0.2.1:5001'\n repoapi: no\n pinapi: no\n\n```\n{% /details %}\n",
18865 - "troubleshooting": "## Troubleshooting\n\n### Debug Mode\n\nTo troubleshoot issues with the `ipfs` collector, run the `python.d.plugin` with the debug option enabled. The output\nshould give you clues as to why the collector isn't working.\n\n- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on\n your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.\n\n ```bash\n cd /usr/libexec/netdata/plugins.d/\n ```\n\n- Switch to the `netdata` user.\n\n ```bash\n sudo -u netdata -s\n ```\n\n- Run the `python.d.plugin` to debug the collector:\n\n ```bash\n ./python.d.plugin ipfs debug trace\n ```\n\n### Getting Logs\n\nIf you're encountering problems with the `ipfs` collector, follow these steps to retrieve logs and identify potential issues:\n\n- **Run the command** specific to your system (systemd, non-systemd, or Docker container).\n- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.\n\n#### System with systemd\n\nUse the following command to view logs generated since the last Netdata service restart:\n\n```bash\njournalctl _SYSTEMD_INVOCATION_ID=\"$(systemctl show --value --property=InvocationID netdata)\" --namespace=netdata --grep ipfs\n```\n\n#### System without systemd\n\nLocate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:\n\n```bash\ngrep ipfs /var/log/netdata/collector.log\n```\n\n**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.\n\n#### Docker Container\n\nIf your Netdata runs in a Docker container named \"netdata\" (replace if different), use this command:\n\n```bash\ndocker logs netdata 2>&1 | grep ipfs\n```\n\n",
18866 - "alerts": "## Alerts\n\n\nThe following alerts are available:\n\n| Alert name | On metric | Description |\n|:------------|:----------|:------------|\n| [ ipfs_datastore_usage ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipfs.conf) | ipfs.repo_size | IPFS datastore utilization |\n",
18867 - "metrics": "## Metrics\n\nMetrics grouped by *scope*.\n\nThe scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.\n\n\n\n### Per IPFS instance\n\nThese metrics refer to the entire monitored application.\n\nThis scope has no labels.\n\nMetrics:\n\n| Metric | Dimensions | Unit |\n|:------|:----------|:----|\n| ipfs.bandwidth | in, out | kilobits/s |\n| ipfs.peers | peers | peers |\n| ipfs.repo_size | avail, size | GiB |\n| ipfs.repo_objects | objects, pinned, recursive_pins | objects |\n\n",
18868 - "integration_type": "collector",
18869 - "id": "python.d.plugin-ipfs-IPFS",
18870 - "edit_link": "https://github.com/netdata/netdata/blob/master/src/collectors/python.d.plugin/ipfs/metadata.yaml",
18871 - "related_resources": ""
18872 - },
18877 {
18878 "meta": {
18879 "plugin_name": "python.d.plugin",
integrations/integrations.json
+37 -33
@@ -4481,6 +4481,43 @@
4481 "edit_link": "https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/modules/intelgpu/metadata.yaml",
4482 "related_resources": ""
4483 },
4484 + {
4485 + "meta": {
4486 + "id": "collector-go.d.plugin-ipfs",
4487 + "plugin_name": "go.d.plugin",
4488 + "module_name": "ipfs",
4489 + "monitored_instance": {
4490 + "name": "IPFS",
4491 + "link": "https://ipfs.tech/",
4492 + "categories": [
4493 + "data-collection.storage-mount-points-and-filesystems"
4494 + ],
4495 + "icon_filename": "ipfs.svg"
4496 + },
4497 + "related_resources": {
4498 + "integrations": {
4499 + "list": []
4500 + }
4501 + },
4502 + "info_provided_to_referring_integrations": {
4503 + "description": ""
4504 + },
4505 + "keywords": [
4506 + "ipfs",
4507 + "filesystem"
4508 + ],
4509 + "most_popular": false
4510 + },
4511 + "overview": "# IPFS\n\nPlugin: go.d.plugin\nModule: ipfs\n\n## Overview\n\nThis collector monitors IPFS daemon health and network activity.\n\nIt uses [RPC API](https://docs.ipfs.tech/reference/kubo/rpc/) to collect metrics.\n\nUsed endpoints:\n\n- [/api/v0/stats/bw](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-stats-bw)\n- [/api/v0/swarm/peers](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-swarm-peers)\n- [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-stats-repo)\n- [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls)\n\n\nThis collector is supported on all platforms.\n\nThis collector supports collecting metrics from multiple instances of this integration, including remote instances.\n\n\n### Default Behavior\n\n#### Auto-Detection\n\nBy default, it detects IPFS instances running on localhost that are listening on port 5001.\n\n\n#### Limits\n\nThe default configuration for this integration does not impose any limits on data collection.\n\n#### Performance Impact\n\nCalls to the following endpoints are disabled by default due to IPFS bugs:\n\n- /api/v0/stats/repo ([#7528](https://github.com/ipfs/go-ipfs/issues/7528)).\n- /api/v0/pin/ls ([#3874](https://github.com/ipfs/go-ipfs/issues/3874)).\n\n**Disabled by default** due to potential high CPU usage. Consider enabling only if necessary.\n\n",
4512 + "setup": "## Setup\n\n### Prerequisites\n\nNo action required.\n\n### Configuration\n\n#### File\n\nThe configuration file name for this integration is `go.d/ipfs.conf`.\n\n\nYou can edit the configuration file using the `edit-config` script from the\nNetdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).\n\n```bash\ncd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata\nsudo ./edit-config go.d/ipfs.conf\n```\n#### Options\n\nThe following options can be defined globally: update_every, autodetection_retry.\n\n\n| Name | Description | Default | Required |\n|:----|:-----------|:-------|:--------:|\n| update_every | Data collection frequency. | 1 | no |\n| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |\n| repoapi | Enables querying the [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-repo-stat) endpoint for repository statistics. | no | no |\n| pinapi | Enables querying the [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls) endpoint to retrieve a list of all pinned objects. | no | no |\n| url | Server URL. | http://127.0.0.1:5001 | yes |\n| timeout | HTTP request timeout. | 1 | no |\n| username | Username for basic HTTP authentication. | | no |\n| password | Password for basic HTTP authentication. | | no |\n| proxy_url | Proxy URL. | | no |\n| proxy_username | Username for proxy basic HTTP authentication. | | no |\n| proxy_password | Password for proxy basic HTTP authentication. | | no |\n| method | HTTP request method. | POST | no |\n| body | HTTP request body. | | no |\n| headers | HTTP request headers. | | no |\n| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no |\n| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no |\n| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no |\n| tls_cert | Client TLS certificate. | | no |\n| tls_key | Client TLS key. | | no |\n\n#### Examples\n\n##### Basic\n\nA basic example configuration.\n\n```yaml\njobs:\n - name: local\n url: http://127.0.0.1:5001\n\n```\n##### Multi-instance\n\n> **Note**: When you define multiple jobs, their names must be unique.\n\nCollecting metrics from local and remote instances.\n\n\n```yaml\njobs:\n - name: local\n url: http://127.0.0.1:5001\n\n - name: remote\n url: http://192.0.2.1:5001\n\n```\n",
4513 + "troubleshooting": "## Troubleshooting\n\n### Debug Mode\n\nTo troubleshoot issues with the `ipfs` collector, run the `go.d.plugin` with the debug option enabled. The output\nshould give you clues as to why the collector isn't working.\n\n- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on\n your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.\n\n ```bash\n cd /usr/libexec/netdata/plugins.d/\n ```\n\n- Switch to the `netdata` user.\n\n ```bash\n sudo -u netdata -s\n ```\n\n- Run the `go.d.plugin` to debug the collector:\n\n ```bash\n ./go.d.plugin -d -m ipfs\n ```\n\n### Getting Logs\n\nIf you're encountering problems with the `ipfs` collector, follow these steps to retrieve logs and identify potential issues:\n\n- **Run the command** specific to your system (systemd, non-systemd, or Docker container).\n- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.\n\n#### System with systemd\n\nUse the following command to view logs generated since the last Netdata service restart:\n\n```bash\njournalctl _SYSTEMD_INVOCATION_ID=\"$(systemctl show --value --property=InvocationID netdata)\" --namespace=netdata --grep ipfs\n```\n\n#### System without systemd\n\nLocate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:\n\n```bash\ngrep ipfs /var/log/netdata/collector.log\n```\n\n**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.\n\n#### Docker Container\n\nIf your Netdata runs in a Docker container named \"netdata\" (replace if different), use this command:\n\n```bash\ndocker logs netdata 2>&1 | grep ipfs\n```\n\n",
4514 + "alerts": "## Alerts\n\n\nThe following alerts are available:\n\n| Alert name | On metric | Description |\n|:------------|:----------|:------------|\n| [ ipfs_datastore_usage ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipfs.conf) | ipfs.datastore_space_utilization | IPFS datastore utilization |\n",
4515 + "metrics": "## Metrics\n\nMetrics grouped by *scope*.\n\nThe scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.\n\n\n\n### Per IPFS instance\n\nThese metrics refer to the entire monitored application.\n\nThis scope has no labels.\n\nMetrics:\n\n| Metric | Dimensions | Unit |\n|:------|:----------|:----|\n| ipfs.bandwidth | in, out | bytes/s |\n| ipfs.peers | peers | peers |\n| ipfs.repo_size | size | GiB |\n| ipfs.repo_objects | objects | objects |\n| ipfs.repo_pinned_objects | recursive_pins | objects |\n\n",
4516 + "integration_type": "collector",
4517 + "id": "go.d.plugin-ipfs-IPFS",
4518 + "edit_link": "https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/modules/ipfs/metadata.yaml",
4519 + "related_resources": ""
4520 + },
4521 {
4522 "meta": {
4523 "id": "collector-go.d.plugin-isc_dhcpd",
@@ -18835,39 +18872,6 @@
18872 "edit_link": "https://github.com/netdata/netdata/blob/master/src/collectors/python.d.plugin/icecast/metadata.yaml",
18873 "related_resources": ""
18874 },
18838 - {
18839 - "meta": {
18840 - "plugin_name": "python.d.plugin",
18841 - "module_name": "ipfs",
18842 - "monitored_instance": {
18843 - "name": "IPFS",
18844 - "link": "https://ipfs.tech/",
18845 - "categories": [
18846 - "data-collection.storage-mount-points-and-filesystems"
18847 - ],
18848 - "icon_filename": "ipfs.svg"
18849 - },
18850 - "related_resources": {
18851 - "integrations": {
18852 - "list": []
18853 - }
18854 - },
18855 - "info_provided_to_referring_integrations": {
18856 - "description": ""
18857 - },
18858 - "keywords": [],
18859 - "most_popular": false
18860 - },
18861 - "overview": "# IPFS\n\nPlugin: python.d.plugin\nModule: ipfs\n\n## Overview\n\nThis collector monitors IPFS server metrics about its quality and performance.\n\nIt connects to an http endpoint of the IPFS server to collect the metrics\n\nThis collector is supported on all platforms.\n\nThis collector supports collecting metrics from multiple instances of this integration, including remote instances.\n\n\n### Default Behavior\n\n#### Auto-Detection\n\nIf the endpoint is accessible by the Agent, netdata will autodetect it\n\n#### Limits\n\nCalls to the following endpoints are disabled due to IPFS bugs:\n\n/api/v0/stats/repo (https://github.com/ipfs/go-ipfs/issues/3874)\n/api/v0/pin/ls (https://github.com/ipfs/go-ipfs/issues/7528)\n\n\n#### Performance Impact\n\nThe default configuration for this integration is not expected to impose a significant performance impact on the system.\n",
18862 - "setup": "## Setup\n\n### Prerequisites\n\nNo action required.\n\n### Configuration\n\n#### File\n\nThe configuration file name for this integration is `python.d/ipfs.conf`.\n\n\nYou can edit the configuration file using the `edit-config` script from the\nNetdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).\n\n```bash\ncd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata\nsudo ./edit-config python.d/ipfs.conf\n```\n#### Options\n\nThere are 2 sections:\n\n* Global variables\n* One or more JOBS that can define multiple different instances to monitor.\n\nThe following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values.\n\nAdditionally, the following collapsed table contains all the options that can be configured inside a JOB definition.\n\nEvery configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified.\n\n\n| Name | Description | Default | Required |\n|:----|:-----------|:-------|:--------:|\n| update_every | Sets the default data collection frequency. | 5 | no |\n| priority | Controls the order of charts at the netdata dashboard. | 60000 | no |\n| autodetection_retry | Sets the job re-check interval in seconds. | 0 | no |\n| penalty | Indicates whether to apply penalty to update_every in case of failures. | yes | no |\n| name | The JOB's name as it will appear at the dashboard (by default is the job_name) | job_name | no |\n| url | URL to the IPFS API | no | yes |\n| repoapi | Collect repo metrics. | no | no |\n| pinapi | Set status of IPFS pinned object polling. | no | no |\n\n#### Examples\n\n##### Basic (default out-of-the-box)\n\nA basic example configuration, one job will run at a time. Autodetect mechanism uses it by default.\n\n```yaml\nlocalhost:\n name: 'local'\n url: 'http://localhost:5001'\n repoapi: no\n pinapi: no\n\n```\n##### Multi-instance\n\n> **Note**: When you define multiple jobs, their names must be unique.\n\nCollecting metrics from local and remote instances.\n\n\n```yaml\nlocalhost:\n name: 'local'\n url: 'http://localhost:5001'\n repoapi: no\n pinapi: no\n\nremote_host:\n name: 'remote'\n url: 'http://192.0.2.1:5001'\n repoapi: no\n pinapi: no\n\n```\n",
18863 - "troubleshooting": "## Troubleshooting\n\n### Debug Mode\n\nTo troubleshoot issues with the `ipfs` collector, run the `python.d.plugin` with the debug option enabled. The output\nshould give you clues as to why the collector isn't working.\n\n- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on\n your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.\n\n ```bash\n cd /usr/libexec/netdata/plugins.d/\n ```\n\n- Switch to the `netdata` user.\n\n ```bash\n sudo -u netdata -s\n ```\n\n- Run the `python.d.plugin` to debug the collector:\n\n ```bash\n ./python.d.plugin ipfs debug trace\n ```\n\n### Getting Logs\n\nIf you're encountering problems with the `ipfs` collector, follow these steps to retrieve logs and identify potential issues:\n\n- **Run the command** specific to your system (systemd, non-systemd, or Docker container).\n- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.\n\n#### System with systemd\n\nUse the following command to view logs generated since the last Netdata service restart:\n\n```bash\njournalctl _SYSTEMD_INVOCATION_ID=\"$(systemctl show --value --property=InvocationID netdata)\" --namespace=netdata --grep ipfs\n```\n\n#### System without systemd\n\nLocate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:\n\n```bash\ngrep ipfs /var/log/netdata/collector.log\n```\n\n**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.\n\n#### Docker Container\n\nIf your Netdata runs in a Docker container named \"netdata\" (replace if different), use this command:\n\n```bash\ndocker logs netdata 2>&1 | grep ipfs\n```\n\n",
18864 - "alerts": "## Alerts\n\n\nThe following alerts are available:\n\n| Alert name | On metric | Description |\n|:------------|:----------|:------------|\n| [ ipfs_datastore_usage ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipfs.conf) | ipfs.repo_size | IPFS datastore utilization |\n",
18865 - "metrics": "## Metrics\n\nMetrics grouped by *scope*.\n\nThe scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.\n\n\n\n### Per IPFS instance\n\nThese metrics refer to the entire monitored application.\n\nThis scope has no labels.\n\nMetrics:\n\n| Metric | Dimensions | Unit |\n|:------|:----------|:----|\n| ipfs.bandwidth | in, out | kilobits/s |\n| ipfs.peers | peers | peers |\n| ipfs.repo_size | avail, size | GiB |\n| ipfs.repo_objects | objects, pinned, recursive_pins | objects |\n\n",
18866 - "integration_type": "collector",
18867 - "id": "python.d.plugin-ipfs-IPFS",
18868 - "edit_link": "https://github.com/netdata/netdata/blob/master/src/collectors/python.d.plugin/ipfs/metadata.yaml",
18869 - "related_resources": ""
18870 - },
18875 {
18876 "meta": {
18877 "plugin_name": "python.d.plugin",
src/collectors/COLLECTORS.md
+1 -1
@@ -1003,7 +1003,7 @@ If you don't see the app/service you'd like to monitor in this list:
1003
1004 - [IBM Spectrum](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/modules/prometheus/integrations/ibm_spectrum.md)
1005
1006 -- [IPFS](https://github.com/netdata/netdata/blob/master/src/collectors/python.d.plugin/ipfs/integrations/ipfs.md)
1006 +- [IPFS](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/modules/ipfs/integrations/ipfs.md)
1007
1008 - [LVM logical volumes](https://github.com/netdata/netdata/blob/master/src/go/plugin/go.d/modules/lvm/integrations/lvm_logical_volumes.md)
1009
src/go/plugin/go.d/modules/ipfs/README.md new
+1
@@ -0,0 +1 @@
1 +integrations/ipfs.md
\ No newline at end of file
src/go/plugin/go.d/modules/ipfs/integrations/ipfs.md new
+243
@@ -0,0 +1,243 @@
1 +<!--startmeta
2 +custom_edit_url: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/modules/ipfs/README.md"
3 +meta_yaml: "https://github.com/netdata/netdata/edit/master/src/go/plugin/go.d/modules/ipfs/metadata.yaml"
4 +sidebar_label: "IPFS"
5 +learn_status: "Published"
6 +learn_rel_path: "Collecting Metrics/Storage, Mount Points and Filesystems"
7 +most_popular: False
8 +message: "DO NOT EDIT THIS FILE DIRECTLY, IT IS GENERATED BY THE COLLECTOR'S metadata.yaml FILE"
9 +endmeta-->
10 +
11 +# IPFS
12 +
13 +
14 +<img src="https://netdata.cloud/img/ipfs.svg" width="150"/>
15 +
16 +
17 +Plugin: go.d.plugin
18 +Module: ipfs
19 +
20 +<img src="https://img.shields.io/badge/maintained%20by-Netdata-%2300ab44" />
21 +
22 +## Overview
23 +
24 +This collector monitors IPFS daemon health and network activity.
25 +
26 +It uses [RPC API](https://docs.ipfs.tech/reference/kubo/rpc/) to collect metrics.
27 +
28 +Used endpoints:
29 +
30 +- [/api/v0/stats/bw](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-stats-bw)
31 +- [/api/v0/swarm/peers](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-swarm-peers)
32 +- [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-stats-repo)
33 +- [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls)
34 +
35 +
36 +This collector is supported on all platforms.
37 +
38 +This collector supports collecting metrics from multiple instances of this integration, including remote instances.
39 +
40 +
41 +### Default Behavior
42 +
43 +#### Auto-Detection
44 +
45 +By default, it detects IPFS instances running on localhost that are listening on port 5001.
46 +
47 +
48 +#### Limits
49 +
50 +The default configuration for this integration does not impose any limits on data collection.
51 +
52 +#### Performance Impact
53 +
54 +Calls to the following endpoints are disabled by default due to IPFS bugs:
55 +
56 +- /api/v0/stats/repo ([#7528](https://github.com/ipfs/go-ipfs/issues/7528)).
57 +- /api/v0/pin/ls ([#3874](https://github.com/ipfs/go-ipfs/issues/3874)).
58 +
59 +**Disabled by default** due to potential high CPU usage. Consider enabling only if necessary.
60 +
61 +
62 +
63 +## Metrics
64 +
65 +Metrics grouped by *scope*.
66 +
67 +The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.
68 +
69 +
70 +
71 +### Per IPFS instance
72 +
73 +These metrics refer to the entire monitored application.
74 +
75 +This scope has no labels.
76 +
77 +Metrics:
78 +
79 +| Metric | Dimensions | Unit |
80 +|:------|:----------|:----|
81 +| ipfs.bandwidth | in, out | bytes/s |
82 +| ipfs.peers | peers | peers |
83 +| ipfs.repo_size | size | GiB |
84 +| ipfs.repo_objects | objects | objects |
85 +| ipfs.repo_pinned_objects | recursive_pins | objects |
86 +
87 +
88 +
89 +## Alerts
90 +
91 +
92 +The following alerts are available:
93 +
94 +| Alert name | On metric | Description |
95 +|:------------|:----------|:------------|
96 +| [ ipfs_datastore_usage ](https://github.com/netdata/netdata/blob/master/src/health/health.d/ipfs.conf) | ipfs.datastore_space_utilization | IPFS datastore utilization |
97 +
98 +
99 +## Setup
100 +
101 +### Prerequisites
102 +
103 +No action required.
104 +
105 +### Configuration
106 +
107 +#### File
108 +
109 +The configuration file name for this integration is `go.d/ipfs.conf`.
110 +
111 +
112 +You can edit the configuration file using the `edit-config` script from the
113 +Netdata [config directory](/docs/netdata-agent/configuration/README.md#the-netdata-config-directory).
114 +
115 +```bash
116 +cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
117 +sudo ./edit-config go.d/ipfs.conf
118 +```
119 +#### Options
120 +
121 +The following options can be defined globally: update_every, autodetection_retry.
122 +
123 +
124 +<details open><summary></summary>
125 +
126 +| Name | Description | Default | Required |
127 +|:----|:-----------|:-------|:--------:|
128 +| update_every | Data collection frequency. | 1 | no |
129 +| autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |
130 +| repoapi | Enables querying the [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-repo-stat) endpoint for repository statistics. | no | no |
131 +| pinapi | Enables querying the [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls) endpoint to retrieve a list of all pinned objects. | no | no |
132 +| url | Server URL. | http://127.0.0.1:5001 | yes |
133 +| timeout | HTTP request timeout. | 1 | no |
134 +| username | Username for basic HTTP authentication. | | no |
135 +| password | Password for basic HTTP authentication. | | no |
136 +| proxy_url | Proxy URL. | | no |
137 +| proxy_username | Username for proxy basic HTTP authentication. | | no |
138 +| proxy_password | Password for proxy basic HTTP authentication. | | no |
139 +| method | HTTP request method. | POST | no |
140 +| body | HTTP request body. | | no |
141 +| headers | HTTP request headers. | | no |
142 +| not_follow_redirects | Redirect handling policy. Controls whether the client follows redirects. | no | no |
143 +| tls_skip_verify | Server certificate chain and hostname validation policy. Controls whether the client performs this check. | no | no |
144 +| tls_ca | Certification authority that the client uses when verifying the server's certificates. | | no |
145 +| tls_cert | Client TLS certificate. | | no |
146 +| tls_key | Client TLS key. | | no |
147 +
148 +</details>
149 +
150 +#### Examples
151 +
152 +##### Basic
153 +
154 +A basic example configuration.
155 +
156 +```yaml
157 +jobs:
158 + - name: local
159 + url: http://127.0.0.1:5001
160 +
161 +```
162 +##### Multi-instance
163 +
164 +> **Note**: When you define multiple jobs, their names must be unique.
165 +
166 +Collecting metrics from local and remote instances.
167 +
168 +
169 +<details open><summary>Config</summary>
170 +
171 +```yaml
172 +jobs:
173 + - name: local
174 + url: http://127.0.0.1:5001
175 +
176 + - name: remote
177 + url: http://192.0.2.1:5001
178 +
179 +```
180 +</details>
181 +
182 +
183 +
184 +## Troubleshooting
185 +
186 +### Debug Mode
187 +
188 +To troubleshoot issues with the `ipfs` collector, run the `go.d.plugin` with the debug option enabled. The output
189 +should give you clues as to why the collector isn't working.
190 +
191 +- Navigate to the `plugins.d` directory, usually at `/usr/libexec/netdata/plugins.d/`. If that's not the case on
192 + your system, open `netdata.conf` and look for the `plugins` setting under `[directories]`.
193 +
194 + ```bash
195 + cd /usr/libexec/netdata/plugins.d/
196 + ```
197 +
198 +- Switch to the `netdata` user.
199 +
200 + ```bash
201 + sudo -u netdata -s
202 + ```
203 +
204 +- Run the `go.d.plugin` to debug the collector:
205 +
206 + ```bash
207 + ./go.d.plugin -d -m ipfs
208 + ```
209 +
210 +### Getting Logs
211 +
212 +If you're encountering problems with the `ipfs` collector, follow these steps to retrieve logs and identify potential issues:
213 +
214 +- **Run the command** specific to your system (systemd, non-systemd, or Docker container).
215 +- **Examine the output** for any warnings or error messages that might indicate issues. These messages should provide clues about the root cause of the problem.
216 +
217 +#### System with systemd
218 +
219 +Use the following command to view logs generated since the last Netdata service restart:
220 +
221 +```bash
222 +journalctl _SYSTEMD_INVOCATION_ID="$(systemctl show --value --property=InvocationID netdata)" --namespace=netdata --grep ipfs
223 +```
224 +
225 +#### System without systemd
226 +
227 +Locate the collector log file, typically at `/var/log/netdata/collector.log`, and use `grep` to filter for collector's name:
228 +
229 +```bash
230 +grep ipfs /var/log/netdata/collector.log
231 +```
232 +
233 +**Note**: This method shows logs from all restarts. Focus on the **latest entries** for troubleshooting current issues.
234 +
235 +#### Docker Container
236 +
237 +If your Netdata runs in a Docker container named "netdata" (replace if different), use this command:
238 +
239 +```bash
240 +docker logs netdata 2>&1 | grep ipfs
241 +```
242 +
243 +