Last modified 3 years ago
Plans for RRDtool 1.5
About remote access to RRDtool
by Florian Forster
- The ?rrd_*_r? functions always work on local files, the ?rrdc_*? always use a daemon connection. Maybe it'd be a good idea to rename the `rrd_*_r' functions. ?rrdl_*? (?l? as in ?local?) comes to mind.
- Some magical version of the functions will check some sort of environment and call the appropriate function.
- Files are addressed using some special syntax. Using something like rrdcache://user@host/relative/path could work okay. If ?user? is omitted, the local user name is used. The paths are always relative paths so the administrator can be sure all the files controlled by the daemon are beneath one directory. File names that do not contain ?:? are assumed to be local files. (Personally I like the ?user@host:path? syntax of ?scp? best, but I fear that there could be incompatibilities.)
- The ?RRDCACHE_HOST? and ?RRDCACHE_USER? environment variables can be used to avoid the special syntax. If they are set, the daemon will be used.
- To authenticate, the client code looks for a file called
~/.rrdcache_privkey which contains a private key file (the public
key is required on the server and should be associated with the user
name). If found, public key authentication is attempted, possibly
via TLS.
If no such file exists, the code will check for a password in ~/.rrdcache_password and, if found, will use it for password authentication.
If neither file exists and the process has a controlling terminal, then it will try to read a password from /dev/console. If all else fails, try authenticating with an empty password.


