plugin_name: python.d.plugin modules: - meta: plugin_name: python.d.plugin module_name: ipfs monitored_instance: name: IPFS link: "https://ipfs.tech/" categories: - data-collection.storage-mount-points-and-filesystems icon_filename: "ipfs.svg" related_resources: integrations: list: [] info_provided_to_referring_integrations: description: "" keywords: [] most_popular: false overview: data_collection: metrics_description: "This collector monitors IPFS server metrics about its quality and performance." method_description: "It connects to an http endpoint of the IPFS server to collect the metrics" supported_platforms: include: [] exclude: [] multi_instance: true additional_permissions: description: "" default_behavior: auto_detection: description: "If the endpoint is accessible by the Agent, netdata will autodetect it" limits: description: | Calls to the following endpoints are disabled due to IPFS bugs: /api/v0/stats/repo (https://github.com/ipfs/go-ipfs/issues/3874) /api/v0/pin/ls (https://github.com/ipfs/go-ipfs/issues/7528) performance_impact: description: "" setup: prerequisites: list: [] configuration: file: name: "python.d/ipfs.conf" options: description: | There are 2 sections: * Global variables * One or more JOBS that can define multiple different instances to monitor. The following options can be defined globally: priority, penalty, autodetection_retry, update_every, but can also be defined per JOB to override the global values. Additionally, the following collapsed table contains all the options that can be configured inside a JOB definition. Every configuration JOB starts with a `job_name` value which will appear in the dashboard, unless a `name` parameter is specified. folding: title: "" enabled: true list: - name: update_every description: Sets the default data collection frequency. default_value: 5 required: false - name: priority description: Controls the order of charts at the netdata dashboard. default_value: 60000 required: false - name: autodetection_retry description: Sets the job re-check interval in seconds. default_value: 0 required: false - name: penalty description: Indicates whether to apply penalty to update_every in case of failures. default_value: yes required: false - name: name description: The JOB's name as it will appear at the dashboard (by default is the job_name) default_value: job_name required: false - name: url description: URL to the IPFS API default_value: no required: true - name: repoapi description: Collect repo metrics. default_value: no required: false - name: pinapi description: Set status of IPFS pinned object polling. default_value: no required: false examples: folding: enabled: true title: "Config" list: - name: Basic (default out-of-the-box) description: A basic example configuration, one job will run at a time. Autodetect mechanism uses it by default. folding: enabled: false config: | localhost: name: 'local' url: 'http://localhost:5001' repoapi: no pinapi: no - name: Multi-instance description: | > **Note**: When you define multiple jobs, their names must be unique. Collecting metrics from local and remote instances. config: | localhost: name: 'local' url: 'http://localhost:5001' repoapi: no pinapi: no remote_host: name: 'remote' url: 'http://192.0.2.1:5001' repoapi: no pinapi: no troubleshooting: problems: list: [] alerts: - name: ipfs_datastore_usage link: https://github.com/netdata/netdata/blob/master/src/health/health.d/ipfs.conf metric: ipfs.repo_size info: IPFS datastore utilization metrics: folding: title: Metrics enabled: false description: "" availability: [] scopes: - name: global description: "These metrics refer to the entire monitored application." labels: [] metrics: - name: ipfs.bandwidth description: IPFS Bandwidth unit: "kilobits/s" chart_type: line dimensions: - name: in - name: out - name: ipfs.peers description: IPFS Peers unit: "peers" chart_type: line dimensions: - name: peers - name: ipfs.repo_size description: IPFS Repo Size unit: "GiB" chart_type: area dimensions: - name: avail - name: size - name: ipfs.repo_objects description: IPFS Repo Objects unit: "objects" chart_type: line dimensions: - name: objects - name: pinned - name: recursive_pins