1
-# Disclaimer
2
-
3
-Every module should be compatible with python2 and python3.
4
-All third party libraries should be installed system-wide or in `python_modules` directory.
5
-Module configurations are written in YAML and **pyYAML is required**.
6
-
7
-Every configuration file must have one of two formats:
8
-
9
-- Configuration for only one job:
10
-
11
-```yaml
12
-update_every : 2 # update frequency
13
-retries : 1 # how many failures in update() is tolerated
14
-priority : 20000 # where it is shown on dashboard
15
-
16
-other_var1 : bla # variables passed to module
17
-other_var2 : alb
18
-```
19
-
20
-- Configuration for many jobs (ex. mysql):
21
-
22
-```yaml
23
-# module defaults:
24
-update_every : 2
25
-retries : 1
26
-priority : 20000
27
-
28
-local: # job name
29
- update_every : 5 # job update frequency
30
- other_var1 : some_val # module specific variable
31
-
32
-other_job:
33
- priority : 5 # job position on dashboard
34
- retries : 20 # job retries
35
- other_var2 : val # module specific variable
36
-```
37
-
38
-`update_every`, `retries`, and `priority` are always optional.
39
-
40
----
41
-
42
-The following python.d modules are supported:
43
-
44
-# apache
45
-
46
-This module will monitor one or more Apache servers depending on configuration.
47
-
48
-**Requirements:**
49
- * apache with enabled `mod_status`
50
-
51
-It produces the following charts:
52
-
53
-1. **Requests** in requests/s
54
- * requests
55
-
56
-2. **Connections**
57
- * connections
58
-
59
-3. **Async Connections**
60
- * keepalive
61
- * closing
62
- * writing
63
-
64
-4. **Bandwidth** in kilobytes/s
65
- * sent
66
-
67
-5. **Workers**
68
- * idle
69
- * busy
70
-
71
-6. **Lifetime Avg. Requests/s** in requests/s
72
- * requests_sec
73
-
74
-7. **Lifetime Avg. Bandwidth/s** in kilobytes/s
75
- * size_sec
76
-
77
-8. **Lifetime Avg. Response Size** in bytes/request
78
- * size_req
79
-
80
-### configuration
81
-
82
-Needs only `url` to server's `server-status?auto`
83
-
84
-Here is an example for 2 servers:
85
-
86
-```yaml
87
-update_every : 10
88
-priority : 90100
89
-
90
-local:
91
- url : 'http://localhost/server-status?auto'
92
- retries : 20
93
-
94
-remote:
95
- url : 'http://www.apache.org/server-status?auto'
96
- update_every : 5
97
- retries : 4
98
-```
99
-
100
-Without configuration, module attempts to connect to `http://localhost/server-status?auto`
101
-
102
----
103
-
104
-# apache_cache
105
-
106
-Module monitors apache mod_cache log and produces only one chart:
107
-
108
-**cached responses** in percent cached
109
- * hit
110
- * miss
111
- * other
112
-
113
-### configuration
114
-
115
-Sample:
116
-
117
-```yaml
118
-update_every : 10
119
-priority : 120000
120
-retries : 5
121
-log_path : '/var/log/apache2/cache.log'
122
-```
123
-
124
-If no configuration is given, module will attempt to read log file at `/var/log/apache2/cache.log`
125
-
126
----
127
-
128
-# beanstalk
129
-
130
-Module provides server and tube-level statistics:
131
-
132
-**Requirements:**
133
- * `python-beanstalkc`
134
-
135
-**Server statistics:**
136
-
137
-1. **Cpu usage** in cpu time
138
- * user
139
- * system
140
-
141
-2. **Jobs rate** in jobs/s
142
- * total
143
- * timeouts
144
-
145
-3. **Connections rate** in connections/s
146
- * connections
147
-
148
-4. **Commands rate** in commands/s
149
- * put
150
- * peek
151
- * peek-ready
152
- * peek-delayed
153
- * peek-buried
154
- * reserve
155
- * use
156
- * watch
157
- * ignore
158
- * delete
159
- * release
160
- * bury
161
- * kick
162
- * stats
163
- * stats-job
164
- * stats-tube
165
- * list-tubes
166
- * list-tube-used
167
- * list-tubes-watched
168
- * pause-tube
169
-
170
-5. **Current tubes** in tubes
171
- * tubes
172
-
173
-6. **Current jobs** in jobs
174
- * urgent
175
- * ready
176
- * reserved
177
- * delayed
178
- * buried
179
-
180
-7. **Current connections** in connections
181
- * written
182
- * producers
183
- * workers
184
- * waiting
185
-
186
-8. **Binlog** in records/s
187
- * written
188
- * migrated
189
-
190
-9. **Uptime** in seconds
191
- * uptime
192
-
193
-**Per tube statistics:**
194
-
195
-1. **Jobs rate** in jobs/s
196
- * jobs
197
-
198
-2. **Jobs** in jobs
199
- * using
200
- * ready
201
- * reserved
202
- * delayed
203
- * buried
204
-
205
-3. **Connections** in connections
206
- * using
207
- * waiting
208
- * watching
209
-
210
-4. **Commands** in commands/s
211
- * deletes
212
- * pauses
213
-
214
-5. **Pause** in seconds
215
- * since
216
- * left
217
-
218
-
219
-### configuration
220
-
221
-Sample:
222
-
223
-```yaml
224
-host : '127.0.0.1'
225
-port : 11300
226
-```
227
-
228
-If no configuration is given, module will attempt to connect to beanstalkd on `127.0.0.1:11300` address
229
-
230
----
231
-
232
-# bind_rndc
233
-
234
-Module parses bind dump file to collect real-time performance metrics
235
-
236
-**Requirements:**
237
- * Version of bind must be 9.6 +
238
- * Netdata must have permissions to run `rndc stats`
239
-
240
-It produces:
241
-
242
-1. **Name server statistics**
243
- * requests
244
- * responses
245
- * success
246
- * auth_answer
247
- * nonauth_answer
248
- * nxrrset
249
- * failure
250
- * nxdomain
251
- * recursion
252
- * duplicate
253
- * rejections
254
-
255
-2. **Incoming queries**
256
- * RESERVED0
257
- * A
258
- * NS
259
- * CNAME
260
- * SOA
261
- * PTR
262
- * MX
263
- * TXT
264
- * X25
265
- * AAAA
266
- * SRV
267
- * NAPTR
268
- * A6
269
- * DS
270
- * RSIG
271
- * DNSKEY
272
- * SPF
273
- * ANY
274
- * DLV
275
-
276
-3. **Outgoing queries**
277
- * Same as Incoming queries
278
-
279
-
280
-### configuration
281
-
282
-Sample:
283
-
284
-```yaml
285
-local:
286
- named_stats_path : '/var/log/bind/named.stats'
287
-```
288
-
289
-If no configuration is given, module will attempt to read named.stats file at `/var/log/bind/named.stats`
290
-
291
----
292
-
293
-# boinc
294
-
295
-This module monitors task counts for the Berkely Open Infrastructure
296
-Networking Computing (BOINC) distributed computing client using the same
297
-RPC interface that the BOINC monitoring GUI does.
298
-
299
-It provides charts tracking the total number of tasks and active tasks,
300
-as well as ones tracking each of the possible states for tasks.
301
-
302
-### configuration
303
-
304
-BOINC requires use of a password to access it's RPC interface. You can
305
-find this password in the `gui_rpc_auth.cfg` file in your BOINC directory.
306
-
307
-By default, the module will try to auto-detect the password by looking
308
-in `/var/lib/boinc` for this file (this is the location most Linux
309
-distributions use for a system-wide BOINC installation), so things may
310
-just work without needing configuration for the local system.
311
-
312
-You can monitor remote systems as well:
313
-
314
-```yaml
315
-remote:
316
- hostname: some-host
317
- password: some-password
318
-```
319
-
320
----
321
-
322
-# chrony
323
-
324
-This module monitors the precision and statistics of a local chronyd server.
325
-
326
-It produces:
327
-
328
-* frequency
329
-* last offset
330
-* RMS offset
331
-* residual freq
332
-* root delay
333
-* root dispersion
334
-* skew
335
-* system time
336
-
337
-**Requirements:**
338
-Verify that user netdata can execute `chronyc tracking`. If necessary, update `/etc/chrony.conf`, `cmdallow`.
339
-
340
-### Configuration
341
-
342
-Sample:
343
-```yaml
344
-# data collection frequency:
345
-update_every: 1
346
-
347
-# chrony query command:
348
-local:
349
- command: 'chronyc -n tracking'
350
-```
351
-
352
----
353
-
354
-# ceph
355
-
356
-This module monitors the ceph cluster usage and consuption data of a server.
357
-
358
-It produces:
359
-
360
-* Cluster statistics (usage, available, latency, objects, read/write rate)
361
-* OSD usage
362
-* OSD latency
363
-* Pool usage
364
-* Pool read/write operations
365
-* Pool read/write rate
366
-* number of objects per pool
367
-
368
-**Requirements:**
369
-
370
-- `rados` python module
371
-- Granting read permissions to ceph group from keyring file
372
-```shell
373
-# chmod 640 /etc/ceph/ceph.client.admin.keyring
374
-```
375
-
376
-### Configuration
377
-
378
-Sample:
379
-```yaml
380
-local:
381
- config_file: '/etc/ceph/ceph.conf'
382
- keyring_file: '/etc/ceph/ceph.client.admin.keyring'
383
-```
384
-
385
----
386
-
387
-# couchdb
388
-
389
-This module monitors vital statistics of a local Apache CouchDB 2.x server, including:
390
-
391
-* Overall server reads/writes
392
-* HTTP traffic breakdown
393
- * Request methods (`GET`, `PUT`, `POST`, etc.)
394
- * Response status codes (`200`, `201`, `4xx`, etc.)
395
-* Active server tasks
396
-* Replication status (CouchDB 2.1 and up only)
397
-* Erlang VM stats
398
-* Optional per-database statistics: sizes, # of docs, # of deleted docs
399
-
400
-### Configuration
401
-
402
-Sample for a local server running on port 5984:
403
-```yaml
404
-local:
405
- user: 'admin'
406
- pass: 'password'
407
- node: 'couchdb@127.0.0.1'
408
-```
409
-
410
-Be sure to specify a correct admin-level username and password.
411
-
412
-You may also need to change the `node` name; this should match the value of `-name NODENAME` in your CouchDB's `etc/vm.args` file. Typically this is of the form `couchdb@fully.qualified.domain.name` in a cluster, or `couchdb@127.0.0.1` / `couchdb@localhost` for a single-node server.
413
-
414
-If you want per-database statistics, these need to be added to the configuration, separated by spaces:
415
-```yaml
416
-local:
417
- ...
418
- databases: 'db1 db2 db3 ...'
419
-```
420
-
421
----
422
-
423
-# cpufreq
424
-
425
-This module shows the current CPU frequency as set by the cpufreq kernel
426
-module.
427
-
428
-**Requirement:**
429
-You need to have `CONFIG_CPU_FREQ` and (optionally) `CONFIG_CPU_FREQ_STAT`
430
-enabled in your kernel.
431
-
432
-This module tries to read from one of two possible locations. On
433
-initialization, it tries to read the `time_in_state` files provided by
434
-cpufreq\_stats. If this file does not exist, or doesn't contain valid data, it
435
-falls back to using the more inaccurate `scaling_cur_freq` file (which only
436
-represents the **current** CPU frequency, and doesn't account for any state
437
-changes which happen between updates).
438
-
439
-It produces one chart with multiple lines (one line per core).
440
-
441
-### configuration
442
-
443
-Sample:
444
-
445
-```yaml
446
-sys_dir: "/sys/devices"
447
-```
448
-
449
-If no configuration is given, module will search for cpufreq files in `/sys/devices` directory.
450
-Directory is also prefixed with `NETDATA_HOST_PREFIX` if specified.
451
-
452
----
453
-
454
-# cpuidle
455
-
456
-This module monitors the usage of CPU idle states.
457
-
458
-**Requirement:**
459
-Your kernel needs to have `CONFIG_CPU_IDLE` enabled.
460
-
461
-It produces one stacked chart per CPU, showing the percentage of time spent in
462
-each state.
463
-
464
----
465
-# dns_query_time
466
-
467
-This module provides DNS query time statistics.
468
-
469
-**Requirement:**
470
-* `python-dnspython` package
471
-
472
-It produces one aggregate chart or one chart per DNS server, showing the query time.
473
-
474
----
475
-
476
-# dnsdist
477
-
478
-Module monitor dnsdist performance and health metrics.
479
-
480
-Following charts are drawn:
481
-
482
-1. **Response latency**
483
- * latency-slow
484
- * latency100-1000
485
- * latency50-100
486
- * latency10-50
487
- * latency1-10
488
- * latency0-1
489
-
490
-2. **Cache performance**
491
- * cache-hits
492
- * cache-misses
493
-
494
-3. **ACL events**
495
- * acl-drops
496
- * rule-drop
497
- * rule-nxdomain
498
- * rule-refused
499
-
500
-4. **Noncompliant data**
501
- * empty-queries
502
- * no-policy
503
- * noncompliant-queries
504
- * noncompliant-responses
505
-
506
-5. **Queries**
507
- * queries
508
- * rdqueries
509
- * rdqueries
510
-
511
-6. **Health**
512
- * downstream-send-errors
513
- * downstream-timeouts
514
- * servfail-responses
515
- * trunc-failures
516
-
517
-### configuration
518
-
519
-```yaml
520
-localhost:
521
- name : 'local'
522
- url : 'http://127.0.0.1:5053/jsonstat?command=stats'
523
- user : 'username'
524
- pass : 'password'
525
- header:
526
- X-API-Key: 'dnsdist-api-key'
527
-```
528
-
529
----
530
-
531
-# docker
532
-
533
-Module monitor docker health metrics.
534
-
535
-**Requirement:**
536
-* `docker` package
537
-
538
-Following charts are drawn:
539
-
540
-1. **running containers**
541
- * count
542
-
543
-2. **healthy containers**
544
- * count
545
-
546
-3. **unhealthy containers**
547
- * count
548
-
549
-### configuration
550
-
551
-```yaml
552
- update_every : 1
553
- priority : 60000
554
- ```
555
-
556
----
557
-
558
-# dovecot
559
-
560
-This module provides statistics information from Dovecot server.
561
-Statistics are taken from dovecot socket by executing `EXPORT global` command.
562
-More information about dovecot stats can be found on [project wiki page.](http://wiki2.dovecot.org/Statistics)
563
-
564
-**Requirement:**
565
-Dovecot UNIX socket with R/W permissions for user netdata or Dovecot with configured TCP/IP socket.
566
-
567
-Module gives information with following charts:
568
-
569
-1. **sessions**
570
- * active sessions
571
-
572
-2. **logins**
573
- * logins
574
-
575
-3. **commands** - number of IMAP commands
576
- * commands
577
-
578
-4. **Faults**
579
- * minor
580
- * major
581
-
582
-5. **Context Switches**
583
- * volountary
584
- * involountary
585
-
586
-6. **disk** in bytes/s
587
- * read
588
- * write
589
-
590
-7. **bytes** in bytes/s
591
- * read
592
- * write
593
-
594
-8. **number of syscalls** in syscalls/s
595
- * read
596
- * write
597
-
598
-9. **lookups** - number of lookups per second
599
- * path
600
- * attr
601
-
602
-10. **hits** - number of cache hits
603
- * hits
604
-
605
-11. **attempts** - authorization attempts
606
- * success
607
- * failure
608
-
609
-12. **cache** - cached authorization hits
610
- * hit
611
- * miss
612
-
613
-### configuration
614
-
615
-Sample:
616
-
617
-```yaml
618
-localtcpip:
619
- name : 'local'
620
- host : '127.0.0.1'
621
- port : 24242
622
-
623
-localsocket:
624
- name : 'local'
625
- socket : '/var/run/dovecot/stats'
626
-```
627
-
628
-If no configuration is given, module will attempt to connect to dovecot using unix socket localized in `/var/run/dovecot/stats`
629
-
630
----
631
-
632
-# elasticsearch
633
-
634
-This module monitors Elasticsearch performance and health metrics.
635
-
636
-It produces:
637
-
638
-1. **Search performance** charts:
639
- * Number of queries, fetches
640
- * Time spent on queries, fetches
641
- * Query and fetch latency
642
-
643
-2. **Indexing performance** charts:
644
- * Number of documents indexed, index refreshes, flushes
645
- * Time spent on indexing, refreshing, flushing
646
- * Indexing and flushing latency
647
-
648
-3. **Memory usage and garbace collection** charts:
649
- * JVM heap currently in use, committed
650
- * Count of garbage collections
651
- * Time spent on garbage collections
652
-
653
-4. **Host metrics** charts:
654
- * Available file descriptors in percent
655
- * Opened HTTP connections
656
- * Cluster communication transport metrics
657
-
658
-5. **Queues and rejections** charts:
659
- * Number of queued/rejected threads in thread pool
660
-
661
-6. **Fielddata cache** charts:
662
- * Fielddata cache size
663
- * Fielddata evictions and circuit breaker tripped count
664
-
665
-7. **Cluster health API** charts:
666
- * Cluster status
667
- * Nodes and tasks statistics
668
- * Shards statistics
669
-
670
-8. **Cluster stats API** charts:
671
- * Nodes statistics
672
- * Query cache statistics
673
- * Docs statistics
674
- * Store statistics
675
- * Indices and shards statistics
676
-
677
-### configuration
678
-
679
-Sample:
680
-
681
-```yaml
682
-local:
683
- host : 'ipaddress' # Server ip address or hostname
684
- port : 'password' # Port on which elasticsearch listed
685
- cluster_health : True/False # Calls to cluster health elasticsearch API. Enabled by default.
686
- cluster_stats : True/False # Calls to cluster stats elasticsearch API. Enabled by default.
687
-```
688
-
689
-If no configuration is given, module will fail to run.
690
-
691
----
692
-
693
-# exim
694
-
695
-Simple module executing `exim -bpc` to grab exim queue.
696
-This command can take a lot of time to finish its execution thus it is not recommended to run it every second.
697
-
698
-It produces only one chart:
699
-
700
-1. **Exim Queue Emails**
701
- * emails
702
-
703
-Configuration is not needed.
704
-
705
----
706
-
707
-# fail2ban
708
-
709
-Module monitor fail2ban log file to show all bans for all active jails
710
-
711
-**Requirements:**
712
- * fail2ban.log file MUST BE readable by netdata (A good idea is to add **create 0640 root netdata** to fail2ban conf at logrotate.d)
713
-
714
-It produces one chart with multiple lines (one line per jail)
715
-
716
-### configuration
717
-
718
-Sample:
719
-
720
-```yaml
721
-local:
722
- log_path: '/var/log/fail2ban.log'
723
- conf_path: '/etc/fail2ban/jail.local'
724
- exclude: 'dropbear apache'
725
-```
726
-If no configuration is given, module will attempt to read log file at `/var/log/fail2ban.log` and conf file at `/etc/fail2ban/jail.local`.
727
-If conf file is not found default jail is `ssh`.
728
-
729
----
730
-
731
-# freeradius
732
-
733
-Uses the `radclient` command to provide freeradius statistics. It is not recommended to run it every second.
734
-
735
-It produces:
736
-
737
-1. **Authentication counters:**
738
- * access-accepts
739
- * access-rejects
740
- * auth-dropped-requests
741
- * auth-duplicate-requests
742
- * auth-invalid-requests
743
- * auth-malformed-requests
744
- * auth-unknown-types
745
-
746
-2. **Accounting counters:** [optional]
747
- * accounting-requests
748
- * accounting-responses
749
- * acct-dropped-requests
750
- * acct-duplicate-requests
751
- * acct-invalid-requests
752
- * acct-malformed-requests
753
- * acct-unknown-types
754
-
755
-3. **Proxy authentication counters:** [optional]
756
- * proxy-access-accepts
757
- * proxy-access-rejects
758
- * proxy-auth-dropped-requests
759
- * proxy-auth-duplicate-requests
760
- * proxy-auth-invalid-requests
761
- * proxy-auth-malformed-requests
762
- * proxy-auth-unknown-types
763
-
764
-4. **Proxy accounting counters:** [optional]
765
- * proxy-accounting-requests
766
- * proxy-accounting-responses
767
- * proxy-acct-dropped-requests
768
- * proxy-acct-duplicate-requests
769
- * proxy-acct-invalid-requests
770
- * proxy-acct-malformed-requests
771
- * proxy-acct-unknown-typesa
772
-
773
-
774
-### configuration
775
-
776
-Sample:
777
-
778
-```yaml
779
-local:
780
- host : 'localhost'
781
- port : '18121'
782
- secret : 'adminsecret'
783
- acct : False # Freeradius accounting statistics.
784
- proxy_auth : False # Freeradius proxy authentication statistics.
785
- proxy_acct : False # Freeradius proxy accounting statistics.
786
-```
787
-
788
-**Freeradius server configuration:**
789
-
790
-The configuration for the status server is automatically created in the sites-available directory.
791
-By default, server is enabled and can be queried from every client.
792
-FreeRADIUS will only respond to status-server messages, if the status-server virtual server has been enabled.
793
-
794
-To do this, create a link from the sites-enabled directory to the status file in the sites-available directory:
795
- * cd sites-enabled
796
- * ln -s ../sites-available/status status
797
-
798
-and restart/reload your FREERADIUS server.
799
-
800
----
801
-
802
-# go_expvar
803
-
804
----
805
-
806
-The `go_expvar` module can monitor any Go application that exposes its metrics with the use of `expvar` package from the Go standard library.
807
-
808
-`go_expvar` produces charts for Go runtime memory statistics and optionally any number of custom charts. Please see the [wiki page](https://github.com/netdata/netdata/wiki/Monitoring-Go-Applications) for more info.
809
-
810
-For the memory statistics, it produces the following charts:
811
-
812
-1. **Heap allocations** in kB
813
- * alloc: size of objects allocated on the heap
814
- * inuse: size of allocated heap spans
815
-
816
-2. **Stack allocations** in kB
817
- * inuse: size of allocated stack spans
818
-
819
-3. **MSpan allocations** in kB
820
- * inuse: size of allocated mspan structures
821
-
822
-4. **MCache allocations** in kB
823
- * inuse: size of allocated mcache structures
824
-
825
-5. **Virtual memory** in kB
826
- * sys: size of reserved virtual address space
827
-
828
-6. **Live objects**
829
- * live: number of live objects in memory
830
-
831
-7. **GC pauses average** in ns
832
- * avg: average duration of all GC stop-the-world pauses
833
-
834
-### configuration
835
-
836
-Please see the [wiki page](https://github.com/netdata/netdata/wiki/Monitoring-Go-Applications#using-netdata-go_expvar-module) for detailed info about module configuration.
837
-
838
----
839
-
840
-# haproxy
841
-
842
-Module monitors frontend and backend metrics such as bytes in, bytes out, sessions current, sessions in queue current.
843
-And health metrics such as backend servers status (server check should be used).
844
-
845
-Plugin can obtain data from url **OR** unix socket.
846
-
847
-**Requirement:**
848
-Socket MUST be readable AND writable by netdata user.
849
-
850
-It produces:
851
-
852
-1. **Frontend** family charts
853
- * Kilobytes in/s
854
- * Kilobytes out/s
855
- * Sessions current
856
- * Sessions in queue current
857
-
858
-2. **Backend** family charts
859
- * Kilobytes in/s
860
- * Kilobytes out/s
861
- * Sessions current
862
- * Sessions in queue current
863
-
864
-3. **Health** chart
865
- * number of failed servers for every backend (in DOWN state)
866
-
867
-
868
-### configuration
869
-
870
-Sample:
871
-
872
-```yaml
873
-via_url:
874
- user : 'username' # ONLY IF stats auth is used
875
- pass : 'password' # # ONLY IF stats auth is used
876
- url : 'http://ip.address:port/url;csv;norefresh'
877
-```
878
-
879
-OR
880
-
881
-```yaml
882
-via_socket:
883
- socket : 'path/to/haproxy/sock'
884
-```
885
-
886
-If no configuration is given, module will fail to run.
887
-
888
----
889
-
890
-# hddtemp
891
-
892
-Module monitors disk temperatures from one or more hddtemp daemons.
893
-
894
-**Requirement:**
895
-Running `hddtemp` in daemonized mode with access on tcp port
896
-
897
-It produces one chart **Temperature** with dynamic number of dimensions (one per disk)
898
-
899
-### configuration
900
-
901
-Sample:
902
-
903
-```yaml
904
-update_every: 3
905
-host: "127.0.0.1"
906
-port: 7634
907
-```
908
-
909
-If no configuration is given, module will attempt to connect to hddtemp daemon on `127.0.0.1:7634` address
910
-
911
----
912
-
913
-# httpcheck
914
-
915
-Module monitors remote http server for availability and response time.
916
-
917
-Following charts are drawn per job:
918
-
919
-1. **Response time** ms
920
- * Time in 0.1 ms resolution in which the server responds.
921
- If the connection failed, the value is missing.
922
-
923
-2. **Status** boolean
924
- * Connection successful
925
- * Unexpected content: No Regex match found in the response
926
- * Unexpected status code: Do we get 500 errors?
927
- * Connection failed: port not listening or blocked
928
- * Connection timed out: host or port unreachable
929
-
930
-### configuration
931
-
932
-Sample configuration and their default values.
933
-
934
-```yaml
935
-server:
936
- url: 'http://host:port/path' # required
937
- status_accepted: # optional
938
- - 200
939
- timeout: 1 # optional, supports decimals (e.g. 0.2)
940
- update_every: 3 # optional
941
- regex: 'REGULAR_EXPRESSION' # optional, see https://docs.python.org/3/howto/regex.html
942
- redirect: yes # optional
943
-```
944
-
945
-### notes
946
-
947
- * The status chart is primarily intended for alarms, badges or for access via API.
948
- * A system/service/firewall might block netdata's access if a portscan or
949
- similar is detected.
950
- * This plugin is meant for simple use cases. Currently, the accuracy of the
951
- response time is low and should be used as reference only.
952
-
953
----
954
-
955
-# icecast
956
-
957
-This module will monitor number of listeners for active sources.
958
-
959
-**Requirements:**
960
- * icecast version >= 2.4.0
961
-
962
-It produces the following charts:
963
-
964
-1. **Listeners** in listeners
965
- * source number
966
-
967
-### configuration
968
-
969
-Needs only `url` to server's `/status-json.xsl`
970
-
971
-Here is an example for remote server:
972
-
973
-```yaml
974
-remote:
975
- url : 'http://1.2.3.4:8443/status-json.xsl'
976
-```
977
-
978
-Without configuration, module attempts to connect to `http://localhost:8443/status-json.xsl`
979
-
980
----
981
-
982
-# IPFS
983
-
984
-Module monitors [IPFS](https://ipfs.io) basic information.
985
-
986
-1. **Bandwidth** in kbits/s
987
- * in
988
- * out
989
-
990
-2. **Peers**
991
- * peers
992
-
993
-### configuration
994
-
995
-Only url to IPFS server is needed.
996
-
997
-Sample:
998
-
999
-```yaml
1000
-localhost:
1001
- name : 'local'
1002
- url : 'http://localhost:5001'
1003
-```
1004
-
1005
----
1006
-
1007
-# isc_dhcpd
1008
-
1009
-Module monitor leases database to show all active leases for given pools.
1010
-
1011
-**Requirements:**
1012
- * dhcpd leases file MUST BE readable by netdata
1013
- * pools MUST BE in CIDR format
1014
-
1015
-It produces:
1016
-
1017
-1. **Pools utilization** Aggregate chart for all pools.
1018
- * utilization in percent
1019
-
1020
-2. **Total leases**
1021
- * leases (overall number of leases for all pools)
1022
-
1023
-3. **Active leases** for every pools
1024
- * leases (number of active leases in pool)
1025
-
1026
-
1027
-### configuration
1028
-
1029
-Sample:
1030
-
1031
-```yaml
1032
-local:
1033
- leases_path : '/var/lib/dhcp/dhcpd.leases'
1034
- pools : '192.168.3.0/24 192.168.4.0/24 192.168.5.0/24'
1035
-```
1036
-
1037
-In case of python2 you need to install `py2-ipaddress` to make plugin work.
1038
-The module will not work If no configuration is given.
1039
-
1040
----
1041
-
1042
-# linux\_power\_supply
1043
-
1044
-This module monitors variosu metrics reported by power supply drivers
1045
-on Linux. This allows tracking and alerting on things like remaining
1046
-battery capacity.
1047
-
1048
-Depending on the uderlying driver, it may provide the following charts
1049
-and metrics:
1050
-
1051
-1. Capacity: The power supply capacity expressed as a percentage.
1052
- * capacity\_now
1053
-
1054
-2. Charge: The charge for the power supply, expressed as microamphours.
1055
- * charge\_full\_design
1056
- * charge\_full
1057
- * charge\_now
1058
- * charge\_empty
1059
- * charge\_empty\_design
1060
-
1061
-3. Energy: The energy for the power supply, expressed as microwatthours.
1062
- * energy\_full\_design
1063
- * energy\_full
1064
- * energy\_now
1065
- * energy\_empty
1066
- * energy\_empty\_design
1067
-
1068
-2. Voltage: The voltage for the power supply, expressed as microvolts.
1069
- * voltage\_max\_design
1070
- * voltage\_max
1071
- * voltage\_now
1072
- * voltage\_min
1073
- * voltage\_min\_design
1074
-
1075
-### configuration
1076
-
1077
-Sample:
1078
-
1079
-```yaml
1080
-battery:
1081
- supply: 'BAT0'
1082
- charts: 'capacity charge energy voltage'
1083
-```
1084
-
1085
-The `supply` key specifies the name of the power supply device to monitor.
1086
-You can use `ls /sys/class/power_supply` to get a list of such devices
1087
-on your system.
1088
-
1089
-The `charts` key is a space separated list of which charts to try
1090
-to display. It defaults to trying to display everything.
1091
-
1092
-### notes
1093
-
1094
-* Most drivers provide at least the first chart. Battery powered ACPI
1095
-compliant systems (like most laptops) provide all but the third, but do
1096
-not provide all of the metrics for each chart.
1097
-
1098
-* Current, energy, and voltages are reported with a _very_ high precision
1099
-by the power\_supply framework. Usually, this is far higher than the
1100
-actual hardware supports reporting, so expect to see changes in these
1101
-charts jump instead of scaling smoothly.
1102
-
1103
-* If `max` or `full` attribute is defined by the driver, but not a
1104
-corresponding `min or `empty` attribute, then netdata will still provide
1105
-the corresponding `min` or `empty`, which will then always read as zero.
1106
-This way, alerts which match on these will still work.
1107
-
1108
----
1109
-
1110
-# litespeed
1111
-
1112
-Module monitor litespeed web server performance metrics.
1113
-
1114
-It produces:
1115
-
1116
-1. **Network Throughput HTTP** in kilobits/s
1117
- * in
1118
- * out
1119
-
1120
-2. **Network Throughput HTTPS** in kilobits/s
1121
- * in
1122
- * out
1123
-
1124
-3. **Connections HTTP** in connections
1125
- * free
1126
- * used
1127
-
1128
-4. **Connections HTTPS** in connections
1129
- * free
1130
- * used
1131
-
1132
-5. **Requests** in requests/s
1133
- * requests
1134
-
1135
-6. **Requests In Processing** in requests
1136
- * processing
1137
-
1138
-7. **Public Cache Hits** in hits/s
1139
- * hits
1140
-
1141
-8. **Private Cache Hits** in hits/s
1142
- * hits
1143
-
1144
-9. **Static Hits** in hits/s
1145
- * hits
1146
-
1147
-
1148
-### configuration
1149
-```yaml
1150
-local:
1151
- path : 'PATH'
1152
-```
1153
-
1154
-If no configuration is given, module will use "/tmp/lshttpd/".
1155
-
1156
----
1157
-
1158
-# logind
1159
-
1160
-This module monitors active sessions, users, and seats tracked by systemd-logind or elogind.
1161
-
1162
-It provides the following charts:
1163
-
1164
-1. **Sessions** Tracks the total number of sessions.
1165
- * Graphical: Local graphical sessions (running X11, or Wayland, or something else).
1166
- * Console: Local console sessions.
1167
- * Remote: Remote sessions.
1168
-
1169
-2. **Users** Tracks total number of unique user logins of each type.
1170
- * Graphical
1171
- * Console
1172
- * Remote
1173
-
1174
-3. **Seats** Total number of seats in use.
1175
- * Seats
1176
-
1177
-### configuration
1178
-
1179
-This module needs no configuration. Just make sure the netdata user
1180
-can run the `loginctl` command and get a session list without having to
1181
-specify a path.
1182
-
1183
-This will work with any command that can output data in the _exact_
1184
-same format as `loginctl list-sessions --no-legend`. If you have some
1185
-other command you want to use that outputs data in this format, you can
1186
-specify it using the `command` key like so:
1187
-
1188
-```yaml
1189
-command: '/path/to/other/command'
1190
-```
1191
-
1192
-### notes
1193
-
1194
-* This module's ability to track logins is dependent on what PAM services
1195
-are configured to register sessions with logind. In particular, for
1196
-most systems, it will only track TTY logins, local desktop logins,
1197
-and logins through remote shell connections.
1198
-
1199
-* The users chart counts _usernames_ not UID's. This is potentially
1200
-important in configurations where multiple users have the same UID.
1201
-
1202
-* The users chart counts any given user name up to once for _each_ type
1203
-of login. So if the same user has a graphical and a console login on a
1204
-system, they will show up once in the graphical count, and once in the
1205
-console count.
1206
-
1207
-* Because the data collection process is rather expensive, this plugin
1208
-is currently disabled by default, and needs to be explicitly enabled in
1209
-`/etc/netdata/python.d.conf` before it will run.
1210
-
1211
----
1212
-
1213
-# mdstat
1214
-
1215
-Module monitor /proc/mdstat
1216
-
1217
-It produces:
1218
-
1219
-1. **Health** Number of failed disks in every array (aggregate chart).
1220
-
1221
-2. **Disks stats**
1222
- * total (number of devices array ideally would have)
1223
- * inuse (number of devices currently are in use)
1224
-
1225
-3. **Current status**
1226
- * resync in percent
1227
- * recovery in percent
1228
- * reshape in percent
1229
- * check in percent
1230
-
1231
-4. **Operation status** (if resync/recovery/reshape/check is active)
1232
- * finish in minutes
1233
- * speed in megabytes/s
1234
-
1235
-### configuration
1236
-No configuration is needed.
1237
-
1238
----
1239
-
1240
-# megacli
1241
-
1242
-Module collects adapter, physical drives and battery stats.
1243
-
1244
-**Requirements:**
1245
- * `netdata` user needs to be able to be able to sudo the `megacli` program without password
1246
-
1247
-To grab stats it executes:
1248
- * `sudo -n megacli -LDPDInfo -aAll`
1249
- * `sudo -n megacli -AdpBbuCmd -a0`
1250
-
1251
-
1252
-It produces:
1253
-
1254
-1. **Adapter State**
1255
-
1256
-2. **Physical Drives Media Errors**
1257
-
1258
-3. **Physical Drives Predictive Failures**
1259
-
1260
-4. **Battery Relative State of Charge**
1261
-
1262
-5. **Battery Cycle Count**
1263
-
1264
-### configuration
1265
-Battery stats disabled by default in the module configuration file.
1266
-
1267
----
1268
-
1269
-# memcached
1270
-
1271
-Memcached monitoring module. Data grabbed from [stats interface](https://github.com/memcached/memcached/wiki/Commands#stats).
1272
-
1273
-1. **Network** in kilobytes/s
1274
- * read
1275
- * written
1276
-
1277
-2. **Connections** per second
1278
- * current
1279
- * rejected
1280
- * total
1281
-
1282
-3. **Items** in cluster
1283
- * current
1284
- * total
1285
-
1286
-4. **Evicted and Reclaimed** items
1287
- * evicted
1288
- * reclaimed
1289
-
1290
-5. **GET** requests/s
1291
- * hits
1292
- * misses
1293
-
1294
-6. **GET rate** rate in requests/s
1295
- * rate
1296
-
1297
-7. **SET rate** rate in requests/s
1298
- * rate
1299
-
1300
-8. **DELETE** requests/s
1301
- * hits
1302
- * misses
1303
-
1304
-9. **CAS** requests/s
1305
- * hits
1306
- * misses
1307
- * bad value
1308
-
1309
-10. **Increment** requests/s
1310
- * hits
1311
- * misses
1312
-
1313
-11. **Decrement** requests/s
1314
- * hits
1315
- * misses
1316
-
1317
-12. **Touch** requests/s
1318
- * hits
1319
- * misses
1320
-
1321
-13. **Touch rate** rate in requests/s
1322
- * rate
1323
-
1324
-### configuration
1325
-
1326
-Sample:
1327
-
1328
-```yaml
1329
-localtcpip:
1330
- name : 'local'
1331
- host : '127.0.0.1'
1332
- port : 24242
1333
-```
1334
-
1335
-If no configuration is given, module will attempt to connect to memcached instance on `127.0.0.1:11211` address.
1336
-
1337
----
1338
-
1339
-# mongodb
1340
-
1341
-Module monitor mongodb performance and health metrics
1342
-
1343
-**Requirements:**
1344
- * `python-pymongo` package.
1345
-
1346
-You need to install it manually.
1347
-
1348
-
1349
-Number of charts depends on mongodb version, storage engine and other features (replication):
1350
-
1351
-1. **Read requests**:
1352
- * query
1353
- * getmore (operation the cursor executes to get additional data from query)
1354
-
1355
-2. **Write requests**:
1356
- * insert
1357
- * delete
1358
- * update
1359
-
1360
-3. **Active clients**:
1361
- * readers (number of clients with read operations in progress or queued)
1362
- * writers (number of clients with write operations in progress or queued)
1363
-
1364
-4. **Journal transactions**:
1365
- * commits (count of transactions that have been written to the journal)
1366
-
1367
-5. **Data written to the journal**:
1368
- * volume (volume of data)
1369
-
1370
-6. **Background flush** (MMAPv1):
1371
- * average ms (average time taken by flushes to execute)
1372
- * last ms (time taken by the last flush)
1373
-
1374
-8. **Read tickets** (WiredTiger):
1375
- * in use (number of read tickets in use)
1376
- * available (number of available read tickets remaining)
1377
-
1378
-9. **Write tickets** (WiredTiger):
1379
- * in use (number of write tickets in use)
1380
- * available (number of available write tickets remaining)
1381
-
1382
-10. **Cursors**:
1383
- * opened (number of cursors currently opened by MongoDB for clients)
1384
- * timedOut (number of cursors that have timed)
1385
- * noTimeout (number of open cursors with timeout disabled)
1386
-
1387
-11. **Connections**:
1388
- * connected (number of clients currently connected to the database server)
1389
- * unused (number of unused connections available for new clients)
1390
-
1391
-12. **Memory usage metrics**:
1392
- * virtual
1393
- * resident (amount of memory used by the database process)
1394
- * mapped
1395
- * non mapped
1396
-
1397
-13. **Page faults**:
1398
- * page faults (number of times MongoDB had to request from disk)
1399
-
1400
-14. **Cache metrics** (WiredTiger):
1401
- * percentage of bytes currently in the cache (amount of space taken by cached data)
1402
- * percantage of tracked dirty bytes in the cache (amount of space taken by dirty data)
1403
-
1404
-15. **Pages evicted from cache** (WiredTiger):
1405
- * modified
1406
- * unmodified
1407
-
1408
-16. **Queued requests**:
1409
- * readers (number of read request currently queued)
1410
- * writers (number of write request currently queued)
1411
-
1412
-17. **Errors**:
1413
- * msg (number of message assertions raised)
1414
- * warning (number of warning assertions raised)
1415
- * regular (number of regular assertions raised)
1416
- * user (number of assertions corresponding to errors generated by users)
1417
-
1418
-18. **Storage metrics** (one chart for every database)
1419
- * dataSize (size of all documents + padding in the database)
1420
- * indexSize (size of all indexes in the database)
1421
- * storageSize (size of all extents in the database)
1422
-
1423
-19. **Documents in the database** (one chart for all databases)
1424
- * documents (number of objects in the database among all the collections)
1425
-
1426
-20. **tcmalloc metrics**
1427
- * central cache free
1428
- * current total thread cache
1429
- * pageheap free
1430
- * pageheap unmapped
1431
- * thread cache free
1432
- * transfer cache free
1433
- * heap size
1434
-
1435
-21. **Commands total/failed rate**
1436
- * count
1437
- * createIndex
1438
- * delete
1439
- * eval
1440
- * findAndModify
1441
- * insert
1442
-
1443
-22. **Locks metrics** (acquireCount metrics - number of times the lock was acquired in the specified mode)
1444
- * Global lock
1445
- * Database lock
1446
- * Collection lock
1447
- * Metadata lock
1448
- * oplog lock
1449
-
1450
-23. **Replica set members state**
1451
- * state
1452
-
1453
-24. **Oplog window**
1454
- * window (interval of time between the oldest and the latest entries in the oplog)
1455
-
1456
-25. **Replication lag**
1457
- * member (time when last entry from the oplog was applied for every member)
1458
-
1459
-26. **Replication set member heartbeat latency**
1460
- * member (time when last heartbeat was received from replica set member)
1461
-
1462
-
1463
-### configuration
1464
-
1465
-Sample:
1466
-
1467
-```yaml
1468
-local:
1469
- name : 'local'
1470
- host : '127.0.0.1'
1471
- port : 27017
1472
- user : 'netdata'
1473
- pass : 'netdata'
1474
-
1475
-```
1476
-
1477
-If no configuration is given, module will attempt to connect to mongodb daemon on `127.0.0.1:27017` address
1478
-
1479
----
1480
-
1481
-# monit
1482
-
1483
-Monit monitoring module. Data is grabbed from stats XML interface (exists for a long time, but not mentioned in official documentation). Mostly this plugin shows statuses of monit targets, i.e. [statuses of specified checks](https://mmonit.com/monit/documentation/monit.html#Service-checks).
1484
-
1485
-1. **Filesystems**
1486
- * Filesystems
1487
- * Directories
1488
- * Files
1489
- * Pipes
1490
-
1491
-2. **Applications**
1492
- * Processes (+threads/childs)
1493
- * Programs
1494
-
1495
-3. **Network**
1496
- * Hosts (+latency)
1497
- * Network interfaces
1498
-
1499
-### configuration
1500
-
1501
-Sample:
1502
-
1503
-```yaml
1504
-local:
1505
- name : 'local'
1506
- url : 'http://localhost:2812'
1507
- user: : admin
1508
- pass: : monit
1509
-```
1510
-
1511
-If no configuration is given, module will attempt to connect to monit as `http://localhost:2812`.
1512
-
1513
----
1514
-
1515
-# mysql
1516
-
1517
-Module monitors one or more mysql servers
1518
-
1519
-**Requirements:**
1520
- * python library [MySQLdb](https://github.com/PyMySQL/mysqlclient-python) (faster) or [PyMySQL](https://github.com/PyMySQL/PyMySQL) (slower)
1521
-
1522
-It will produce following charts (if data is available):
1523
-
1524
-1. **Bandwidth** in kbps
1525
- * in
1526
- * out
1527
-
1528
-2. **Queries** in queries/sec
1529
- * queries
1530
- * questions
1531
- * slow queries
1532
-
1533
-3. **Operations** in operations/sec
1534
- * opened tables
1535
- * flush
1536
- * commit
1537
- * delete
1538
- * prepare
1539
- * read first
1540
- * read key
1541
- * read next
1542
- * read prev
1543
- * read random
1544
- * read random next
1545
- * rollback
1546
- * save point
1547
- * update
1548
- * write
1549
-
1550
-4. **Table Locks** in locks/sec
1551
- * immediate
1552
- * waited
1553
-
1554
-5. **Select Issues** in issues/sec
1555
- * full join
1556
- * full range join
1557
- * range
1558
- * range check
1559
- * scan
1560
-
1561
-6. **Sort Issues** in issues/sec
1562
- * merge passes
1563
- * range
1564
- * scan
1565
-
1566
-### configuration
1567
-
1568
-You can provide, per server, the following:
1569
-
1570
-1. username which have access to database (defaults to 'root')
1571
-2. password (defaults to none)
1572
-3. mysql my.cnf configuration file
1573
-4. mysql socket (optional)
1574
-5. mysql host (ip or hostname)
1575
-6. mysql port (defaults to 3306)
1576
-
1577
-Here is an example for 3 servers:
1578
-
1579
-```yaml
1580
-update_every : 10
1581
-priority : 90100
1582
-retries : 5
1583
-
1584
-local:
1585
- 'my.cnf' : '/etc/mysql/my.cnf'
1586
- priority : 90000
1587
-
1588
-local_2:
1589
- user : 'root'
1590
- pass : 'blablablabla'
1591
- socket : '/var/run/mysqld/mysqld.sock'
1592
- update_every : 1
1593
-
1594
-remote:
1595
- user : 'admin'
1596
- pass : 'bla'
1597
- host : 'example.org'
1598
- port : 9000
1599
- retries : 20
1600
-```
1601
-
1602
-If no configuration is given, module will attempt to connect to mysql server via unix socket at `/var/run/mysqld/mysqld.sock` without password and with username `root`
1603
-
1604
----
1605
-
1606
-# nginx
1607
-
1608
-This module will monitor one or more nginx servers depending on configuration. Servers can be either local or remote.
1609
-
1610
-**Requirements:**
1611
- * nginx with configured 'ngx_http_stub_status_module'
1612
- * 'location /stub_status'
1613
-
1614
-Example nginx configuration can be found in 'python.d/nginx.conf'
1615
-
1616
-It produces following charts:
1617
-
1618
-1. **Active Connections**
1619
- * active
1620
-
1621
-2. **Requests** in requests/s
1622
- * requests
1623
-
1624
-3. **Active Connections by Status**
1625
- * reading
1626
- * writing
1627
- * waiting
1628
-
1629
-4. **Connections Rate** in connections/s
1630
- * accepts
1631
- * handled
1632
-
1633
-### configuration
1634
-
1635
-Needs only `url` to server's `stub_status`
1636
-
1637
-Here is an example for local server:
1638
-
1639
-```yaml
1640
-update_every : 10
1641
-priority : 90100
1642
-
1643
-local:
1644
- url : 'http://localhost/stub_status'
1645
- retries : 10
1646
-```
1647
-
1648
-Without configuration, module attempts to connect to `http://localhost/stub_status`
1649
-
1650
----
1651
-
1652
-# nginx_plus
1653
-
1654
-This module will monitor one or more nginx_plus servers depending on configuration.
1655
-Servers can be either local or remote.
1656
-
1657
-Example nginx_plus configuration can be found in 'python.d/nginx_plus.conf'
1658
-
1659
-It produces following charts:
1660
-
1661
-1. **Requests total** in requests/s
1662
- * total
1663
-
1664
-2. **Requests current** in requests
1665
- * current
1666
-
1667
-3. **Connection Statistics** in connections/s
1668
- * accepted
1669
- * dropped
1670
-
1671
-4. **Workers Statistics** in workers
1672
- * idle
1673
- * active
1674
-
1675
-5. **SSL Handshakes** in handshakes/s
1676
- * successful
1677
- * failed
1678
-
1679
-6. **SSL Session Reuses** in sessions/s
1680
- * reused
1681
-
1682
-7. **SSL Memory Usage** in percent
1683
- * usage
1684
-
1685
-8. **Processes** in processes
1686
- * respawned
1687
-
1688
-For every server zone:
1689
-
1690
-1. **Processing** in requests
1691
- * processing
1692
-
1693
-2. **Requests** in requests/s
1694
- * requests
1695
-
1696
-3. **Responses** in requests/s
1697
- * 1xx
1698
- * 2xx
1699
- * 3xx
1700
- * 4xx
1701
- * 5xx
1702
-
1703
-4. **Traffic** in kilobits/s
1704
- * received
1705
- * sent
1706
-
1707
-For every upstream:
1708
-
1709
-1. **Peers Requests** in requests/s
1710
- * peer name (dimension per peer)
1711
-
1712
-2. **All Peers Responses** in responses/s
1713
- * 1xx
1714
- * 2xx
1715
- * 3xx
1716
- * 4xx
1717
- * 5xx
1718
-
1719
-3. **Peer Responses** in requests/s (for every peer)
1720
- * 1xx
1721
- * 2xx
1722
- * 3xx
1723
- * 4xx
1724
- * 5xx
1725
-
1726
-4. **Peers Connections** in active
1727
- * peer name (dimension per peer)
1728
-
1729
-5. **Peers Connections Usage** in percent
1730
- * peer name (dimension per peer)
1731
-
1732
-6. **All Peers Traffic** in KB
1733
- * received
1734
- * sent
1735
-
1736
-7. **Peer Traffic** in KB/s (for every peer)
1737
- * received
1738
- * sent
1739
-
1740
-8. **Peer Timings** in ms (for every peer)
1741
- * header
1742
- * response
1743
-
1744
-9. **Memory Usage** in percent
1745
- * usage
1746
-
1747
-10. **Peers Status** in state
1748
- * peer name (dimension per peer)
1749
-
1750
-11. **Peers Total Downtime** in seconds
1751
- * peer name (dimension per peer)
1752
-
1753
-For every cache:
1754
-
1755
-1. **Traffic** in KB
1756
- * served
1757
- * written
1758
- * bypass
1759
-
1760
-2. **Memory Usage** in percent
1761
- * usage
1762
-
1763
-### configuration
1764
-
1765
-Needs only `url` to server's `status`
1766
-
1767
-Here is an example for local server:
1768
-
1769
-```yaml
1770
-local:
1771
- url : 'http://localhost/status'
1772
-```
1773
-
1774
-Without configuration, module fail to start.
1775
-
1776
----
1777
-
1778
-# nsd
1779
-
1780
-Module uses the `nsd-control stats_noreset` command to provide `nsd` statistics.
1781
-
1782
-**Requirements:**
1783
- * Version of `nsd` must be 4.0+
1784
- * Netdata must have permissions to run `nsd-control stats_noreset`
1785
-
1786
-It produces:
1787
-
1788
-1. **Queries**
1789
- * queries
1790
-
1791
-2. **Zones**
1792
- * master
1793
- * slave
1794
-
1795
-3. **Protocol**
1796
- * udp
1797
- * udp6
1798
- * tcp
1799
- * tcp6
1800
-
1801
-4. **Query Type**
1802
- * A
1803
- * NS
1804
- * CNAME
1805
- * SOA
1806
- * PTR
1807
- * HINFO
1808
- * MX
1809
- * NAPTR
1810
- * TXT
1811
- * AAAA
1812
- * SRV
1813
- * ANY
1814
-
1815
-5. **Transfer**
1816
- * NOTIFY
1817
- * AXFR
1818
-
1819
-6. **Return Code**
1820
- * NOERROR
1821
- * FORMERR
1822
- * SERVFAIL
1823
- * NXDOMAIN
1824
- * NOTIMP
1825
- * REFUSED
1826
- * YXDOMAIN
1827
-
1828
-
1829
-Configuration is not needed.
1830
-
1831
----
1832
-
1833
-# ntpd
1834
-
1835
-Module monitors the system variables of the local `ntpd` daemon (optional incl. variables of the polled peers) using the NTP Control Message Protocol via UDP socket, similar to `ntpq`, the [standard NTP query program](http://doc.ntp.org/current-stable/ntpq.html).
1836
-
1837
-**Requirements:**
1838
- * Version: `NTPv4`
1839
- * Local interrogation allowed in `/etc/ntp.conf` (default):
1840
-
1841
-```
1842
-# Local users may interrogate the ntp server more closely.
1843
-restrict 127.0.0.1
1844
-restrict ::1
1845
-```
1846
-
1847
-It produces:
1848
-
1849
-1. system
1850
- * offset
1851
- * jitter
1852
- * frequency
1853
- * delay
1854
- * dispersion
1855
- * stratum
1856
- * tc
1857
- * precision
1858
-
1859
-2. peers
1860
- * offset
1861
- * delay
1862
- * dispersion
1863
- * jitter
1864
- * rootdelay
1865
- * rootdispersion
1866
- * stratum
1867
- * hmode
1868
- * pmode
1869
- * hpoll
1870
- * ppoll
1871
- * precision
1872
-
1873
-**configuration**
1874
-
1875
-Sample:
1876
-
1877
-```yaml
1878
-update_every: 10
1879
-
1880
-host: 'localhost'
1881
-port: '123'
1882
-show_peers: yes
1883
-# hide peers with source address in ranges 127.0.0.0/8 and 192.168.0.0/16
1884
-peer_filter: '(127\..*)|(192\.168\..*)'
1885
-# check for new/changed peers every 60 updates
1886
-peer_rescan: 60
1887
-```
1888
-
1889
-Sample (multiple jobs):
1890
-
1891
-Note: `ntp.conf` on the host `otherhost` must be configured to allow queries from our local host by including a line like `restrict <IP> nomodify notrap nopeer`.
1892
-
1893
-```yaml
1894
-local:
1895
- host: 'localhost'
1896
-
1897
-otherhost:
1898
- host: 'otherhost'
1899
-```
1900
-
1901
-If no configuration is given, module will attempt to connect to `ntpd` on `::1:123` or `127.0.0.1:123` and show charts for the systemvars. Use `show_peers: yes` to also show the charts for configured peers. Local peers in the range `127.0.0.0/8` are hidden by default, use `peer_filter: ''` to show all peers.
1902
-
1903
----
1904
-
1905
-# ovpn_status_log
1906
-
1907
-Module monitor openvpn-status log file.
1908
-
1909
-**Requirements:**
1910
-
1911
- * If you are running multiple OpenVPN instances out of the same directory, MAKE SURE TO EDIT DIRECTIVES which create output files
1912
- so that multiple instances do not overwrite each other's output files.
1913
-
1914
- * Make sure NETDATA USER CAN READ openvpn-status.log
1915
-
1916
- * Update_every interval MUST MATCH interval on which OpenVPN writes operational status to log file.
1917
-
1918
-It produces:
1919
-
1920
-1. **Users** OpenVPN active users
1921
- * users
1922
-
1923
-2. **Traffic** OpenVPN overall bandwidth usage in kilobit/s
1924
- * in
1925
- * out
1926
-
1927
-### configuration
1928
-
1929
-Sample:
1930
-
1931
-```yaml
1932
-default
1933
- log_path : '/var/log/openvpn-status.log'
1934
-```
1935
-
1936
----
1937
-
1938
-# phpfpm
1939
-
1940
-This module will monitor one or more php-fpm instances depending on configuration.
1941
-
1942
-**Requirements:**
1943
- * php-fpm with enabled `status` page
1944
- * access to `status` page via web server
1945
-
1946
-It produces following charts:
1947
-
1948
-1. **Active Connections**
1949
- * active
1950
- * maxActive
1951
- * idle
1952
-
1953
-2. **Requests** in requests/s
1954
- * requests
1955
-
1956
-3. **Performance**
1957
- * reached
1958
- * slow
1959
-
1960
-### configuration
1961
-
1962
-Needs only `url` to server's `status`
1963
-
1964
-Here is an example for local instance:
1965
-
1966
-```yaml
1967
-update_every : 3
1968
-priority : 90100
1969
-
1970
-local:
1971
- url : 'http://localhost/status'
1972
- retries : 10
1973
-```
1974
-
1975
-Without configuration, module attempts to connect to `http://localhost/status`
1976
-
1977
----
1978
-
1979
-# portcheck
1980
-
1981
-Module monitors a remote TCP service.
1982
-
1983
-Following charts are drawn per host:
1984
-
1985
-1. **Latency** ms
1986
- * Time required to connect to a TCP port.
1987
- Displays latency in 0.1 ms resolution. If the connection failed, the value is missing.
1988
-
1989
-2. **Status** boolean
1990
- * Connection successful
1991
- * Could not create socket: possible DNS problems
1992
- * Connection refused: port not listening or blocked
1993
- * Connection timed out: host or port unreachable
1994
-
1995
-
1996
-### configuration
1997
-
1998
-```yaml
1999
-server:
2000
- host: 'dns or ip' # required
2001
- port: 22 # required
2002
- timeout: 1 # optional
2003
- update_every: 1 # optional
2004
-```
2005
-
2006
-### notes
2007
-
2008
- * The error chart is intended for alarms, badges or for access via API.
2009
- * A system/service/firewall might block netdata's access if a portscan or
2010
- similar is detected.
2011
- * Currently, the accuracy of the latency is low and should be used as reference only.
2012
-
2013
----
2014
-
2015
-# postfix
2016
-
2017
-Simple module executing `postfix -p` to grab postfix queue.
2018
-
2019
-It produces only two charts:
2020
-
2021
-1. **Postfix Queue Emails**
2022
- * emails
2023
-
2024
-2. **Postfix Queue Emails Size** in KB
2025
- * size
2026
-
2027
-Configuration is not needed.
2028
-
2029
----
2030
-
2031
-# postgres
2032
-
2033
-Module monitors one or more postgres servers.
2034
-
2035
-**Requirements:**
2036
-
2037
- * `python-psycopg2` package. You have to install it manually.
2038
-
2039
-Following charts are drawn:
2040
-
2041
-1. **Database size** MB
2042
- * size
2043
-
2044
-2. **Current Backend Processes** processes
2045
- * active
2046
-
2047
-3. **Write-Ahead Logging Statistics** files/s
2048
- * total
2049
- * ready
2050
- * done
2051
-
2052
-4. **Checkpoints** writes/s
2053
- * scheduled
2054
- * requested
2055
-
2056
-5. **Current connections to db** count
2057
- * connections
2058
-
2059
-6. **Tuples returned from db** tuples/s
2060
- * sequential
2061
- * bitmap
2062
-
2063
-7. **Tuple reads from db** reads/s
2064
- * disk
2065
- * cache
2066
-
2067
-8. **Transactions on db** transactions/s
2068
- * committed
2069
- * rolled back
2070
-
2071
-9. **Tuples written to db** writes/s
2072
- * inserted
2073
- * updated
2074
- * deleted
2075
- * conflicts
2076
-
2077
-10. **Locks on db** count per type
2078
- * locks
2079
-
2080
-### configuration
2081
-
2082
-```yaml
2083
-socket:
2084
- name : 'socket'
2085
- user : 'postgres'
2086
- database : 'postgres'
2087
-
2088
-tcp:
2089
- name : 'tcp'
2090
- user : 'postgres'
2091
- database : 'postgres'
2092
- host : 'localhost'
2093
- port : 5432
2094
-```
2095
-
2096
-When no configuration file is found, module tries to connect to TCP/IP socket: `localhost:5432`.
2097
-
2098
----
2099
-
2100
-# powerdns
2101
-
2102
-Module monitor powerdns performance and health metrics.
2103
-
2104
-Powerdns charts:
2105
-
2106
-1. **Queries and Answers**
2107
- * udp-queries
2108
- * udp-answers
2109
- * tcp-queries
2110
- * tcp-answers
2111
-
2112
-2. **Cache Usage**
2113
- * query-cache-hit
2114
- * query-cache-miss
2115
- * packetcache-hit
2116
- * packetcache-miss
2117
-
2118
-3. **Cache Size**
2119
- * query-cache-size
2120
- * packetcache-size
2121
- * key-cache-size
2122
- * meta-cache-size
2123
-
2124
-4. **Latency**
2125
- * latency
2126
-
2127
- Powerdns Recursor charts:
2128
-
2129
- 1. **Questions In**
2130
- * questions
2131
- * ipv6-questions
2132
- * tcp-queries
2133
-
2134
-2. **Questions Out**
2135
- * all-outqueries
2136
- * ipv6-outqueries
2137
- * tcp-outqueries
2138
- * throttled-outqueries
2139
-
2140
-3. **Answer Times**
2141
- * answers-slow
2142
- * answers0-1
2143
- * answers1-10
2144
- * answers10-100
2145
- * answers100-1000
2146
-
2147
-4. **Timeouts**
2148
- * outgoing-timeouts
2149
- * outgoing4-timeouts
2150
- * outgoing6-timeouts
2151
-
2152
-5. **Drops**
2153
- * over-capacity-drops
2154
-
2155
-6. **Cache Usage**
2156
- * cache-hits
2157
- * cache-misses
2158
- * packetcache-hits
2159
- * packetcache-misses
2160
-
2161
-7. **Cache Size**
2162
- * cache-entries
2163
- * packetcache-entries
2164
- * negcache-entries
2165
-
2166
-### configuration
2167
-
2168
-```yaml
2169
-local:
2170
- name : 'local'
2171
- url : 'http://127.0.0.1:8081/api/v1/servers/localhost/statistics'
2172
- header :
2173
- X-API-Key: 'change_me'
2174
-```
2175
-
2176
----
2177
-
2178
-# puppet
2179
-
2180
-Monitor status of Puppet Server and Puppet DB.
2181
-
2182
-Following charts are drawn:
2183
-
2184
-1. **JVM Heap**
2185
- * committed (allocated from OS)
2186
- * used (actual use)
2187
-2. **JVM Non-Heap**
2188
- * committed (allocated from OS)
2189
- * used (actual use)
2190
-3. **CPU Usage**
2191
- * execution
2192
- * GC (taken by garbage collection)
2193
-4. **File Descriptors**
2194
- * max
2195
- * used
2196
-
2197
-
2198
-### configuration
2199
-
2200
-```yaml
2201
-puppetdb:
2202
- url: 'https://fqdn.example.com:8081'
2203
- tls_cert_file: /path/to/client.crt
2204
- tls_key_file: /path/to/client.key
2205
- autodetection_retry: 1
2206
- retries: 3600
2207
-
2208
-puppetserver:
2209
- url: 'https://fqdn.example.com:8140'
2210
- autodetection_retry: 1
2211
- retries: 3600
2212
-```
2213
-
2214
-When no configuration is given then `https://fqdn.example.com:8140` is
2215
-tried without any retries.
2216
-
2217
-### notes
2218
-
2219
-* Exact Fully Qualified Domain Name of the node should be used.
2220
-* Usually Puppet Server/DB startup time is VERY long. So, there should
2221
- be quite reasonable retry count.
2222
-* Secure PuppetDB config may require client certificate. Not applies
2223
- to default PuppetDB configuration though.
2224
-
2225
----
2226
-
2227
-# rabbitmq
2228
-
2229
-Module monitor rabbitmq performance and health metrics.
2230
-
2231
-Following charts are drawn:
2232
-
2233
-1. **Queued Messages**
2234
- * ready
2235
- * unacknowledged
2236
-
2237
-2. **Message Rates**
2238
- * ack
2239
- * redelivered
2240
- * deliver
2241
- * publish
2242
-
2243
-3. **Global Counts**
2244
- * channels
2245
- * consumers
2246
- * connections
2247
- * queues
2248
- * exchanges
2249
-
2250
-4. **File Descriptors**
2251
- * used descriptors
2252
-
2253
-5. **Socket Descriptors**
2254
- * used descriptors
2255
-
2256
-6. **Erlang processes**
2257
- * used processes
2258
-
2259
-7. **Erlang run queue**
2260
- * Erlang run queue
2261
-
2262
-8. **Memory**
2263
- * free memory in megabytes
2264
-
2265
-9. **Disk Space**
2266
- * free disk space in gigabytes
2267
-
2268
-### configuration
2269
-
2270
-```yaml
2271
-socket:
2272
- name : 'local'
2273
- host : '127.0.0.1'
2274
- port : 15672
2275
- user : 'guest'
2276
- pass : 'guest'
2277
-
2278
-```
2279
-
2280
-When no configuration file is found, module tries to connect to: `localhost:15672`.
2281
-
2282
----
2283
-
2284
-# redis
2285
-
2286
-Get INFO data from redis instance.
2287
-
2288
-Following charts are drawn:
2289
-
2290
-1. **Operations** per second
2291
- * operations
2292
-
2293
-2. **Hit rate** in percent
2294
- * rate
2295
-
2296
-3. **Memory utilization** in kilobytes
2297
- * total
2298
- * lua
2299
-
2300
-4. **Database keys**
2301
- * lines are creates dynamically based on how many databases are there
2302
-
2303
-5. **Clients**
2304
- * connected
2305
- * blocked
2306
-
2307
-6. **Slaves**
2308
- * connected
2309
-
2310
-### configuration
2311
-
2312
-```yaml
2313
-socket:
2314
- name : 'local'
2315
- socket : '/var/lib/redis/redis.sock'
2316
-
2317
-localhost:
2318
- name : 'local'
2319
- host : 'localhost'
2320
- port : 6379
2321
-```
2322
-
2323
-When no configuration file is found, module tries to connect to TCP/IP socket: `localhost:6379`.
2324
-
2325
----
2326
-
2327
-# rethinkdb
2328
-
2329
-Module monitor rethinkdb health metrics.
2330
-
2331
-Following charts are drawn:
2332
-
2333
-1. **Connected Servers**
2334
- * connected
2335
- * missing
2336
-
2337
-2. **Active Clients**
2338
- * active
2339
-
2340
-3. **Queries** per second
2341
- * queries
2342
-
2343
-4. **Documents** per second
2344
- * documents
2345
-
2346
-### configuration
2347
-
2348
-```yaml
2349
-
2350
-localhost:
2351
- name : 'local'
2352
- host : '127.0.0.1'
2353
- port : 28015
2354
- user : "user"
2355
- password : "pass"
2356
-```
2357
-
2358
-When no configuration file is found, module tries to connect to `127.0.0.1:28015`.
2359
-
2360
----
2361
-
2362
-# samba
2363
-
2364
-Performance metrics of Samba file sharing.
2365
-
2366
-It produces the following charts:
2367
-
2368
-1. **Syscall R/Ws** in kilobytes/s
2369
- * sendfile
2370
- * recvfle
2371
-
2372
-2. **Smb2 R/Ws** in kilobytes/s
2373
- * readout
2374
- * writein
2375
- * readin
2376
- * writeout
2377
-
2378
-3. **Smb2 Create/Close** in operations/s
2379
- * create
2380
- * close
2381
-
2382
-4. **Smb2 Info** in operations/s
2383
- * getinfo
2384
- * setinfo
2385
-
2386
-5. **Smb2 Find** in operations/s
2387
- * find
2388
-
2389
-6. **Smb2 Notify** in operations/s
2390
- * notify
2391
-
2392
-7. **Smb2 Lesser Ops** as counters
2393
- * tcon
2394
- * negprot
2395
- * tdis
2396
- * cancel
2397
- * logoff
2398
- * flush
2399
- * lock
2400
- * keepalive
2401
- * break
2402
- * sessetup
2403
-
2404
-### configuration
2405
-
2406
-Requires that smbd has been compiled with profiling enabled. Also required
2407
-that `smbd` was started either with the `-P 1` option or inside `smb.conf`
2408
-using `smbd profiling level`.
2409
-
2410
-This plugin uses `smbstatus -P` which can only be executed by root. It uses
2411
-sudo and assumes that it is configured such that the `netdata` user can
2412
-execute smbstatus as root without password.
2413
-
2414
-For example:
2415
-
2416
- netdata ALL=(ALL) NOPASSWD: /usr/bin/smbstatus -P
2417
-
2418
-```yaml
2419
-update_every : 5 # update frequency
2420
-```
2421
-
2422
----
2423
-
2424
-# sensors
2425
-
2426
-System sensors information.
2427
-
2428
-Charts are created dynamically.
2429
-
2430
-### configuration
2431
-
2432
-For detailed configuration information please read [`sensors.conf`](https://github.com/netdata/netdata/blob/master/conf.d/python.d/sensors.conf) file.
2433
-
2434
-### possible issues
2435
-
2436
-There have been reports from users that on certain servers, ACPI ring buffer errors are printed by the kernel (`dmesg`) when ACPI sensors are being accessed.
2437
-We are tracking such cases in issue [#827](https://github.com/netdata/netdata/issues/827).
2438
-Please join this discussion for help.
2439
-
2440
----
2441
-
2442
-# spigotmc
2443
-
2444
-This module does some really basic monitoring for Spigot Minecraft servers.
2445
-
2446
-It provides two charts, one tracking server-side ticks-per-second in
2447
-1, 5 and 15 minute averages, and one tracking the number of currently
2448
-active users.
2449
-
2450
-This is not compatible with Spigot plugins which change the format of
2451
-the data returned by the `tps` or `list` console commands.
2452
-
2453
-### configuration
2454
-
2455
-```yaml
2456
-host: localhost
2457
-port: 25575
2458
-password: pass
2459
-```
2460
-
2461
-By default, a connection to port 25575 on the local system is attempted with an empty password.
2462
-
2463
----
2464
-
2465
-# springboot
2466
-
2467
-This module will monitor one or more Java Spring-boot applications depending on configuration.
2468
-
2469
-It produces following charts:
2470
-
2471
-1. **Response Codes** in requests/s
2472
- * 1xx
2473
- * 2xx
2474
- * 3xx
2475
- * 4xx
2476
- * 5xx
2477
- * others
2478
-
2479
-2. **Threads**
2480
- * daemon
2481
- * total
2482
-
2483
-3. **GC Time** in milliseconds and **GC Operations** in operations/s
2484
- * Copy
2485
- * MarkSweep
2486
- * ...
2487
-
2488
-4. **Heap Mmeory Usage** in KB
2489
- * used
2490
- * committed
2491
-
2492
-### configuration
2493
-
2494
-Please see the [Monitoring Java Spring Boot Applications](https://github.com/netdata/netdata/wiki/Monitoring-Java-Spring-Boot-Applications) page for detailed info about module configuration.
2495
-
2496
----
2497
-
2498
-# squid
2499
-
2500
-This module will monitor one or more squid instances depending on configuration.
2501
-
2502
-It produces following charts:
2503
-
2504
-1. **Client Bandwidth** in kilobits/s
2505
- * in
2506
- * out
2507
- * hits
2508
-
2509
-2. **Client Requests** in requests/s
2510
- * requests
2511
- * hits
2512
- * errors
2513
-
2514
-3. **Server Bandwidth** in kilobits/s
2515
- * in
2516
- * out
2517
-
2518
-4. **Server Requests** in requests/s
2519
- * requests
2520
- * errors
2521
-
2522
-### configuration
2523
-
2524
-```yaml
2525
-priority : 50000
2526
-
2527
-local:
2528
- request : 'cache_object://localhost:3128/counters'
2529
- host : 'localhost'
2530
- port : 3128
2531
-```
2532
-
2533
-Without any configuration module will try to autodetect where squid presents its `counters` data
2534
-
2535
----
2536
-
2537
-# smartd_log
2538
-
2539
-Module monitor `smartd` log files to collect HDD/SSD S.M.A.R.T attributes.
2540
-
2541
-It produces following charts (you can add additional attributes in the module configuration file):
2542
-
2543
-1. **Read Error Rate** attribute 1
2544
-
2545
-2. **Start/Stop Count** attribute 4
2546
-
2547
-3. **Reallocated Sectors Count** attribute 5
2548
-
2549
-4. **Seek Error Rate** attribute 7
2550
-
2551
-5. **Power-On Hours Count** attribute 9
2552
-
2553
-6. **Power Cycle Count** attribute 12
2554
-
2555
-7. **Load/Unload Cycles** attribute 193
2556
-
2557
-8. **Temperature** attribute 194
2558
-
2559
-9. **Current Pending Sectors** attribute 197
2560
-
2561
-10. **Off-Line Uncorrectable** attribute 198
2562
-
2563
-11. **Write Error Rate** attribute 200
2564
-
2565
-### configuration
2566
-
2567
-```yaml
2568
-local:
2569
- log_path : '/var/log/smartd/'
2570
-```
2571
-
2572
-If no configuration is given, module will attempt to read log files in /var/log/smartd/ directory.
2573
-
2574
----
2575
-
2576
-# tomcat
2577
-
2578
-Present tomcat containers memory utilization.
2579
-
2580
-Charts:
2581
-
2582
-1. **Requests** per second
2583
- * accesses
2584
-
2585
-2. **Volume** in KB/s
2586
- * volume
2587
-
2588
-3. **Threads**
2589
- * current
2590
- * busy
2591
-
2592
-4. **JVM Free Memory** in MB
2593
- * jvm
2594
-
2595
-### configuration
2596
-
2597
-```yaml
2598
-localhost:
2599
- name : 'local'
2600
- url : 'http://127.0.0.1:8080/manager/status?XML=true'
2601
- user : 'tomcat_username'
2602
- pass : 'secret_tomcat_password'
2603
-```
2604
-
2605
-Without configuration, module attempts to connect to `http://localhost:8080/manager/status?XML=true`, without any credentials.
2606
-So it will probably fail.
2607
-
2608
----
2609
-
2610
-# Traefik
2611
-
2612
-Module uses the `health` API to provide statistics.
2613
-
2614
-It produces:
2615
-
2616
-1. **Responses** by statuses
2617
- * success (1xx, 2xx, 304)
2618
- * error (5xx)
2619
- * redirect (3xx except 304)
2620
- * bad (4xx)
2621
- * other (all other responses)
2622
-
2623
-2. **Responses** by codes
2624
- * 2xx (successful)
2625
- * 5xx (internal server errors)
2626
- * 3xx (redirect)
2627
- * 4xx (bad)
2628
- * 1xx (informational)
2629
- * other (non-standart responses)
2630
-
2631
-3. **Detailed Response Codes** requests/s (number of responses for each response code family individually)
2632
-
2633
-4. **Requests**/s
2634
- * request statistics
2635
-
2636
-5. **Total response time**
2637
- * sum of all response time
2638
-
2639
-6. **Average response time**
2640
-
2641
-7. **Average response time per iteration**
2642
-
2643
-8. **Uptime**
2644
- * Traefik server uptime
2645
-
2646
-### configuration
2647
-
2648
-Needs only `url` to server's `health`
2649
-
2650
-Here is an example for local server:
2651
-
2652
-```yaml
2653
-update_every : 1
2654
-priority : 60000
2655
-
2656
-local:
2657
- url : 'http://localhost:8080/health'
2658
- retries : 10
2659
-```
2660
-
2661
-Without configuration, module attempts to connect to `http://localhost:8080/health`.
2662
-
2663
----
2664
-
2665
-# Unbound
2666
-
2667
-Monitoring uses the remote control interface to fetch statistics.
2668
-
2669
-Provides the following charts:
2670
-
2671
-1. **Queries Processed**
2672
- * Ratelimited
2673
- * Cache Misses
2674
- * Cache Hits
2675
- * Expired
2676
- * Prefetched
2677
- * Recursive
2678
-
2679
-2. **Request List**
2680
- * Average Size
2681
- * Max Size
2682
- * Overwritten Requests
2683
- * Overruns
2684
- * Current Size
2685
- * User Requests
2686
-
2687
-3. **Recursion Timings**
2688
- * Average recursion processing time
2689
- * Median recursion processing time
2690
-
2691
-If extended stats are enabled, also provides:
2692
-
2693
-4. **Cache Sizes**
2694
- * Message Cache
2695
- * RRset Cache
2696
- * Infra Cache
2697
- * DNSSEC Key Cache
2698
- * DNSCrypt Shared Secret Cache
2699
- * DNSCrypt Nonce Cache
2700
-
2701
-### configuration
2702
-
2703
-Unbound must be manually configured to enable the remote-control protocol.
2704
-Check the Unbound documentation for info on how to do this. Additionally,
2705
-if you want to take advantage of the autodetection this plugin offers,
2706
-you will need to make sure your `unbound.conf` file only uses spaces for
2707
-indentation (the default config shipped by most distributions uses tabs
2708
-instead of spaces).
2709
-
2710
-Once you have the Unbound control protocol enabled, you need to make sure
2711
-that either the certificate and key are readable by Netdata (if you're
2712
-using the regular control interface), or that the socket is accessible
2713
-to Netdata (if you're using a UNIX socket for the contorl interface).
2714
-
2715
-By default, for the local system, everything can be auto-detected
2716
-assuming Unbound is configured correctly and has been told to listen
2717
-on the loopback interface or a UNIX socket. This is done by looking
2718
-up info in the Unbound config file specified by the `ubconf` key.
2719
-
2720
-To enable extended stats for a given job, add `extended: yes` to the
2721
-definition.
2722
-
2723
-You can also enable per-thread charts for a given job by adding
2724
-`per_thread: yes` to the definition. Note that the numbe rof threads
2725
-is only checked on startup.
2726
-
2727
-A basic local configuration with extended statistics and per-thread
2728
-charts looks like this:
2729
-
2730
-```yaml
2731
-local:
2732
- ubconf: /etc/unbound/unbound.conf
2733
- extended: yes
2734
- per_thread: yes
2735
-```
2736
-
2737
-While it's a bit more complicated to set up correctly, it is recommended
2738
-that you use a UNIX socket as it provides far better performance.
2739
-
2740
----
2741
-
2742
-# varnish cache
2743
-
2744
-Module uses the `varnishstat` command to provide varnish cache statistics.
2745
-
2746
-It produces:
2747
-
2748
-1. **Connections Statistics** in connections/s
2749
- * accepted
2750
- * dropped
2751
-
2752
-2. **Client Requests** in requests/s
2753
- * received
2754
-
2755
-3. **All History Hit Rate Ratio** in percent
2756
- * hit
2757
- * miss
2758
- * hitpass
2759
-
2760
-4. **Current Poll Hit Rate Ratio** in percent
2761
- * hit
2762
- * miss
2763
- * hitpass
2764
-
2765
-5. **Expired Objects** in expired/s
2766
- * objects
2767
-
2768
-6. **Least Recently Used Nuked Objects** in nuked/s
2769
- * objects
2770
-
2771
-
2772
-7. **Number Of Threads In All Pools** in threads
2773
- * threads
2774
-
2775
-8. **Threads Statistics** in threads/s
2776
- * created
2777
- * failed
2778
- * limited
2779
-
2780
-9. **Current Queue Length** in requests
2781
- * in queue
2782
-
2783
-10. **Backend Connections Statistics** in connections/s
2784
- * successful
2785
- * unhealthy
2786
- * reused
2787
- * closed
2788
- * resycled
2789
- * failed
2790
-
2791
-10. **Requests To The Backend** in requests/s
2792
- * received
2793
-
2794
-11. **ESI Statistics** in problems/s
2795
- * errors
2796
- * warnings
2797
-
2798
-12. **Memory Usage** in MB
2799
- * free
2800
- * allocated
2801
-
2802
-13. **Uptime** in seconds
2803
- * uptime
2804
-
2805
-
2806
-### configuration
2807
-
2808
-No configuration is needed.
2809
-
2810
----
2811
-
2812
-# w1sensor
2813
-
2814
-Data from 1-Wire sensors.
2815
-On Linux these are supported by the wire, w1_gpio, and w1_therm modules.
2816
-Currently temperature sensors are supported and automatically detected.
2817
-
2818
-Charts are created dynamically based on the number of detected sensors.
2819
-
2820
-### configuration
2821
-
2822
-For detailed configuration information please read [`w1sensor.conf`](https://github.com/netdata/netdata/blob/master/conf.d/python.d/w1sensor.conf) file.
2823
-
2824
----
2825
-
2826
-# web_log
2827
-
2828
-Tails the apache/nginx/lighttpd/gunicorn log files to collect real-time web-server statistics.
2829
-
2830
-It produces following charts:
2831
-
2832
-1. **Response by type** requests/s
2833
- * success (1xx, 2xx, 304)
2834
- * error (5xx)
2835
- * redirect (3xx except 304)
2836
- * bad (4xx)
2837
- * other (all other responses)
2838
-
2839
-2. **Response by code family** requests/s
2840
- * 1xx (informational)
2841
- * 2xx (successful)
2842
- * 3xx (redirect)
2843
- * 4xx (bad)
2844
- * 5xx (internal server errors)
2845
- * other (non-standart responses)
2846
- * unmatched (the lines in the log file that are not matched)
2847
-
2848
-3. **Detailed Response Codes** requests/s (number of responses for each response code family individually)
2849
-
2850
-4. **Bandwidth** KB/s
2851
- * received (bandwidth of requests)
2852
- * send (bandwidth of responses)
2853
-
2854
-5. **Timings** ms (request processing time)
2855
- * min (bandwidth of requests)
2856
- * max (bandwidth of responses)
2857
- * average (bandwidth of responses)
2858
-
2859
-6. **Request per url** requests/s (configured by user)
2860
-
2861
-7. **Http Methods** requests/s (requests per http method)
2862
-
2863
-8. **Http Versions** requests/s (requests per http version)
2864
-
2865
-9. **IP protocols** requests/s (requests per ip protocol version)
2866
-
2867
-10. **Current Poll Unique Client IPs** unique ips/s (unique client IPs per data collection iteration)
2868
-
2869
-11. **All Time Unique Client IPs** unique ips/s (unique client IPs since the last restart of netdata)
2870
-
2871
-
2872
-### configuration
2873
-
2874
-```yaml
2875
-nginx_log:
2876
- name : 'nginx_log'
2877
- path : '/var/log/nginx/access.log'
2878
-
2879
-apache_log:
2880
- name : 'apache_log'
2881
- path : '/var/log/apache/other_vhosts_access.log'
2882
- categories:
2883
- cacti : 'cacti.*'
2884
- observium : 'observium'
2885
-```
2886
-
2887
-Module has preconfigured jobs for nginx, apache and gunicorn on various distros.
2888
-
2889
----