1RRDCACHED(1)                        rrdtool                       RRDCACHED(1)
2
3
4

NAME

6       rrdcached - Data caching daemon for rrdtool
7

SYNOPSIS

9       rrdcached [-a alloc_size] [-b base_dir [-B]] [-F] [-f timeout]
10       [-G group]] [-g] [-j journal_dir] [-L] [-l address] [-m mode] [-O]
11       [-o log_file] [-P permissions] [-p pid_file] [-R] [-s group]
12       [-t write_threads] [-U user]] [-V log_level] [-w timeout] [-z delay]
13

DESCRIPTION

15       rrdcached is a daemon that receives updates to existing RRD files,
16       accumulates them and, if enough have been received or a defined time
17       has passed, writes the updates to the RRD file. A flush command may be
18       used to force writing of values to disk, so that graphing facilities
19       and similar can work with up-to-date data.
20
21       The daemon was written with big setups in mind. Those setups usually
22       run into IO related problems sooner or later for reasons that are
23       beyond the scope of this document. Check the wiki at the RRDtool
24       homepage for details. Also check "SECURITY CONSIDERATIONS" below before
25       using this daemon! A detailed description of how the daemon operates
26       can be found in the "HOW IT WORKS" section below.
27

OPTIONS

29       -l address
30           Tells the daemon to bind to address and accept incoming TCP
31           connections on that socket. If address begins with "unix:",
32           everything following that prefix is interpreted as the path to a
33           UNIX domain socket. Otherwise the address or node name are resolved
34           using "getaddrinfo()".
35
36           For network sockets, a port may be specified by using the form
37           "[address]:port". If the address is an IPv4 address or a fully
38           qualified domain name (i. e. the address contains at least one dot
39           (".")), the square brackets can be omitted, resulting in the
40           (simpler) "address:port" pattern. The default port is 42217. If you
41           specify a network socket, it is mandatory to read the "SECURITY
42           CONSIDERATIONS" section.
43
44           The following formats are accepted. Please note that the address of
45           the UNIX domain socket must start with a slash in the second case!
46
47              unix:</path/to/unix.sock>
48              /<path/to/unix.sock>
49              <hostname-or-ip>
50              [<hostname-or-ip>]:<port>
51              <hostname-or-ipv4>:<port>
52
53           Given a port without a host (e.g. "-l :42217") the daemon will
54           listen on that port on all network interfaces.  Use "-L" to avoid
55           the need to explicitly provide the port if the default port is
56           desired.
57
58           If no -l option is not specified the default address,
59           "unix:/tmp/rrdcached.sock", will be used.  Multiple -l options may
60           be provided.
61
62       -L  Tells the daemon to bind to the default TCP port on all available
63           interfaces.  It is equivalent to "-l ''" without the confusion of
64           the empty string parameter.
65
66       -s group_name|gid
67           Set the group permissions of a UNIX domain socket. The option
68           accepts either a numeric group id or group name. That group will
69           then have both read and write permissions (the socket will have
70           file permissions 0760) for the socket and, therefore, is able to
71           send commands to the daemon. This may be useful in cases where you
72           cannot easily run all RRD processes with the same user privileges
73           (e.g. graph generating CGI scripts that typically run in the
74           permission context of the web server).
75
76           This option affects the following UNIX socket addresses (the
77           following -l options) or the default socket (if no -l options have
78           been specified), i.e., you may specify different settings for
79           different sockets.
80
81           The default is not to change ownership or permissions of the socket
82           and, thus, use the system default.
83
84       -m mode
85           Set the file permissions of a UNIX domain socket. The option
86           accepts an octal number representing the bit pattern for the mode
87           (see chmod(1) for details).
88
89           Please note that not all systems honor this setting. On Linux,
90           read/write permissions are required to connect to a UNIX socket.
91           However, many BSD-derived systems ignore permissions for UNIX
92           sockets. See unix(7) for details.
93
94           This option affects the following UNIX socket addresses (the
95           following -l options) or the default socket (if no -l options have
96           been specified), i.e., you may specify different settings for
97           different sockets.
98
99           The default is not to change ownership or permissions of the socket
100           and, thus, use the system default.
101
102       -P command[,command[,...]]
103           Specifies the commands accepted via both a network and a UNIX
104           socket. This allows administrators of RRDCacheD to control the
105           actions accepted from various sources.
106
107           The arguments given to the -P option is a comma separated list of
108           commands.  For example, to allow one the "FLUSH" and "PENDING"
109           commands one could specify:
110
111             rrdcached -P FLUSH,PENDING $MORE_ARGUMENTS
112
113           The -P option affects the following socket addresses (the following
114           -l options) or the default socket (if no -l options have been
115           specified). In the following example, only the IPv4 network socket
116           (address 10.0.0.1) will be restricted to the "FLUSH" and "PENDING"
117           commands:
118
119             rrdcached -l unix:/some/path -P FLUSH,PENDING -l 10.0.0.1
120
121           A complete list of available commands can be found in the section
122           "Valid Commands" below. There are two minor special exceptions:
123
124           •   The "HELP" and "QUIT" commands are always allowed.
125
126           •   If the "BATCH" command is accepted, the . command will
127               automatically be accepted, too.
128
129           Please also read "SECURITY CONSIDERATIONS" below.
130
131       -V log_level
132           rrdcached under load can severely flood the logs. This command line
133           option specifies the maximum log_level to be used, meaning that a
134           message with verbosity higher than log_level is muted (LOG_EMERG
135           being the lowest and LOG_DEBUG highest).
136
137           Accepted values for "log_level" (lowest to highest verbosity):
138           LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE,
139           LOG_INFO, LOG_DEBUG
140
141           Default log level when this flag is NOT present: LOG_ERR
142
143           See also: syslog.h
144
145       -o log_file
146           Log to the given file instead of syslog.
147
148       -w timeout
149           Data is written to disk every timeout seconds.  An optional suffix
150           may be used (e.g. "5m" instead of 300 seconds).  If this option is
151           not specified the default interval of 300 seconds will be used.
152
153       -z delay
154           If specified, rrdcached will delay writing of each RRD for a random
155           number of seconds in the range [0,delay).  This will avoid too many
156           writes being queued simultaneously.  This value should be no
157           greater than the value specified in -w.  An optional suffix may be
158           used (e.g. "3m" instead of 180 seconds).  By default, there is no
159           delay.
160
161       -f timeout
162           Every timeout seconds the entire cache is searched for old values
163           which are written to disk. This only concerns files to which
164           updates have stopped, so setting this to a high value, such as
165           3600 seconds, is acceptable in most cases.  An optional suffix may
166           be used (e.g. "1h" instead of 3600 seconds).  This timeout defaults
167           to 3600 seconds.
168
169       -p file
170           Sets the name and location of the PID-file. If not specified, the
171           default, "$localstatedir/run/rrdcached.pid" will be used.
172
173       -t write_threads
174           Specifies the number of threads used for writing RRD files.  The
175           default is 4.  Increasing this number will allow rrdcached to have
176           more simultaneous I/O requests into the kernel.  This may allow the
177           kernel to re-order disk writes, resulting in better disk
178           throughput.
179
180       -j dir
181           Write updates to a journal in dir.  In the event of a program or
182           system crash, this will allow the daemon to write any updates that
183           were pending at the time of the crash.
184
185           On startup, the daemon will check for journal files in this
186           directory.  If found, all updates therein will be read into memory
187           before the daemon starts accepting new connections.
188
189           The journal will be rotated with the same frequency as the flush
190           timer given by -f.
191
192           When journaling is enabled, the daemon will use a fast shutdown
193           procedure.  Rather than flushing all files to disk, it will make
194           sure the journal is properly written and exit immediately.
195           Although the RRD data files are not fully up-to-date, no
196           information is lost; all pending updates will be replayed from the
197           journal next time the daemon starts up.
198
199           To disable fast shutdown, use the -F option.
200
201       -F  ALWAYS flush all updates to the RRD data files when the daemon is
202           shut down, regardless of journal setting.
203
204       -g  Run in the foreground.  The daemon will not fork().
205
206       -b dir
207           The daemon will change into a specific directory at startup. All
208           files passed to the daemon, that are specified by a relative path,
209           will be interpreted to be relative to this directory. If not given
210           the default, "/tmp", will be used.
211
212             +------------------------+------------------------+
213             ! Command line           ! File updated           !
214             +------------------------+------------------------+
215             ! foo.rrd                ! /tmp/foo.rrd           !
216             ! foo/bar.rrd            ! /tmp/foo/bar.rrd       !
217             ! /var/lib/rrd/foo.rrd   ! /var/lib/rrd/foo.rrd   !
218             +------------------------+------------------------+
219             Paths given on the command  line and paths actually
220             updated by the daemon,  assuming the base directory
221             "/tmp".
222
223           WARNING: The paths up to and including the base directory MUST NOT
224           BE symbolic links.  In other words, if the base directory is
225           specified as:
226
227               -b /base/dir/somewhere
228
229           ... then NONE of the following should be symbolic links:
230
231               /base
232               /base/dir
233               /base/dir/somewhere
234
235       -B  Only permit writes into the base directory specified in -b (and any
236           sub-directories).  This does NOT detect symbolic links.  Paths
237           containing "../" will also be blocked.
238
239       -R  Permit recursive subdirectory creation in the base directory
240           specified in -b (and any sub-directories). Can only be used when -B
241           is also set.
242
243       -a alloc_size
244           Allocate value pointers in chunks of alloc_size.  This may improve
245           CPU utilization on machines with slow "realloc()" implementations,
246           in exchange for slightly higher memory utilization.  The default
247           is 1.  Do not set this more than the -w value divided by your
248           average RRD step size.
249
250       -O  Prevent the CREATE command from overwriting existing files, even
251           when it is instructed to do so.  This is for added security.
252
253       -G -group
254           When running as daemon and invoked from a privileged account, reset
255           group privileges to those of group.  The group may be specified as
256           a name or as a group ID.  The daemon will exit with a diagnostic if
257           it cannot successfully transition to the specified group.
258
259       -U -user
260           When running as daemon and invoked from a privileged account, reset
261           user privileges to those of user.  The user may be specified as a
262           name or as a user ID.  The daemon will exit with a diagnostic if it
263           cannot successfully transition to the specified user.
264

