-
Notifications
You must be signed in to change notification settings - Fork 0
/
obmp-translator.conf
133 lines (108 loc) · 4.77 KB
/
obmp-translator.conf
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
# enable/disable debug msgs
debug: true
# run program in the background or not
daemon: false
# translator uses the following kafka configs to retrieve raw bmp msgs produced by obmpv2.
librdkafka_consumer_config:
# obmpv2 brokers that you wish to listen to
obmpv2_brokers: "localhost:9092"
# raw bmp topics that you want to subscribe
raw_topics: "bmp_raw,bmp_raw_1,bmp_raw_2"
# translator uses the following kafka configs to produce parsed msgs that is identical to obmpv1 parsed msgs.
librdkafka_producer_config:
##################################################
### The following variables and values will be ###
### directly passed to librdkafka ###
### Consult with librdkafka documentation to ###
### configure your producer ###
##################################################
# BROKER LIST
# For IPv6 use "[host or ip]:port". Make sure to use double quotes for IPv6
# Can specify the protocol using <proto>://<host>[:port]
# Use comma to separate brokers (no space)
# e.g., metadata.broker.list: "localhost:9092,localhost:12345"
metadata.broker.list: "localhost:9092"
# message.max.bytes - Maximum transmit message size
message.max.bytes: 1000000
# receive.message.max.bytes - Maximum receive message size
# The value should be at least
# fetch.message.max.bytes * number of partitions consumed from i
# + messaging overhead (e.g. 200000 bytes).
receive.message.max.bytes: 200000000
# Client group session and failure detection timeout in milliseconds
session.timeout.ms: 10000
# Timeout for network requests
socket.timeout.ms: 30000
# Maximum number of messages allowed on the producer queue.
queue.buffering.max.messages: 100000
# Maximum number of kbytes allowed on the producer queue. Range 1 - 2097151
queue.buffering.max.kbytes: 1048576
# Maximum time, in milliseconds, for buffering data on the producer queue.
queue.buffering.max.ms: 100
# How many times to retry sending a failing MessageSet.
# Note: retrying may cause reordering.
message.send.max.retries: 2
# The backoff time in milliseconds before retrying a message send.
retry.backoff.ms: 100
# Compression codec to use for compressing message sets: none, gzip or snappy
# By default it is set to snappy
compression.codec: snappy
api.version.request: true
log.connection.close: false
kafka_topic_templates:
# openbmp v1 topic templates
openbmp_v1:
# Use the following {{}} variables to partition topics
#
# The following variables are generated at runtime
# router_group and peer_group are generated by the rules defined in "grouping" of this config file
# {{router_group}}: organization-level information w.r.t. a bmp router.
# constructed by the grouping criteria defined by you in this file.
# {{router_hostname}}: ip to hostname lookup, may not be resolvable.
# {{router_ip}}: bmp router ip
#
# {{peer_group}}: organization-level information w.r.t. a bmp router's peer.
# constructed by the grouping criteria defined by you in this file.
# {{peer_asn}}: from peer hdr
# {{peer_ip}}: from peer hdr
#
# topic templates
collector: "collector"
router: "{{router_group}}.router"
peer: "{{router_group}}.{{peer_group}}.peer"
unicast_prefix: "{{router_group}}.{{peer_group}}.unicast_prefix"
kafka_topic_templates_grouping:
# router_group, order of matching
# matching order is performed in the following sequence. the first match found is used.
# regexp_hostname - hostname/regular expression is used first
# prefix_range - prefix range is used second
router_group:
- name: "caida-bgpstream"
prefix_range:
- 192.133.197.1/32
- name: "route-views.routeviews.org"
regexp_hostname:
- route-views\.routeviews\.org
prefix_range:
- 128.223.51.103/32
# peer_group, order of matching
# matching order is performed in the following sequence. the first match found is used.
# regexp_hostname - hostname/regular expression is used first
# prefix_range - prefix range is used second
# asn - peer asn list
peer_group:
# name defines the value that is substituted for the variable. This provides a consistent
# mapping for different IP's and hostnames
- name: "lab"
# You can define a list of regexp's that match for hostname to group mapping
regexp_hostname:
- .*\.lab\..*
# You can also define a list of prefixes that match for ip to group mapping
prefix_range:
- 10.100.100.0/24
- 10.100.104.0/24
# You can define the matching to look at the peer asn. This is only available for peer_groups.
asn:
- 100
- 65000
- 65001