1PMLOGCHECK(1) General Commands Manual PMLOGCHECK(1)
2
3
4
6 pmlogcheck - checks for invalid data in a PCP archive
7
9 pmlogcheck [-lmvwz?] [-n pmnsfile] [-S start] [-T finish] [-Z time‐
10 zone] archive
11
13 pmlogcheck prints information about the nature of any invalid data
14 which it detects in the files of a PCP archive.
15
16 The archive has the base name archive and must have been previously
17 created using pmlogger(1).
18
20 The available command line options are:
21
22 -l, --label
23 Print the archive label, showing the archive format version, the
24 time and date for the start and (current) end of the archive, and
25 the host from which the performance metrics values were collected.
26
27 -m, --metadataonly
28 Skip Pass 3 (see below) and only check the archive meta data.
29 This can run substantially faster in cases where the volume data
30 doesn't need to be checked, especially on archives with compressed
31 data volume(s).
32
33 -n pmnsfile, --namespace=pmnsfile
34 Load an alternative Performance Metrics Name Space (PMNS(5)) from
35 the file pmnsfile.
36
37 -S starttime, --start=starttime
38 Specify the starttime of time window over which metrics should be
39 checked in Pass 3 (see below). Refer to PCPIntro(1) for a com‐
40 plete description of the syntax for starttime.
41
42 -T endtime, --finish=endtime
43 Specify the endtime of time window over which metrics should be
44 checked in Pass 3 (see below). Refer to PCPIntro(1) for a com‐
45 plete description of the syntax for endtime.
46
47 -v, --verbose
48 Enable verbose mode.
49
50 -w, --nowrap
51 Suppress reporting of counter wraps.
52
53 -z, --hostzone
54 Use the local timezone of the host that is the source of the per‐
55 formance metrics archive. The default is to use the timezone of
56 the local host.
57
58 -Z timezone, --timezone=timezone
59 Use timezone for the date and time. Timezone is in the format of
60 the environment variable TZ as described in environ(7). The de‐
61 fault is to use the timezone of the local host.
62
63 -?, --help
64 Display usage message and exit.
65
67 The checking proceeds in a number of passes, each designed to validate
68 progressively more complex semantic relationships between the informa‐
69 tion in a PCP archive.
70
71 Pass 0
72 Each physical file of the PCP archive is processed to ensure the label
73 records are valid and consistent, and that each file contains an inte‐
74 gral number of physical records with correct header and trailer fields.
75
76 Any errors at this stage are usually fatal. The PCP archive is proba‐
77 bly damaged beyond repair, and no more passes of pmlogcheck are at‐
78 tempted.
79
80 Pass 1
81 Validates the integrity of the temporal index, usually archive.index.
82
83 As the temporal index is (strictly speaking) optional, errors at this
84 stage are handled by marking the index as bad and ignoring it for the
85 remainder of the pmlogcheck passes.
86
87 Permanent repair can be achieved by removing the temporal index file
88 and then making a copy of the PCP archive using pmlogrewrite(1) or pm‐
89 logextract(1). This will create a new temporal index for the copied
90 archive as a side-effect.
91
92 Pass 2
93 Validates the integrity of the metadata file, usually archive.meta.
94
95 Pass 3
96 Validates the integrity of each of the volumes of the PCP archive, usu‐
97 ally archive.0, archive.1, etc.
98
99 There is some basic integrity checks to ensure the encoding of values
100 for each metric remains consistent and the values are well formed
101 across all the observations in the archive.
102
103 Also the timestamps for the observations are expected to be monotoni‐
104 cally increasing as the archive is tranversed.
105
106 Additional attention is given to counter metrics (type from pm‐
107 LookupDesc(3) is PM_SEM_COUNTER) which are expected to have monotoni‐
108 cally increasing values. If the values are not monotonic increasing
109 this may suggest a counter wrap has happened or there has been some in‐
110 terruption or reset to the underlying source of the performance data
111 that is no captured in the archive.
112
113 For each counter metric which has been detected as having wrapped at
114 some point in the archive, pmlogcheck produces output describing the
115 metric name (with instance identifiers where appropriate), the internal
116 storage type for the metric, the value of the metric before the counter
117 wrap (with its associated timestamp), and the value of the metric after
118 the wrap (also with a timestamp).
119
120 The -w option may be used to suppress reporting of counter wraps.
121
122 pmlogcheck produces two different timestamp formats, depending on the
123 interval over which it is run. For an interval greater than 24 hours,
124 the date is displayed in addition to the time at which the counter wrap
125 occurred. If the extent of the data being checked is less than 24
126 hours, a more precise format is used (time is displayed with millisec‐
127 ond precision, but without the date).
128
130 $PCP_VAR_DIR/pmns/*
131 default PMNS specification files
132
133 $PCP_LOG_DIR/pmlogger/<hostname>
134 default directory for PCP archives containing performance data
135 collected from the host hostname.
136
138 Environment variables with the prefix PCP_ are used to parameterize the
139 file and directory names used by PCP. On each installation, the file
140 /etc/pcp.conf contains the local values for these variables. The
141 $PCP_CONF variable may be used to specify an alternative configuration
142 file, as described in pcp.conf(5).
143
145 PCPIntro(1), pmdumplog(1), pmlogextract(1), pmlogger(1), pmlo‐
146 grewrite(1), pmlogsummary(1), pmLookupDesc(3), pcp.conf(5), pcp.env(5)
147 and PMNS(5).
148
149
150
151Performance Co-Pilot PCP PMLOGCHECK(1)