-
Notifications
You must be signed in to change notification settings - Fork 720
/
configuration.yaml
281 lines (209 loc) · 7.76 KB
/
configuration.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
##########################################################
############### Mainnet #########
############### Cardano Byron Node Configuration #########
##########################################################
##### Locations #####
GenesisFile: genesis.json
SocketPath: db/node.socket
##### Blockfetch Protocol
# The maximum number of used peers during bulk sync.
MaxConcurrencyBulkSync: 1
# The maximum number of used peers when fetching newly forged blocks.
MaxConcurrencyDeadline: 2
#TODO: These parameters cannot yet be used in the config file, only on the CLI:
#DatabasePath: db/
#Topology: configuration/mainnet-topology.json
#Port 7776
##### Core protocol parameters #####
# This is the instance of the Ouroboros family that we are running.
# "RealPBFT" is the real (permissive) OBFT protocol, which is what we use on
# mainnet in Byron era.
Protocol: RealPBFT
# The mainnet does not include the network magic into addresses. Testnets do.
RequiresNetworkMagic: RequiresNoMagic
##### Update system parameters #####
# This protocol version number gets used by block producing nodes as part
# of the system for agreeing on and synchronising protocol updates.
LastKnownBlockVersion-Major: 0
LastKnownBlockVersion-Minor: 2
LastKnownBlockVersion-Alt: 0
##### Logging configuration #####
# Enable or disable logging overall
TurnOnLogging: True
# Enable the collection of various OS metrics such as memory and CPU use.
# These metrics are traced in the context name: 'cardano.node.metrics' and can
# be directed to the logs or monitoring backends.
TurnOnLogMetrics: True
# Global logging severity filter. Messages must have at least this severity to
# pass. Typical values would be Warning, Notice, Info or Debug.
minSeverity: Info
# Log items can be rendered with more or less verbose detail.
# Verbosity ranges from MinimalVerbosity, NormalVerbosity to MaximalVerbosity
TracingVerbosity: NormalVerbosity
# The system supports a number of backends for logging and monitoring.
# This setting lists the backends that will be available to use in the
# configuration below. The logging backend is called Katip.
setupBackends:
- KatipBK
# This specifies the default backends that trace output is sent to if it
# is not specifically configured to be sent to other backends.
defaultBackends:
- KatipBK
# EKG is a simple metrics monitoring system. Uncomment the following to enable
# this backend and listen on the given local port and point your web browser to
# http://localhost:12788/
# hasEKG: 12788
# The Prometheus monitoring system exports EKG metrics. Uncomment the following
# to listen on the given port. Output is provided on
# http://localhost:12789/metrics
# hasPrometheus:
# - "127.0.0.1"
# - 12789
# To enable the legacy 'TraceForwarder' backend, uncomment the following setting. Log
# items are then forwarded based on an entry in 'mapBackends' to a separate
# process running a 'TraceAcceptor'.
# Example using UNIX pipes:
# traceForwardTo:
# tag: RemotePipe
# contents: "logs/pipe"
#
# Example using Windows named pipes:
# traceForwardTo:
# tag: RemotePipe
# contents: "\\\\.\\pipe\\acceptor"
#
# Example using network socket:
# traceForwardTo:
# tag: RemoteSocket
# contents:
# - "127.0.0.1"
# - "2997"
# For the Katip logging backend we must set up outputs (called scribes)
# The available types of scribe are:
# FileSK for files
# StdoutSK/StderrSK for stdout/stderr
# JournalSK for systemd's journal system
# DevNullSK ignores all output
# The scribe output format can be ScText or ScJson. Log rotation settings can
# be specified in the defaults below or overridden on a per-scribe basis here.
setupScribes:
- scKind: FileSK
scName: "logs/mainnet.log"
scFormat: ScText
- scKind: StdoutSK
scName: stdout
scFormat: ScText
# For the Katip logging backend this specifies the default scribes that trace
# output is sent to if it is not configured to be sent to other scribes.
defaultScribes:
- - FileSK
- "logs/mainnet.log"
- - StdoutSK
- stdout
# The default file rotation settings for katip scribes, unless overridden
# in the setupScribes above for specific scribes.
rotation:
rpLogLimitBytes: 5000000
rpKeepFilesNum: 3
rpMaxAgeHours: 24
##### Coarse grained logging control #####
# Trace output from whole subsystems can be enabled/disabled using the following
# settings. This provides fairly coarse grained control, but it is relatively
# efficient at filtering out unwanted trace output.
# Trace BlockFetch client.
TraceBlockFetchClient: False
# Trace BlockFetch decisions made by the BlockFetch client.
TraceBlockFetchDecisions: False
# Trace BlockFetch protocol messages.
TraceBlockFetchProtocol: False
# Serialised Trace BlockFetch protocol messages.
TraceBlockFetchProtocolSerialised: False
# Trace BlockFetch server.
TraceBlockFetchServer: False
# Trace BlockchainTime.
TraceBlockchainTime: False
# Verbose tracer of ChainDB
TraceChainDb: True
# Trace ChainSync client.
TraceChainSyncClient: False
# Trace ChainSync server (blocks).
TraceChainSyncBlockServer: False
# Trace ChainSync server (headers).
TraceChainSyncHeaderServer: False
# Trace ChainSync protocol messages.
TraceChainSyncProtocol: False
# Trace DNS Resolver messages.
TraceDNSResolver: True
# Trace DNS Subscription messages.
TraceDNSSubscription: True
# Trace error policy resolution.
TraceErrorPolicy: True
# Trace local error policy resolution.
TraceLocalErrorPolicy: True
# Trace block forging.
TraceForge: True
# Trace Handshake protocol messages.
TraceHandshake: False
# Trace IP Subscription messages.
TraceIpSubscription: True
# Trace local root peers
TraceLocalRootPeers: True
# Trace public root peers
TracePublicRootPeers: True
# Trace peer selection
TracePeerSelection: True
# Debug peer selection
TraceDebugPeerSelection: False
# Trace peer selection actions (demotion / promotion between cold / warm and
# hot peers).
TracePeerSelectionActions: True
# Trace connection manager
TraceConnectionManager: True
# Trace server
TraceServer: True
# Trace local connection manager
TraceLocalConnectionManager: False
# Trace local server
TraceLocalServer: False
# Trace local ChainSync protocol messages.
TraceLocalChainSyncProtocol: False
# Trace local Handshake protocol messages.
TraceLocalHandshake: False
# Trace local TxSubmission protocol messages.
TraceLocalTxSubmissionProtocol: False
# Trace local TxSubmission server.
TraceLocalTxSubmissionServer: False
# Trace mempool.
TraceMempool: True
# Trace Mux Events.
TraceMux: False
# Trace TxSubmission server (inbound transactions).
TraceTxInbound: False
# Trace TxSubmission client (outbound transactions).
TraceTxOutbound: False
# Trace TxSubmission protocol messages.
TraceTxSubmissionProtocol: False
##### Fine grained logging control #####
# It is also possible to have more fine grained control over filtering of
# trace output, and to match and route trace output to particular backends.
# This is less efficient than the coarse trace filters above but provides
# much more precise control.
options:
# This routes metrics matching specific names to particular backends.
# This overrides the 'defaultBackends' listed above. And note that it is
# an override and not an extension so anything matched here will not
# go to the default backend, only to the explicitly listed backends.
mapBackends:
cardano.node.metrics:
- EKGViewBK
# redirects traced values to a specific scribe which is identified by its
# type and its name, separated by "::":
mapScribes:
cardano.node.metrics:
- "FileSK::logs/mainnet.log"
# apply a filter on message severity on messages in a specific named context.
# this filter is applied additionally to the global 'minSeverity' and thus
# needs to be at least as high.
mapSeverity:
cardano.node.ChainDB: Notice
cardano.node.DnsSubscription: Debug