1RRDCACHED(1) rrdtool RRDCACHED(1)
2
3
4
6 rrdcached - Data caching daemon for rrdtool
7
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
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
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
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
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
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
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
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
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
710 No known bugs at the moment.
711
713 rrdtool, rrdgraph
714
716 Florian Forster <octo at verplant.org>
717
718 Both rrdcached and this manual page have been written by Florian.
719
721 kevin brintnall <kbrint@rufus.net> Steve Shipway
722 <steve@steveshipway.org> Martin Sperl <rrdtool@martin.sperl.org>
723
724
725
7261.7.1 2019-02-04 RRDCACHED(1)