AFFECTED RRDTOOL COMMANDS

266       The following commands may be made aware of the rrdcached using the
267       command line argument --daemon or the environment variable
268       RRDCACHED_ADDRESS:
269
270       •   dump
271
272       •   fetch
273
274       •   flush
275
276       •   graph
277
278       •   graphv
279
280       •   info
281
282       •   first
283
284       •   last
285
286       •   lastupdate
287
288       •   update
289
290       •   xport
291
292       •   create
293
294       •   list
295
296       The update command can send values to the daemon instead of writing
297       them to the disk itself. All other commands can send a FLUSH command
298       (see below) to the daemon before accessing the files, so they work with
299       up-to-date data even if the cache timeout is large.
300

ERROR REPORTING

302       The daemon reports errors in one of two ways: During startup, error
303       messages are printed to "STDERR". One of the steps when starting up is
304       to fork to the background and closing "STDERR" - after this writing
305       directly to the user is no longer possible. Once this has happened, the
306       daemon will send log messages to the system logging daemon using
307       syslog(3). The facility used is "LOG_DAEMON".
308

HOW IT WORKS

310       When receiving an update, rrdcached does not write to disk but looks
311       for an entry for that file in its internal tree. If not found, an entry
312       is created including the current time (called "First" in the diagram
313       below). This time is not the time specified on the command line but the
314       time the operating system considers to be "now". The value and time of
315       the value (called "Time" in the diagram below) are appended to the tree
316       node.
317
318       When appending a value to a tree node, it is checked whether it's time
319       to write the values to disk. Values are written to disk if
320       "now() - First >= timeout", where "timeout" is the timeout specified
321       using the -w option, see "OPTIONS". If the values are "old enough" they
322       will be enqueued in the "update queue", i. e. they will be appended to
323       the linked list shown below.  Because the tree nodes and the elements
324       of the linked list are the same data structures in memory, any update
325       to a file that has already been enqueued will be written with the next
326       write to the RRD file, too.
327
328       A separate "update thread" constantly dequeues the first element in the
329       update queue and writes all its values to the appropriate file. So as
330       long as the update queue is not empty files are written at the highest
331       possible rate.
332
333       Since the timeout of files is checked only when new values are added to
334       the file, "dead" files, i. e. files that are not updated anymore, would
335       never be written to disk. Therefore, every now and then, controlled by
336       the -f option, the entire tree is walked and all "old" values are
337       enqueued. Since this only affects "dead" files and walking the tree is
338       relatively expensive, you should set the "flush interval" to a
339       reasonably high value. The default is 3600 seconds (one hour).
340
341       The downside of caching values is that they won't show up in graphs
342       generated from the RRD files. To get around this, the daemon provides
343       the "flush command" to flush specific files. This means that the file
344       is inserted at the head of the update queue or moved there if it is
345       already enqueued. The flush command will return only after the file's
346       pending updates have been written to disk.
347
348        +------+   +------+                               +------+
349        ! head !   ! root !                               ! tail !
350        +---+--+   +---+--+                               +---+--+
351            !         /\                                      !
352            !        /  \                                     !
353            !       /\  /\                                    !
354            !      /\/\ \ `----------------- ... --------,    !
355            V     /      `-------,                       !    V
356        +---+----+---+    +------+-----+             +---+----+---+
357        ! File:  foo !    ! File:  bar !             ! File:  qux !
358        ! First: 101 !    ! First: 119 !             ! First: 180 !
359        ! Next:&bar -+--->! Next:&... -+---> ... --->! Next:NULL  !
360        | Prev:NULL  !<---+-Prev:&foo  !<--- ... ----+-Prev: &... !
361        +============+    +============+             +============+
362        ! Time:  100 !    ! Time:  120 !             ! Time:  180 !
363        ! Value:  10 !    ! Value: 0.1 !             ! Value: 2,2 !
364        +------------+    +------------+             +------------+
365        ! Time:  110 !    ! Time:  130 !             ! Time:  190 !
366        ! Value:  26 !    ! Value: 0.1 !             ! Value: 7,3 !
367        +------------+    +------------+             +------------+
368        :            :    :            :             :            :
369        +------------+    +------------+             +------------+
370        ! Time:  230 !    ! Time:  250 !             ! Time:  310 !
371        ! Value:  42 !    ! Value: 0.2 !             ! Value: 1,2 !
372        +------------+    +------------+             +------------+
373
374       The above diagram demonstrates:
375
376       •   Files/values are stored in a (balanced) tree.
377
378       •   Tree nodes and entries in the update queue are the same data
379           structure.
380
381       •   The local time ("First") and the time specified in updates ("Time")
382           may differ.
383
384       •   Timed out values are inserted at the "tail".
385
386       •   Explicitly flushed values are inserted at the "head".
387
388       •   ASCII art rocks.
389

