PMLOGGER(1) General Commands Manual PMLOGGER(1) (NAME) pmlogger - (SYNOPSIS) pmlogger [-CLNoPruy?] [-c conffile] [-D debug] [-d directory] [-h host] [-H hostname] [-I version] [-K spec] [-l logfile] [-m note] [-n pmnsfile] [-p pid] [-s endsize] [-t interval] [-T endtime] [-U username] [-v volsize] [-V version] [-x fd] [archive] (DESCRIPTION) pmlogger Performance Co-Pilot ( PCPIntro(1)) <<>> . VCR PCP . archive HTTP . archive strftime(3) . pmlogger ( pmlogger_daily(1)) %Y%m%d.%H.%M . archive pmproxy(1) pmlogger . http://example.com:44322. pmproxy pmlogger_check(1) . -V . $PCP_ARCHIVE_VERSION ( PCP 3 ) version 2 3 . -h PMDA -o pmlogger (PMCD) . pmlogger . () on ( ) off maybe . () on ( ) off . . pmlogger maybe off . pmlogger pmlc(1) . (on off) maybe maybe off . (on off) maybe . pmlogger . . . . . on off ( maybe ). pmcd(1) <<>> pmlogger . pmlogger $PCP_RC_DIR/pmlogger : $PCP_SYSCONF_DIR/pmlogger/control $PCP_SYSCONF_DIR/pmlogger/control.d/* ( chkconfig(8) systemctl(1) pmlogger ) $PCP_SYSCONFIG_DIR/pmlogger ( pmlogger ) $PCP_SYSCONF_DIR/pmlogger/pmlogger.options ( pmlogger ) $PCP_VAR_DIR/config/pmlogger/config.default ( pmlogger )..PP pmlogger -P . <<>> pmlogger . pmlogger ( ) pmcd(1) ( ) -h -P . pmcd(1) << >> (local context) . -o pmlogger pmcd(1) PMDA DSO . -K PMDA DSO . spec pmSpecLocalPMDA(3) . -K . pmlogger . -L pmlogger <<>> pmlc(1) . pmlogger -L . . pmlogger pmlogger.log pmlogger . -l . . logfile -l <<->> ( -l-) . pmlogger . -N pmlogger PCP ( systemd(1)) . pmlogger . __pmServerNotifyServiceManagerReady(3) systemd(1) . -N (no-op) . -s pmlogger . endsize endsize . endsize b bytes endsize ( ). : K Kb KiB Kbyte Kilobyte M Mb MiB Mbyte Megabyte G Gb GiB Gbyte Gigabyte . s . endsize PCPIntro(1) interval ( PCP -t) . : -s 100 -s 100bytes -s 100K -s 100Mb -s 10Gbyte -s 10mins -s 1.5hours pmlogger . -r () PCP . ..PP -U pmlogger . . (daemon) PCP "pcp" ("root") . -v pmlogger . -s ( ). pmlogger . pmlc(1) SIGHUP pmlogger ( ). -v . -v 2^31 pmlogger . pmlogger (PMNS) -n PMNS pmnsfile . pmlogger ( -s ). -T PCPIntro(1) . PMCD -y (logger) . : -T 10mins -T '@ 11:30' -T 10mins -s 10mins . pmlogger -p --PID PID . pmlogger . pmlogger SIGHUP . ( pmlc(1)) - pmlogger . -v . pmlogger SIGUSR2 . archive (meta characters) strftime(3) ( %Y%m%d.%H.%M) pmlogger pmlogger . SIGUSR2 pmlogger (re-exec) . . -T 5s -T 5pm . flush pmlc(1) -u . pmlogger libpcp pmlogger fwrite(3) <<>> (flushing) . -u flush pmlc(1) . -x pmlogger fd . PCP << >> (live record mode) . -m note (port map) pmlogger $PCP_TMP_DIR/pmlogger . (fd) -x pmlogger pmlogger_check(1) (-m pmlogger_check) SIGUSR2 ( execvp(3)) (-m reexec)..PP -H . -H pmcd(1) pmlogger . pmcd(1) . -C pmlogger -C archive . . -d --directory archive . directory sh(1) $(...) `...` $var pmlogger . . -d pmlogger_check(1) archive archive . (CONFIGURATION FILE SYNTAX) -c . . conffile $PCP_VAR_DIR/config/pmlogger config.mumble $PCP_VAR_DIR/config/pmlogger/config.mumble -c config.mumble -c $PCP_VAR_DIR/config/pmlogger/config.mumble . : 1. ( ) . 2. <<#>> () . 3. ( ) ( ) . 4. log mandatory on mandatory off mandatory maybe advisory on advisory off . 5. on <> <> <> <> - N timeunits msec millisecond sec second min minute hour . () . once . default -t interval . interval PCPIntro(1) ( ). 6. <<{>> <<}>> . ( ) . . 7. (instance) . PCP PMNS(5) PMNS ( PMNS(5)) pmlogger PMNS PMNS . <<[>> ( ) <<]>> . - pmGetInDom(3). . . 9. . PCP (leaf node) PMNS dynamic subtree roots ( ) . PMDA PMNS PMNS API pmdaExtSetFlags(3) METRIC CHANGES . pmdaopenmetrics(1) pmdammv(1) . pmlogger PMDA_EXT_NAMES_CHANGE pmlogger . . PCP pmlogger . 10. [access] . . pmlogger pmlc(1) : enquire pmlogger advisory (advisory). mandatory (mandatory). all . ``allow hostlist : operationslist ;'' ``disallow hostlist : operationslist ;'' . hostlist PMCD pmcd(1) . operationslist advisory mandatory enquire all . [access] allow * : all; . ( conffile) pmcpp(1) -rs -I $PCP_VAR_DIR/config/pmlogger . (%include) ($PCP_VAR_DIR/config/pmlogger) (%define) (%name %{name}) (%ifdef name ... %else ... %endif %ifndef name ... %else ... %endif) ..SH " (OPTIONS)" : -c conffile, --config=conffile conffile . -C, --check . -h host, --host=host pmcd(1) host localhost . -H hostname, --labelhost=hostname hostname pmcd(1) . -I version, --pmlc-ipc-version=version pmlogger pmlc(1) IPC . -I pmlogger () version . pmlogger pmlc(1) . -K spec, --spec-local=spec ( -o) -K DSO PMDA . spec pmSpecLocalPMDA(3) . -K . -l logfile, --log=logfile logfile pmlogger.log. -L, --linger . -m note, --note=note note port map . -n pmnsfile, --namespace=pmnsfile (PMNS(5)) pmnsfile. -N, --notify systemd(1) . -o, --local-PMDA DSO PMDA PMCD. -K. -p PID, --PID=PID PID. -P, --primary . . -r, --report . -s endsize, --size=endsize endsize . -t interval, --interval=interval interval. . PMLOGGER_INTERVAL ENVIRONMENT FILES . -T endtime, --finish=endtime endtime . -u . ( ). -U username, --username=username username. -v volsize, --volsize=volsize volsize. -V version, --version=version version. . -x fd fd. -y pmcd(1). -?, --help ..SH " (EXAMPLES)" PCP pmlogger ( ). foo $PCP_VAR_DIR/config/pmlogger/config.foo . pmlogger . log mandatory on once { hinv.ncpu hinv.ndisk } log mandatory on every 10 minutes { disk.all.write disk.all.read network.interface.in.packets [ "et0" ] network.interface.out.packets [ "et0" ] nfs.server.reqs [ "lookup" "getattr" "read" "write" ] } log advisory on every 30 minutes { environ.temp pmcd.pdu_in.total pmcd.pdu_out.total } %include "macros.default" %ifdef %disk_detail log mandatory on %disk_detail_freq { disk.dev } %endif [access] disallow * : all except enquire; allow localhost : mandatory, advisory; (HOSTNAME CHANGES) PMCD pmlogger . PMCD ( -H) pmlogextract(1) . pmlogger PMCD pmlogger_check(1) pmlogger_daily(1) ( systemd(1) cron(8) ) $PCP_ARCHIVE_DIR/. PMCD pmcd.pmlogger.hostname pmlogger_daily(1) . PMCD . pmlogger pmlogger pmlogger_check(1) pmlogger_daily(1) pmlogger . systemd(1) cron(8) pmlogger pmlogger PMCD ..SH " (DERIVED METRICS)" pmRegisterDerived(3) PMNS PCP . pmlogger . . pmlogger archive archive . (PMID) ( << >>) PMID pmRegisterDerived(3) . (DIAGNOSTICS) pmlogger (truncate) . ...: "foo.index" already exists, not over-written ...: File exists . pmlogger . pmlogger : pmlogger: there is already a primary pmlogger running / $PCP_TMP_DIR/pmlogger . (FILES) archive.meta ( ) archive.0 ( 1 2 ... ) archive.index $PCP_TMP_DIR/pmlogger pmlogger pmlogger IPC pmlogger ( pmlc(1) ) pmcd(1) pmlogger HTTP -m -x pmcd.pmlogger.* $ pminfo -f pmcd.pmlogger $PCP_VAR_DIR/config/pmlogger/config.default $PCP_RC_DIR/pmlogger $PCP_VAR_DIR/config/pmlogger/config.* PCP $PCP_ARCHIVE_DIR/ PCP . $PCP_SYSCONFIG_DIR/pmlogger pmlogger . "PMLOGGER_VARIABLE=value" . ./pmlogger.log ( $PCP_ARCHIVE_DIR//pmlogger.log $PCP_RC_DIR/pmlogger pmlogger(1) pmlogger_check(1) ) .SH " (ENVIRONMENT)" pmlogger pmlc(1) TCP/IP . PMLOGGER_PORT . 1 PMLOGGER_LOCAL pmlogger -localhost loopback (bind) . PMLOGGER_REQUEST_TIMEOUT pmlc(1) (timeout) pmlogger . (block) . pmlogger . PMLOGGER_MAXPENDING pmlc . pmlogger PMLOGGER_INTERVAL ( ). (override) . . systemd(1) -N NOTIFY_SOCKET pmlogger . (hand-off) pmlogger (re-exec) __PMLOGGER_REEXEC __PMLOGGER_TZ. . PCP (PCP ENVIRONMENT) PCP_ PCP . /etc/pcp.conf . $PCP_CONF pcp.conf(5) . (DEBUGGING OPTIONS) -D --debug stderr . debug pmdbg(1) -l . pmlogger : +---------------------------------------------------+------------------+ | | | +---------------------------------------------------+------------------+ |appl0 | PDU | | | | | | | | | | | | pmlc(1) | +---------------------------------------------------+------------------+ |appl1 | | | | | | | (credentials) | +---------------------------------------------------+------------------+ |appl2 | | | | | | | | | | () | | | | | | callback | | | | | | | | | | | | | +---------------------------------------------------+------------------+ |appl3 | | | | | | | | | | | | | | +---------------------------------------------------+------------------+ |appl4 | | | | | | | | | | logfile | | | | | | | | | | | | | | | | +---------------------------------------------------+------------------+ |appl5 | PDU | | | | | | | | | | | | conffile | +---------------------------------------------------+------------------+ |appl6 | | | | | | | | | | | | | (metadata) | | | conffile | | | | | | | | | | | | | | | | | | pass0() | +---------------------------------------------------+------------------+ |appl7 | | | | | | | | | | | | | | | | | | | | | | pass0() | | | | | | | | | | | | (no-op) | +---------------------------------------------------+------------------+ |appl8 | | | | | | | | | | hist_hash | | | | | | | | | | | | | | | query | | | pmlc(1) | |" (SEE ALSO)" | | |PCPIntro (1) | | |pmcd (1) | | |pmlc (1) | | |pmlogdump (1) | | |pmlogger_check (1) | | |pmlogger_daily (1) | | |pmproxy (1) | | |systemctl (1) | | |systemd (1) | | |PMAPI (3) | | |__pmServerNotifyServiceManagerReady (3) | | |execvp (3) | | |pmRegisterDerived (3) | | |pmSpecLocalPMDA (3) | | |strftime (3) | | |PMNS (5) | | |pcp.conf (5) | | |pcp.env (5) | | |LOGARCHIVE (5) | | |chkconfig (8) | | | | | |cron (8). | | | | | +---------------------------------------------------+------------------+ Performance Co-Pilot PCP PMLOGGER(1)