4
0

cmap_keys.7 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426
  1. .\"/*
  2. .\" * Copyright (c) 2012-2020 Red Hat, Inc.
  3. .\" *
  4. .\" * All rights reserved.
  5. .\" *
  6. .\" * Author: Jan Friesse (jfriesse@redhat.com)
  7. .\" *
  8. .\" * This software licensed under BSD license, the text of which follows:
  9. .\" *
  10. .\" * Redistribution and use in source and binary forms, with or without
  11. .\" * modification, are permitted provided that the following conditions are met:
  12. .\" *
  13. .\" * - Redistributions of source code must retain the above copyright notice,
  14. .\" * this list of conditions and the following disclaimer.
  15. .\" * - Redistributions in binary form must reproduce the above copyright notice,
  16. .\" * this list of conditions and the following disclaimer in the documentation
  17. .\" * and/or other materials provided with the distribution.
  18. .\" * - Neither the name of the Red Hat, Inc. nor the names of its
  19. .\" * contributors may be used to endorse or promote products derived from this
  20. .\" * software without specific prior written permission.
  21. .\" *
  22. .\" * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  23. .\" * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  24. .\" * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  25. .\" * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
  26. .\" * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  27. .\" * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  28. .\" * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  29. .\" * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
  30. .\" * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  31. .\" * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
  32. .\" * THE POSSIBILITY OF SUCH DAMAGE.
  33. .\" */
  34. .TH "CMAP_KEYS" 7 "2018-10-08" "corosync Man Page" "Corosync Cluster Engine Programmer's Manual"
  35. .SH NAME
  36. .P
  37. cmap_keys \- Overview of keys stored in the Configuration Map
  38. .SH OVERVIEW
  39. .P
  40. There are 3 main types of keys stored in CMAP:
  41. .PP
  42. * Mapping of values stored in the config file.
  43. .PP
  44. * Runtime statistics.
  45. .PP
  46. * Other user created values.
  47. In this man page, wild-cards have the usual meaning.
  48. .SH ICMAP KEYS
  49. These keys are in the icmap (default) map
  50. .TP
  51. internal_configuration.*
  52. Internal configuration data. All keys in this prefix are read only.
  53. It's only useful for getting a list of loaded services.
  54. .TP
  55. logging.*
  56. Values read from the configuration file. It's possible to change them at runtime.
  57. If subsystem specific configuration is needed, the key must be in the form
  58. logging.logger_subsys.SERVICE.key, where SERVICE is upper case name of the service and
  59. key is same as in the configuration file. All values are of string type.
  60. .TP
  61. nodelist.*
  62. Values are read from the configuration file only (dynamic updates are not allowed).
  63. Each node element in the configuration file gets
  64. assigned its position starting from zero. So the first node from the config file has
  65. nodelist.node.0. prefix. To be a valid entry, each node must have
  66. .B ring0_addr
  67. key.
  68. To change the
  69. .B nodeid
  70. key, use a u32 data type.
  71. Local node position is stored in
  72. .B local_node_pos
  73. key (RO), so it's easy to find
  74. out nodeid/ring addresses of the local node directly from cmap.
  75. .TP
  76. runtime.blackbox.*
  77. Trigger keys for storing fplay data. It's recommended that you use the corosync-blackbox command
  78. to change keys in this prefix.
  79. .TP
  80. runtime.force_gather
  81. Set to 'yes' to force the processor to move into the GATHER state. This operation
  82. is dangerous and is not recommended.
  83. .TP
  84. runtime.config.*
  85. Contains the values actually in use by the totem membership protocol.
  86. Values here are either taken from the Corosync configuration file,
  87. defaults or computed from entries in the config file. For information
  88. on individual keys please refer to the man page
  89. .BR corosync.conf (5).
  90. .TP
  91. runtime.services.*
  92. Prefix with statistics for service engines. Each service has its own
  93. .B service_id
  94. key in the prefix with the name runtime.services.SERVICE., where SERVICE is the lower case
  95. name of the service. Inside the service prefix is the number of messages received and sent
  96. by the corosync engine in the format runtime.services.SERVICE.EXEC_CALL.rx and
  97. runtime.services.SERVICE.EXEC_CALL.tx, where EXEC_CALL is the internal id of the service
  98. call (so for example 3 in cpg service is receive of multicast message from other
  99. nodes).
  100. .TP
  101. runtime.totem.members.*
  102. Prefix containing members of the totem single ring protocol. Each member
  103. keys has format runtime.totem.members.NODEID.KEY, where key is
  104. one of:
  105. .B config_version
  106. Config version of the member node.
  107. .TP
  108. resources.process.PID.*
  109. Prefix created by applications using SAM with CMAP integration.
  110. It contains the following keys:
  111. .B recovery
  112. Recovery policy of the process. Can be one of quit or restart.
  113. .B poll_period
  114. Value passed in sam_initialize as a time_interval.
  115. .B last_updated
  116. Last time SAM received a heartbeat from the client.
  117. .B state
  118. State of the client. Can be one of failed, stopped, running and waiting for quorum.
  119. .TP
  120. uidgid.*
  121. Information about users/groups which are allowed to make IPC connections to
  122. corosync. Entries loaded from configuration file are stored with
  123. uidgid.config.* prefix and are pruned on configuration file reload. Dynamic
  124. entries has uidgid.* prefix and a configuration file reload doesn't affect them.
  125. .TP
  126. quorum.cancel_wait_for_all
  127. Tells votequorum to cancel waiting for all nodes at cluster startup. Can be used
  128. to unblock quorum if notes are known to be down. For pcs use only.
  129. .TP
  130. cfg.shutdown_timeout
  131. Sets the timeout within which daemons that are registered for cfg callbacks must respond
  132. to a corosync_cfg_try_shutdown() request. the default is 5000 mS
  133. .TP
  134. config.reload_in_progress
  135. This value will be set to 1 (or created) when a corosync.conf reload is started,
  136. and set to 0 when the reload is completed. This allows interested subsystems
  137. to do atomic reconfiguration rather than changing each key. Note that
  138. individual add/change/delete notifications will still be sent during a reload.
  139. .TP
  140. config.totemconfig_reload_in_progress
  141. This key is similar to
  142. .B config.totemconfig_reload_in_progress
  143. but changed after the totem config trigger is processed. It is useful (mainly)
  144. for situations when
  145. .B nodelist.local_node_pos
  146. must be correctly reinstated before anything else.
  147. .SH STATS KEYS
  148. These keys are in the stats map. All keys in this map are read-only.
  149. Modification tracking of individual keys is supported in the stats map, but not
  150. prefixes. Add/Delete operations are supported on prefixes though so you can track
  151. for new ipc connections or knet interfaces.
  152. .TP
  153. stats.srp.*
  154. Prefix containing statistics about totem.
  155. Typical key prefixes:
  156. .B commit_entered
  157. Number of times the processor entered COMMIT state.
  158. .B commit_token_lost
  159. Number of times the processor lost token in COMMIT state.
  160. .B consensus_timeouts
  161. How many times the processor timed out forming a consensus about membership.
  162. .B continuous_gather
  163. How many times the processor was not able to reach consensus.
  164. .B firewall_enabled_or_nic_failure
  165. Set to 1 when processor was not able to reach consensus for long time. The usual
  166. reason is a badly configured firewall or connection failure.
  167. .B gather_entered
  168. Number of times the processor entered GATHER state.
  169. .B gather_token_lost
  170. Number of times the processor lost token in GATHER state.
  171. .B mcast_retx
  172. Number of retransmitted messages.
  173. .B mcast_rx
  174. Number of received multicast messages.
  175. .B mcast_tx
  176. Number of transmitted multicast messages.
  177. .B memb_commit_token_rx
  178. Number of received commit tokens.
  179. .B memb_commit_token_tx
  180. Number of transmitted commit tokens.
  181. .B memb_join_rx
  182. Number of received join messages.
  183. .B memb_join_tx
  184. Number of transmitted join messages.
  185. .B memb_merge_detect_rx
  186. Number of received member merge messages.
  187. .B memb_merge_detect_tx
  188. Number of transmitted member merge messages.
  189. .B orf_token_rx
  190. Number of received orf tokens.
  191. .B orf_token_tx
  192. Number of transmitted orf tokens.
  193. .B recovery_entered
  194. Number of times the processor entered recovery.
  195. .B recovery_token_lost
  196. Number of times the token was lost in recovery state.
  197. .B rx_msg_dropped
  198. Number of received messages which were dropped because they were not expected
  199. (as example multicast message in commit state).
  200. .B token_hold_cancel_rx
  201. Number of received token hold cancel messages.
  202. .B token_hold_cancel_tx
  203. Number of transmitted token hold cancel messages.
  204. .B mtt_rx_token
  205. Mean transit time of token in milliseconds. In other words, time between
  206. two consecutive token receives.
  207. .B avg_token_workload
  208. Average time in milliseconds of holding time of token on the current processor.
  209. .B avg_backlog_calc
  210. Average number of not yet sent messages on the current processor.
  211. .TP
  212. stats.knet.nodeX.linkY.*
  213. Statistics about the network traffic to and from each node and link when using
  214. tke kronosnet transport
  215. .B connected
  216. Whether the link is connected or not
  217. .B up_count
  218. Number of times this link has changed state to UP
  219. .B down_count
  220. Number of times this link has changed state to DOWN
  221. .B latency_ave / latency_max / latency_max
  222. Calculated latencies of this link. Note that if there has been no traffic
  223. on the link then latency_min will show a very large number.
  224. .B latency_samples
  225. The number of samples used to calculate the latency figures, so you have
  226. some idea of their precision.
  227. .B rx_data_packets / tx_data_packets
  228. The number of packets sent/received on this link
  229. .B rx_data_bytes / tx_data_bytes
  230. The number of bytes sent/received on this link
  231. .B rx_pmtu_packets / tx_pmtu_packets
  232. The number of packets sent/received by the PMTUd subsystem
  233. .B rx_pmtu_bytes / tx_pmtu_bytes
  234. The number of bytes sent/received by the PMTUd subsystem
  235. .B rx_ping_packets / tx_ping_packets
  236. The number of packets sent/received as pings
  237. .B rx_ping_bytes / tx_ping_bytes
  238. The number of bytes sent/received as pings
  239. .B rx_pong_packets / tx_pong_packets
  240. The number of packets sent/received as pongs
  241. .B rx_pong_bytes / tx_pong_bytes
  242. The number of bytes sent/received as pongs
  243. .B rx_total_packets / tx_total_packets
  244. The total number of packets sent/received. The aggregate of all of the above packet stats
  245. .B rx_total_bytes / tx_total_bytes
  246. The total number of bytes sent/received. The aggregate of all of the above bytes stats
  247. .B tx_data_retries / tx_pmtu_retries / tx_ping_retries / tx_pong_retries / tx_total_retries
  248. Number of times a transmit operation had to be retried due to the socket returning EAGAIN
  249. .TP
  250. stats.ipcs.*
  251. There is information about total number of active connections from client programs
  252. at the time the request was made.
  253. .B active
  254. number of closed connections during whole runtime of corosync
  255. .B closed
  256. Total number of connections that have been made since corosync was started
  257. .TP
  258. stats.ipcs.ID.*
  259. Each IPC connection has a unique ID. This is in the form [[serviceX:][PID:]internal_id.
  260. Typical keys in this prefix are:
  261. .B proc_name
  262. process name of connected process (unavailable on some platforms)
  263. .B dispatched
  264. number of dispatched messages.
  265. .B invalid_request
  266. number of requests made by IPC which are invalid (calling non-existing call, ...).
  267. .B name
  268. contains short name of the IPC connection (unavailable on some platforms).
  269. .B overload
  270. is number of requests which were not processed because of overload.
  271. .B queue_size
  272. contains the number of messages in the queue waiting for send.
  273. .B recv_retries
  274. is the total number of interrupted receives.
  275. .B requests
  276. contains the number of requests made by IPC.
  277. .B responses
  278. is the number of responses sent to the IPC client.
  279. .B send_retries
  280. contains the total number of interrupted sends.
  281. .B service_id
  282. contains the ID of service which the IPC is connected to.
  283. .TP
  284. stats.schedmiss.<n>.*
  285. If corosync is not scheduled after the required period of time it will
  286. log this event and also write an entry to the stats cmap under this key.
  287. There can be up to 10 entries (0..9) in here, when an 11th event happens
  288. the earliest will be removed.
  289. These events will always be in reverse order, so stats.schedmiss.0.* will
  290. always be the latest event kept and 9 the oldest. If you want to listen
  291. for notifications then you are recommended to listen for changes
  292. to stats.schedmiss.0.timestamp or stats.schedmiss.0.delay.
  293. .B timestamp
  294. The time of the event in ms since the Epoch (ie time_t * 1000 but with
  295. valid milliseconds).
  296. .B delay
  297. The time that corosync was paused (in ms, float value).
  298. .TP
  299. stats.clear.*
  300. These are write-only keys used to clear the stats for various subsystems
  301. .B totem
  302. Clears the pg & srp totem stats.
  303. .B knet
  304. Clears the knet stats
  305. .B ipc
  306. Clears the ipc stats
  307. .B schedmiss
  308. Clears the schedmiss stats
  309. .B all
  310. Clears all of the above stats
  311. .SH DYNAMIC CHANGE USER/GROUP PERMISSION TO USE COROSYNC IPC
  312. Is the same as in the configuration file. eg: to add UID 500 use
  313. .br
  314. # corosync-cmapctl -s uidgid.uid.500 u8 1
  315. GID is similar, so to add a GID use
  316. .br
  317. # corosync-cmapctl -s uidgid.gid.500 u8 1
  318. For removal of permissions, simply delete the key
  319. .br
  320. # corosync-cmapctl -d uidgid.gid.500
  321. .SH "SEE ALSO"
  322. .BR corosync_overview (7),
  323. .BR corosync.conf (5),
  324. .BR corosync-cmapctl (8)