SECURITY CONSIDERATIONS

391   Authentication
392       If your rrdtool installation was built without libwrap there is no form
393       of authentication for clients connecting to the rrdcache daemon!
394
395       If your rrdtool installation was built with libwrap then you can use
396       hosts_access to restrict client access to the rrdcache daemon
397       (rrdcached).  For more information on how to use hosts_access to
398       restrict access to the rrdcache daemon you should read the
399       hosts_access(5) man pages.
400
401       It is still highly recommended to install a packet filter or similar
402       mechanism to prevent unauthorized connections. Unless you have a
403       dedicated VLAN or VPN for this, using network sockets is probably a bad
404       idea!
405
406   Authorization
407       There is minimal per-socket authorization.
408
409       Authorization is currently done on a per-socket basis. That means each
410       socket has a list of commands it will accept and it will accept. It
411       will accept only those commands explicitly listed but it will
412       (currently) accept these commands from anyone reaching the socket.
413
414       If the networking sockets are to be used, it is necessary to restrict
415       the accepted commands to those needed by external clients. If, for
416       example, external clients want to draw graphs of the cached data, they
417       should only be allowed to use the "FLUSH" command.
418
419       Authorization does not work when rrdcached is socket-activated by
420       systemd.
421
422   Encryption
423       There is no encryption.
424
425       Again, this may be added in the future, but for the time being it is
426       your job to keep your private data private. Install a VPN or an
427       encrypted tunnel if you statistics are confidential!
428
429   Sanity checking
430       There is no sanity checking.
431
432       The daemon will blindly write to any file it gets told, so you really
433       should create a separate user just for this daemon. Also it does not do
434       any sanity checks, so if it gets told to write values for a time far in
435       the future, your files will be messed up good!
436
437   Conclusion
438       •   Security is the job of the administrator.
439
440       •   We recommend to allow write access via UNIX domain sockets only.
441
442       •   You have been warned.
443

