FQDN in the destination
I'm trying to use the fully qualified domain name in my directory naming structure in a destination function. Here is what I have: options { dns_cache(yes); (tried without) chain_hostnames(no); (tried yes as well) keep_hostname(yes); (tried no as well) long_hostnames(off); (tried on) use_dns(yes); (tried without) use_fqdn(yes); }; Then in the destination I've tried: destination network_log { file("/var/log/syslog-ng/$HOST/$FACILITY.$YEAR$MONTH$DAY" owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes) ); }; and destination network_log { file("/var/log/syslog-ng/$FULLHOST/$FACILITY.$YEAR$MONTH$DAY" owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes) ); }; Neither seems to create a directory with the fqdn, I always end up with the short name. Am I missing something or does this just not work? Thanks Rob
On Wed, Apr 30, 2003 at 02:24:32PM -0700, Glasser, Rob wrote:
I'm trying to use the fully qualified domain name in my directory naming structure in a destination function. Here is what I have:
I do this: use_fqdn(yes); keep_hostname(yes); use_dns(yes); long_hostnames(off); then.. destination hosts { file( "/var/log/HOSTS/$HOST/$FACILITY/$YEAR/$MONTH/$DAY/$FACILITY$YEAR$MONTH$DAY" owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes) template("$DATE $FULLHOST $MESSAGE [$FACILITY.$LEVEL]\n") template_escape(no) ); }; log { source(src); destination(hosts); }; Works for me with 1.5.26 on debian woody. -- Nate Campi http://www.campin.net
On Wed, Apr 30, 2003 at 02:24:32PM -0700, Glasser, Rob wrote:
I'm trying to use the fully qualified domain name in my directory naming structure in a destination function. Here is what I have:
options { dns_cache(yes); (tried without) chain_hostnames(no); (tried yes as well) keep_hostname(yes); (tried no as well) long_hostnames(off); (tried on) use_dns(yes); (tried without) use_fqdn(yes); };
Then in the destination I've tried:
destination network_log { file("/var/log/syslog-ng/$HOST/$FACILITY.$YEAR$MONTH$DAY" owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes) ); };
and
destination network_log { file("/var/log/syslog-ng/$FULLHOST/$FACILITY.$YEAR$MONTH$DAY" owner(root) group(root) perm(0600) dir_perm(0700) create_dirs(yes) ); };
Neither seems to create a directory with the fqdn, I always end up with the short name. Am I missing something or does this just not work?
use_fqdn() and either $FULLHOST or $HOST should do the trick. Are you sure that your reverse DNS contains full hostnames? The correct settings should be: keep_hostname(no) to force syslog-ng to do name lookup use_fqdn(yes) to avoid stripping domain name and $HOST to insert the hostname only regardless the setting of chain_hostnames() The interesting function for you to look at is sources.c:do_add_source_name() and macros.c:expand_macro() the latter is ineresting to see what the difference between FULLHOST and HOST is. -- Bazsi PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1
participants (3)
-
Balazs Scheidler
-
Glasser, Rob
-
Nate Campi