master
yaml 264 lines 9.23 KB
Raw
1 plugin_name: go.d.plugin
2 modules:
3 - meta:
4 id: collector-go.d.plugin-ipfs
5 plugin_name: go.d.plugin
6 module_name: ipfs
7 monitored_instance:
8 name: IPFS
9 link: "https://ipfs.tech/"
10 categories:
11 - data-collection.storage
12 icon_filename: "ipfs.svg"
13 related_resources:
14 integrations:
15 list: []
16 info_provided_to_referring_integrations:
17 description: ""
18 keywords:
19 - ipfs
20 - filesystem
21 overview:
22 data_collection:
23 metrics_description: "This collector monitors IPFS daemon health and network activity."
24 method_description: |
25 It uses [RPC API](https://docs.ipfs.tech/reference/kubo/rpc/) to collect metrics.
26
27 Used endpoints:
28
29 - [/api/v0/stats/bw](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-stats-bw)
30 - [/api/v0/swarm/peers](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-swarm-peers)
31 - [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-stats-repo)
32 - [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls)
33 supported_platforms:
34 include: []
35 exclude: []
36 multi_instance: true
37 additional_permissions:
38 description: ""
39 default_behavior:
40 auto_detection:
41 description: |
42 By default, it detects IPFS instances running on localhost that are listening on port 5001.
43 limits:
44 description: ""
45 performance_impact:
46 description: |
47 Calls to the following endpoints are disabled by default due to IPFS bugs:
48
49 - /api/v0/stats/repo ([#7528](https://github.com/ipfs/go-ipfs/issues/7528)).
50 - /api/v0/pin/ls ([#3874](https://github.com/ipfs/go-ipfs/issues/3874)).
51
52 **Disabled by default** due to potential high CPU usage. Consider enabling only if necessary.
53 setup:
54 prerequisites:
55 list: []
56 configuration:
57 file:
58 name: go.d/ipfs.conf
59 options:
60 description: |
61 The following options can be defined globally: update_every, autodetection_retry.
62 folding:
63 title: "Config options"
64 enabled: true
65 list:
66 - name: update_every
67 description: Data collection interval (seconds).
68 default_value: 1
69 required: false
70 group: Collection
71 - name: autodetection_retry
72 description: Autodetection retry interval (seconds). Set 0 to disable.
73 default_value: 0
74 required: false
75 group: Collection
76
77 - name: url
78 description: Target endpoint URL.
79 default_value: http://127.0.0.1:5001
80 required: true
81 group: Target
82 - name: timeout
83 description: HTTP request timeout (seconds).
84 default_value: 1
85 required: false
86 group: Target
87
88 - name: repoapi
89 description: Collect repository statistics from the [/api/v0/stats/repo](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-repo-stat) endpoint.
90 default_value: no
91 required: false
92 group: Metrics Selection
93 - name: pinapi
94 description: Collect pinned objects list from the [/api/v0/pin/ls](https://docs.ipfs.tech/reference/kubo/rpc/#api-v0-pin-ls) endpoint.
95 default_value: no
96 required: false
97 group: Metrics Selection
98
99 - name: username
100 description: Username for Basic HTTP authentication.
101 default_value: ""
102 required: false
103 group: HTTP Auth
104 - name: password
105 description: Password for Basic HTTP authentication.
106 default_value: ""
107 required: false
108 group: HTTP Auth
109 - name: bearer_token_file
110 description: "Path to a file containing a bearer token (used for `Authorization: Bearer`)."
111 default_value: ""
112 required: false
113 group: HTTP Auth
114
115 - name: tls_skip_verify
116 description: Skip TLS certificate and hostname verification (insecure).
117 default_value: no
118 required: false
119 group: TLS
120 - name: tls_ca
121 description: Path to CA bundle used to validate the server certificate.
122 default_value: ""
123 required: false
124 group: TLS
125 - name: tls_cert
126 description: Path to client TLS certificate (for mTLS).
127 default_value: ""
128 required: false
129 group: TLS
130 - name: tls_key
131 description: Path to client TLS private key (for mTLS).
132 default_value: ""
133 required: false
134 group: TLS
135
136 - name: proxy_url
137 description: HTTP proxy URL.
138 default_value: ""
139 required: false
140 group: Proxy
141 - name: proxy_username
142 description: Username for proxy Basic HTTP authentication.
143 default_value: ""
144 required: false
145 group: Proxy
146 - name: proxy_password
147 description: Password for proxy Basic HTTP authentication.
148 default_value: ""
149 required: false
150 group: Proxy
151
152 - name: method
153 description: HTTP method to use.
154 default_value: "GET"
155 required: false
156 group: Request
157 - name: body
158 description: Request body (e.g., for POST/PUT).
159 default_value: ""
160 required: false
161 group: Request
162 - name: headers
163 description: "Additional HTTP headers (one per line as key: value)."
164 default_value: ""
165 required: false
166 group: Request
167 - name: not_follow_redirects
168 description: Do not follow HTTP redirects.
169 default_value: no
170 required: false
171 group: Request
172 - name: force_http2
173 description: Force HTTP/2 (including h2c over TCP).
174 default_value: no
175 required: false
176 group: Request
177
178 - name: vnode
179 description: Associates this data collection job with a [Virtual Node](https://learn.netdata.cloud/docs/netdata-agent/configuration/organize-systems-metrics-and-alerts#virtual-nodes).
180 default_value: ""
181 required: false
182 group: Virtual Node
183 examples:
184 folding:
185 enabled: true
186 title: "Config"
187 list:
188 - name: Basic
189 description: A basic example configuration.
190 folding:
191 enabled: false
192 config: |
193 jobs:
194 - name: local
195 url: http://127.0.0.1:5001
196 - name: Multi-instance
197 description: |
198 > **Note**: When you define multiple jobs, their names must be unique.
199
200 Collecting metrics from local and remote instances.
201 config: |
202 jobs:
203 - name: local
204 url: http://127.0.0.1:5001
205
206 - name: remote
207 url: http://192.0.2.1:5001
208 troubleshooting:
209 problems:
210 list: []
211 alerts:
212 - name: ipfs_datastore_usage
213 link: https://github.com/netdata/netdata/blob/master/src/health/health.d/ipfs.conf
214 metric: ipfs.datastore_space_utilization
215 info: IPFS datastore utilization
216 metrics:
217 folding:
218 title: Metrics
219 enabled: false
220 description: ""
221 availability: []
222 scopes:
223 - name: global
224 description: "These metrics refer to the entire monitored application."
225 labels: []
226 metrics:
227 - name: ipfs.bandwidth
228 description: IPFS Bandwidth
229 unit: "bytes/s"
230 chart_type: area
231 dimensions:
232 - name: in
233 - name: out
234 - name: ipfs.peers
235 description: IPFS Peers
236 unit: "peers"
237 chart_type: line
238 dimensions:
239 - name: peers
240 - name: ipfs.datastore_space_utilization
241 description: IPFS Datastore Space Utilization
242 unit: "percent"
243 chart_type: area
244 dimensions:
245 - name: used
246 - name: ipfs.repo_size
247 description: IPFS Repo Size
248 unit: "bytes"
249 chart_type: line
250 dimensions:
251 - name: size
252 - name: ipfs.repo_objects
253 description: IPFS Repo Objects
254 unit: "objects"
255 chart_type: line
256 dimensions:
257 - name: objects
258 - name: ipfs.repo_pinned_objects
259 description: IPFS Repo Pinned Objects
260 unit: "objects"
261 chart_type: line
262 dimensions:
263 - name: pinned
264 - name: recursive_pins