PROTOCOL

445       The daemon communicates with clients using a line based ASCII protocol
446       which is easy to read and easy to type. This makes it easy for scripts
447       to implement the protocol and possible for users to use telnet to
448       connect to the daemon and test stuff "by hand".
449
450       The protocol is line based, this means that each record consists of one
451       or more lines. A line is terminated by the line feed character 0x0A,
452       commonly written as "\n". In the examples below, this character will be
453       written as "<LF>" ("line feed").
454
455       After the connection has been established, the client is expected to
456       send a "command". A command consists of the command keyword, possibly
457       some arguments, and a terminating newline character. For a list of
458       commands, see "Valid Commands" below.
459
460       Example:
461
462         FLUSH /tmp/foo.rrd<LF>
463
464       The daemon answers with a line consisting of a status code and a short
465       status message, separated by one or more space characters. A negative
466       status code signals an error, a positive status code or zero signal
467       success. If the status code is greater than zero, it indicates the
468       number of lines that follow the status line.
469
470       Examples:
471
472        0 Success<LF>
473
474        2 Two lines follow<LF>
475        This is the first line<LF>
476        And this is the second line<LF>
477
478   Valid Commands
479       The following commands are understood by the daemon:
480
481       FLUSH filename
482           Causes the daemon to put filename to the head of the update queue
483           (possibly moving it there if the node is already enqueued). The
484           answer will be sent after the node has been dequeued.
485
486       FLUSHALL
487           Causes the daemon to start flushing ALL pending values to disk.
488           This returns immediately, even though the writes may take a long
489           time.
490
491       PENDING filename
492           Shows any "pending" updates for a file, in order.  The updates
493           shown have not yet been written to the underlying RRD file.
494
495       FETCH filename CF [start [end] [ds ...]]
496           Calls "rrd_fetch" with the specified arguments and returns the
497           result in text form. If necessary, the file is flushed to disk
498           first. The client side function "rrdc_fetch" (declared in
499           "rrd_client.h") parses the output and behaves just like
500           "rrd_fetch_r" for easy integration of remote queries.  ds defines
501           the columns to dump - if none are given then all are returned
502
503       FETCHBIN filename CF [start [end] [ds ...]]
504           Calls "rrd_fetch" with the specified arguments and returns the
505           result in text/binary form to avoid unnecessary un/marshalling
506           overhead.  If necessary, the file is flushed to disk first. The
507           client side function "rrdc_fetch" (declared in "rrd_client.h")
508           parses the output and behaves just like "rrd_fetch_r" for easy
509           integration of remote queries.  ds defines the columns to dump - if
510           none are given then all are returned
511
512       FORGET filename
513           Removes filename from the cache.  Any pending updates WILL BE LOST.
514
515       QUEUE
516           Shows the files that are on the output queue.  Returns zero or more
517           lines in the following format, where <num_vals> is the number of
518           values to be written for the <file>:
519
520               <num_vals> <file>
521
522       HELP [command]
523           Returns a short usage message. If no command is given, or command
524           is HELP, a list of commands supported by the daemon is returned.
525           Otherwise a short description, possibly containing a pointer to a
526           manual page, is returned.  Obviously, this is meant for interactive
527           usage and the format in which the commands and usage summaries are
528           returned is not well defined.
529
530       STATS
531           Returns a list of metrics which can be used to measure the daemons
532           performance and check its status. For a description of the values
533           returned, see "Performance Values" below.
534
535           The format in which the values are returned is similar to many
536           other line based protocols: Each value is printed on a separate
537           line, each consisting of the name of the value, a colon, one or
538           more spaces and the actual value.
539
540           Example:
541
542            9 Statistics follow
543            QueueLength: 0
544            UpdatesReceived: 30
545            FlushesReceived: 2
546            UpdatesWritten: 13
547            DataSetsWritten: 390
548            TreeNodesNumber: 13
549            TreeDepth: 4
550            JournalBytes: 190
551            JournalRotate: 0
552
553       PING
554           PING-PONG, this is very useful when using connection pool between
555           user client and RRDCACHED.
556
557           Example:
558
559            0 PONG
560
561       UPDATE filename values [values ...]
562           Adds more data to a filename. This is the operation the daemon was
563           designed for, so describing the mechanism again is unnecessary.
564           Read "HOW IT WORKS" above for a detailed explanation.
565
566           Note that rrdcached only accepts absolute timestamps in the update
567           values.  Updates strings like "N:1:2:3" are automatically converted
568           to absolute time by the RRD client library before sending to
569           rrdcached.
570
571       WROTE filename
572           This command is written to the journal after a file is successfully
573           written out to disk.  It is used during journal replay to determine
574           which updates have already been applied.  It is only valid in the
575           journal; it is not accepted from the other command channels.
576
577       FIRST filename [rranum]
578           Return the timestamp for the first CDP in the specified RRA.
579           Default is to use RRA zero if none is specified.
580
581       LAST filename
582           Return the timestamp for the last update to the specified RRD. Note
583           that the cache is not flushed before checking, as the client is
584           expected to request this separately if it is required.
585
586       INFO filename
587           Return the configuration information for the specified RRD. Note
588           that the cache is not flushed before checking, as the client is
589           expected to request this separately if it is required.
590
591           The information is returned, one item per line, with the format:
592
593            I<keyname> I<type> I<value>
594
595       CREATE filename [-s stepsize] [-b begintime] [-r sourcefile ...] [-t
596       templatefile] [-O] DSdefinitions ... RRAdefinitions ...
597           This will create the RRD file according to the supplied parameters,
598           provided the parameters are valid, and (if the -O option is given
599           or if the rrdcached was started with the -O flag) the specified
600           filename does not already exist.
601
602       BATCH
603           This command initiates the bulk load of multiple commands.  This is
604           designed for installations with extremely high update rates, since
605           it permits more than one command to be issued per read() and
606           write().
607
608           All commands are executed just as they would be if given
609           individually, except for output to the user.  Messages indicating
610           success are suppressed, and error messages are delayed until the
611           client is finished.
612
613           Command processing is finished when the client sends a dot (".") on
614           its own line.  After the client has finished, the server responds
615           with an error count and the list of error messages (if any).  Each
616           error messages indicates the number of the command to which it
617           corresponds, and the error message itself.  The first user command
618           after BATCH is command number one.
619
620               client:  BATCH
621               server:  0 Go ahead.  End with dot '.' on its own line.
622               client:  UPDATE x.rrd 1223661439:1:2:3            <--- command #1
623               client:  UPDATE y.rrd 1223661440:3:4:5            <--- command #2
624               client:  and so on...
625               client:  .
626               server:  2 Errors
627               server:  1 message for command 1
628               server:  12 message for command 12
629
630       LIST [RECURSIVE] I/<path>
631           This command allows to list directories and rrd databases as seen
632           by the daemon.  The root "directory" is the base_dir (see '-b
633           dir'). When invoked with 'LIST RECURSIVE /<path>' it will behave
634           similarly to 'ls -R' but limited to rrd files (listing all the rrd
635           bases in the subtree of <path>, skipping empty directories).
636
637       SUSPEND filename
638           Suspend writing to an RRD file. While a file is suspended, all
639           metrics for it are cached in memory until RESUME is called for that
640           file or RESUMEALL is called.
641
642       RESUME filename
643           Resume writing to an RRD file previously suspended by SUSPEND or
644           SUSPENDALL.
645
646       SUSPENDALL
647           Suspend writing to all RRD files. While a file is suspended, all
648           metrics for it are cached in memory until RESUME is called for that
649           file or RESUMEALL is called.
650
651       RESUMEALL
652           Resume writing to all RRD files previously suspended by SUSPEND or
653           SUSPENDALL.
654
655       QUIT
656           Disconnect from rrdcached.
657
658   Performance Values
659       The following counters are returned by the STATS command:
660
661       QueueLength (unsigned 64bit integer)
662           Number of nodes currently enqueued in the update queue.
663
664       UpdatesReceived (unsigned 64bit integer)
665           Number of UPDATE commands received.
666
667       FlushesReceived (unsigned 64bit integer)
668           Number of FLUSH commands received.
669
670       UpdatesWritten (unsigned 64bit integer)
671           Total number of updates, i. e. calls to "rrd_update_r", since the
672           daemon was started.
673
674       DataSetsWritten (unsigned 64bit integer)
675           Total number of "data sets" written to disk since the daemon was
676           started. A data set is one or more values passed to the UPDATE
677           command. For example: "1223661439:123:456" is one data set with two
678           values. The term "data set" is used to prevent confusion whether
679           individual values or groups of values are counted.
680
681       TreeNodesNumber (unsigned 64bit integer)
682           Number of nodes in the cache.
683
684       TreeDepth (unsigned 64bit integer)
685           Depth of the tree used for fast key lookup.
686
687       JournalBytes (unsigned 64bit integer)
688           Total number of bytes written to the journal since startup.
689
690       JournalRotate (unsigned 64bit integer)
691           Number of times the journal has been rotated since startup.
692

SIGNALS

694       SIGINT and SIGTERM
695           The daemon exits normally on receipt of either of these signals.
696           Pending updates are handled in accordance with the -j and -F
697           options.
698
699       SIGUSR1
700           The daemon exits AFTER flushing all updates out to disk.  This may
701           take a while.
702
703       SIGUSR2
704           The daemon exits immediately, without flushing updates out to disk.
705           Pending updates will be replayed from the journal when the daemon
706           starts up again.  WARNING: if journaling (-j) is NOT enabled, any
707           pending updates WILL BE LOST.
708

BUGS

710       No known bugs at the moment.
711

SEE ALSO

713       rrdtool, rrdgraph
714

AUTHOR

716       Florian Forster <octo at verplant.org>
717
718       Both rrdcached and this manual page have been written by Florian.
719

CONTRIBUTORS

721       kevin brintnall <kbrint@rufus.net> Steve Shipway
722       <steve@steveshipway.org> Martin Sperl <rrdtool@martin.sperl.org>
723
724
725
7261.8.0                             2022-03-14                      RRDCACHED(1)
Impressum