On Wed, 07 Apr 2010 11:27:01 +1000, Ken McDonell wrote:
kenj> The hostname is branded in the archive label and is used later on to
kenj> match archives first to merge and then for config files used by tools
kenj> like pmie and pmchart and ...
I understand that...
kenj> So not having a unique and real hostname could present something of a
kenj> problem for merging archives and using the archives for cross-host
kenj> analysis.
I can get unique hostnames in my setup, I just cannot guarantee that
I'll be able to map those names to IP addresses which is required for
-h processing (see below).
kenj> Without looking at the code, the patch you're suggesting "doesn't feel
kenj> right" ... whatever the control scripts do should be compatible with
kenj> pmlogger.
That's the point - pmlogger_check's processing of the localhost in the
control file does not match pmlogger' use of localhost, e.g.:
sonya:~$ cat lhost.ctl
$version=1.1
# === LOGGER CONTROL SPECIFICATIONS ===
#
#Host P? S? directory args
# local primary logger
localhost n n /export/home/makc/pmlogger -c
/export/home/makc/conf
sonya:~$ /usr/libexec/pcp/bin/pmlogger_check -VV -c lhost.ctl
[control:1] host="$version=1.1" primary="" socks="" dir="" args=""
[control:2] host="" primary="" socks="" dir="" args=""
[control:3] host="#" primary="===" socks="LOGGER" dir="CONTROL"
args="SPECIFICATIONS ==="
[control:4] host="#" primary="" socks="" dir="" args=""
[control:5] host="#Host" primary="P?" socks="S?" dir="directory"
args="args"
[control:6] host="" primary="" socks="" dir="" args=""
[control:7] host="#" primary="local" socks="primary" dir="logger"
args=""
[control:8] host="localhost" primary="n" socks="n"
dir="/export/home/makc/pmlogger" args="-c /export/home/makc/conf"
Check pmlogger -h localhost ... in /export/home/makc/pmlogger ...
... try /var/tmp/pmlogger/7146: match=0 different host, skip
... try /var/tmp/pmlogger/8546: match=0 different host, skip
... try /var/tmp/pmlogger/9999: match=0 different host, skip
Restarting pmlogger for host "localhost" ... [process 14013] done
Latest folio created for 20100407.13.34
[control:9] host="" primary="" socks="" dir="" args=""
sonya:~$ cat /var/tmp/pmlogger/14013
4332
sonya
/export/home/makc/pmlogger/20100407.13.34
sonya:~$ /usr/libexec/pcp/bin/pmlogger_check -c lhost.ctl
sonya:~$ /usr/libexec/pcp/bin/pmlogger_check -V -c lhost.ctl
Duplicate archive basename ... rename 20100407.13.34.* files to
20100407.13.34-01.*
Restarting pmlogger for host "localhost" ... [process 14160] done
Latest folio created for 20100407.13.34
sonya:~$ cat /var/tmp/pmlogger/14160
4334
sonya
/export/home/makc/pmlogger/20100407.13.34
sonya:~$ ps -ef | grep pmlogger
makc 14184 10822 0 13:36:35 pts/3 0:00 grep pmlogger
makc 14085 1 0 13:34:33 pts/3 0:00 pmlogger -h localhost -c
/export/home/makc/conf 20100407.13.34
makc 14160 1 0 13:34:39 pts/3 0:00 pmlogger -h localhost -c
/export/home/makc/conf 20100407.13.34
root 7146 1 0 Mar 30 ? 0:01
/usr/libexec/pcp/bin/pmlogger -c conf test.1
makc 14013 1 0 13:34:09 pts/3 0:00 pmlogger -h localhost -c
/export/home/makc/conf 20100407.13.34
kenj> After looking at the code, the status quo would appear to work fine
kenj> provided what gethostname(3) returns matches what hostname(1) returns up
kenj> to the first `.'. So in you specific case, what does gethostname(3) and
kenj> hostname(1) return?
Both return 'sonya'
kenj> And for extra points, what does uname -n report?
sonya as well.
And if I use 'sonya' as hostname, I'm getting
sonya:~$ /usr/libexec/pcp/bin/pmlogger -h sonya -c conf no.sonya
sonya:~$ cat pmlogger.log
Log for pmlogger on sonya started Wed Apr 7 13:39:19 2010
pmlogger: Cannot connect to PMCD on host "sonya": No route to host
Log finished Wed Apr 7 13:39:19 2010
This is because sonya is not in DNS or /etc/hosts.
max
|