1CMAP_KEYS(7) Corosync Cluster Engine Programmer's Manual CMAP_KEYS(7)
2
3
4
6 cmap_keys - Overview of keys stored in the Configuration Map
7
8
10 There are 3 main types of keys stored in CMAP:
11
12 * Mapping of values stored in the config file.
13
14 * Runtime statistics.
15
16 * Other user created values.
17
18 In this man page, wild-cards have the usual meaning.
19
20
22 These keys are in the icmap (default) map
23
24 internal_configuration.*
25 Internal configuration data. All keys in this prefix are read
26 only. It's only useful for getting a list of loaded services.
27
28
29 logging.*
30 Values read from the configuration file. It's possible to change
31 them at runtime. If subsystem specific configuration is needed,
32 the key must be in the form logging.logger_subsys.SERVICE.key,
33 where SERVICE is upper case name of the service and key is same
34 as in the configuration file. All values are of string type.
35
36
37 nodelist.*
38 Values are read from the configuration file only (dynamic up‐
39 dates are not allowed). Each node element in the configuration
40 file gets assigned its position starting from zero. So the first
41 node from the config file has nodelist.node.0. prefix. To be a
42 valid entry, each node must have ring0_addr key. To change the
43 nodeid key, use a u32 data type.
44
45 Local node position is stored in local_node_pos key (RO), so
46 it's easy to find out nodeid/ring addresses of the local node
47 directly from cmap.
48
49
50 runtime.blackbox.*
51 Trigger keys for storing fplay data. It's recommended that you
52 use the corosync-blackbox command to change keys in this prefix.
53
54
55 runtime.force_gather
56 Set to 'yes' to force the processor to move into the GATHER
57 state. This operation is dangerous and is not recommended.
58
59
60 runtime.config.*
61 Contains the values actually in use by the totem membership pro‐
62 tocol. Values here are either taken from the Corosync configu‐
63 ration file, defaults or computed from entries in the config
64 file. For information on individual keys please refer to the man
65 page corosync.conf(5).
66
67
68 runtime.services.*
69 Prefix with statistics for service engines. Each service has its
70 own service_id key in the prefix with the name runtime.ser‐
71 vices.SERVICE., where SERVICE is the lower case name of the ser‐
72 vice. Inside the service prefix is the number of messages re‐
73 ceived and sent by the corosync engine in the format run‐
74 time.services.SERVICE.EXEC_CALL.rx and runtime.services.SER‐
75 VICE.EXEC_CALL.tx, where EXEC_CALL is the internal id of the
76 service call (so for example 3 in cpg service is receive of mul‐
77 ticast message from other nodes).
78
79
80 runtime.totem.members.*
81 Prefix containing members of the totem single ring protocol.
82 Each member keys has format runtime.totem.members.NODEID.KEY,
83 where key is one of:
84
85 config_version Config version of the member node.
86
87
88 resources.process.PID.*
89 Prefix created by applications using SAM with CMAP integration.
90 It contains the following keys:
91
92 recovery Recovery policy of the process. Can be one of quit or
93 restart.
94
95 poll_period Value passed in sam_initialize as a time_interval.
96
97 last_updated Last time SAM received a heartbeat from the client.
98
99 state State of the client. Can be one of failed, stopped, run‐
100 ning and waiting for quorum.
101
102
103 uidgid.*
104 Information about users/groups which are allowed to make IPC
105 connections to corosync. Entries loaded from configuration file
106 are stored with uidgid.config.* prefix and are pruned on config‐
107 uration file reload. Dynamic entries has uidgid.* prefix and a
108 configuration file reload doesn't affect them.
109
110
111 quorum.cancel_wait_for_all
112 Tells votequorum to cancel waiting for all nodes at cluster
113 startup. Can be used to unblock quorum if notes are known to be
114 down. For pcs use only.
115
116
117 cfg.shutdown_timeout
118 Sets the timeout within which daemons that are registered for
119 cfg callbacks must respond to a corosync_cfg_try_shutdown() re‐
120 quest. the default is 5000 mS
121
122
123 config.reload_in_progress
124 This value will be set to 1 (or created) when a corosync.conf
125 reload is started, and set to 0 when the reload is completed.
126 This allows interested subsystems to do atomic reconfiguration
127 rather than changing each key. Note that individual
128 add/change/delete notifications will still be sent during a
129 reload.
130
131
132 config.totemconfig_reload_in_progress
133 This key is similar to config.totemconfig_reload_in_progress but
134 changed after the totem config trigger is processed. It is use‐
135 ful (mainly) for situations when nodelist.local_node_pos must be
136 correctly reinstated before anything else.
137
138
140 These keys are in the stats map. All keys in this map are read-only.
141 Modification tracking of individual keys is supported in the stats map,
142 but not prefixes. Add/Delete operations are supported on prefixes
143 though so you can track for new ipc connections or knet interfaces.
144
145 stats.srp.*
146 Prefix containing statistics about totem. Typical key prefixes:
147
148 commit_entered Number of times the processor entered COMMIT
149 state.
150
151 commit_token_lost Number of times the processor lost token in
152 COMMIT state.
153
154 consensus_timeouts How many times the processor timed out form‐
155 ing a consensus about membership.
156
157 continuous_gather How many times the processor was not able to
158 reach consensus.
159
160 firewall_enabled_or_nic_failure Set to 1 when processor was not
161 able to reach consensus for long time. The usual reason is a
162 badly configured firewall or connection failure.
163
164 gather_entered Number of times the processor entered GATHER
165 state.
166
167 gather_token_lost Number of times the processor lost token in
168 GATHER state.
169
170 mcast_retx Number of retransmitted messages.
171
172 mcast_rx Number of received multicast messages.
173
174 mcast_tx Number of transmitted multicast messages.
175
176 memb_commit_token_rx Number of received commit tokens.
177
178 memb_commit_token_tx Number of transmitted commit tokens.
179
180 memb_join_rx Number of received join messages.
181
182 memb_join_tx Number of transmitted join messages.
183
184 memb_merge_detect_rx Number of received member merge messages.
185
186 memb_merge_detect_tx Number of transmitted member merge mes‐
187 sages.
188
189 orf_token_rx Number of received orf tokens.
190
191 orf_token_tx Number of transmitted orf tokens.
192
193 recovery_entered Number of times the processor entered recovery.
194
195 recovery_token_lost Number of times the token was lost in recov‐
196 ery state.
197
198 rx_msg_dropped Number of received messages which were dropped
199 because they were not expected (as example multicast message in
200 commit state).
201
202 token_hold_cancel_rx Number of received token hold cancel mes‐
203 sages.
204
205 token_hold_cancel_tx Number of transmitted token hold cancel
206 messages.
207
208 mtt_rx_token Mean transit time of token in milliseconds. In
209 other words, time between two consecutive token receives.
210
211 avg_token_workload Average time in milliseconds of holding time
212 of token on the current processor.
213
214 avg_backlog_calc Average number of not yet sent messages on the
215 current processor.
216
217
218 stats.knet.nodeX.linkY.*
219 Statistics about the network traffic to and from each node and
220 link when using tke kronosnet transport
221
222 connected Whether the link is connected or not
223
224 up_count Number of times this link has changed state to UP
225
226 down_count Number of times this link has changed state to DOWN
227
228 latency_ave / latency_max / latency_max Calculated latencies of
229 this link. Note that if there has been no traffic on the link
230 then latency_min will show a very large number.
231
232 latency_samples The number of samples used to calculate the la‐
233 tency figures, so you have some idea of their precision.
234
235 rx_data_packets / tx_data_packets The number of packets sent/re‐
236 ceived on this link
237
238 rx_data_bytes / tx_data_bytes The number of bytes sent/received
239 on this link
240
241 rx_pmtu_packets / tx_pmtu_packets The number of packets sent/re‐
242 ceived by the PMTUd subsystem
243
244 rx_pmtu_bytes / tx_pmtu_bytes The number of bytes sent/received
245 by the PMTUd subsystem
246
247 rx_ping_packets / tx_ping_packets The number of packets sent/re‐
248 ceived as pings
249
250 rx_ping_bytes / tx_ping_bytes The number of bytes sent/received
251 as pings
252
253 rx_pong_packets / tx_pong_packets The number of packets sent/re‐
254 ceived as pongs
255
256 rx_pong_bytes / tx_pong_bytes The number of bytes sent/received
257 as pongs
258
259 rx_total_packets / tx_total_packets The total number of packets
260 sent/received. The aggregate of all of the above packet stats
261
262 rx_total_bytes / tx_total_bytes The total number of bytes
263 sent/received. The aggregate of all of the above bytes stats
264
265 tx_data_retries / tx_pmtu_retries / tx_ping_retries /
266 tx_pong_retries / tx_total_retries Number of times a transmit
267 operation had to be retried due to the socket returning EAGAIN
268
269
270 stats.ipcs.*
271 There is information about total number of active connections
272 from client programs at the time the request was made. active
273 number of closed connections during whole runtime of corosync
274 closed Total number of connections that have been made since
275 corosync was started
276
277
278 stats.ipcs.ID.*
279 Each IPC connection has a unique ID. This is in the form [[ser‐
280 viceX:][PID:]internal_id.
281
282 Typical keys in this prefix are:
283
284 proc_name process name of connected process (unavailable on some
285 platforms)
286
287 dispatched number of dispatched messages.
288
289 invalid_request number of requests made by IPC which are invalid
290 (calling non-existing call, ...).
291
292 name contains short name of the IPC connection (unavailable on
293 some platforms).
294
295 overload is number of requests which were not processed because
296 of overload.
297
298 queue_size contains the number of messages in the queue waiting
299 for send.
300
301 recv_retries is the total number of interrupted receives.
302
303 requests contains the number of requests made by IPC.
304
305 responses is the number of responses sent to the IPC client.
306
307 send_retries contains the total number of interrupted sends.
308
309 service_id contains the ID of service which the IPC is connected
310 to.
311
312
313
314 stats.schedmiss.<n>.*
315 If corosync is not scheduled after the required period of time
316 it will log this event and also write an entry to the stats cmap
317 under this key. There can be up to 10 entries (0..9) in here,
318 when an 11th event happens the earliest will be removed.
319
320 These events will always be in reverse order, so stats.sched‐
321 miss.0.* will always be the latest event kept and 9 the oldest.
322 If you want to listen for notifications then you are recommended
323 to listen for changes to stats.schedmiss.0.timestamp or
324 stats.schedmiss.0.delay.
325
326 timestamp The time of the event in ms since the Epoch (ie time_t
327 * 1000 but with valid milliseconds).
328
329 delay The time that corosync was paused (in ms, float value).
330
331
332
333 stats.clear.*
334 These are write-only keys used to clear the stats for various
335 subsystems
336
337 totem Clears the pg & srp totem stats.
338
339 knet Clears the knet stats
340
341 ipc Clears the ipc stats
342
343 schedmiss Clears the schedmiss stats
344
345 all Clears all of the above stats
346
347
348
350 Is the same as in the configuration file. eg: to add UID 500 use
351
352 # corosync-cmapctl -s uidgid.uid.500 u8 1
353
354 GID is similar, so to add a GID use
355
356 # corosync-cmapctl -s uidgid.gid.500 u8 1
357
358 For removal of permissions, simply delete the key
359
360 # corosync-cmapctl -d uidgid.gid.500
361
362
363
365 corosync_overview(7), corosync.conf(5), corosync-cmapctl(8)
366
367
368
369corosync Man Page 2018-10-08 CMAP_KEYS(7)