|
57 | 57 | @fbitTailMemBufLimitMBs = 0
|
58 | 58 | @fbitTailIgnoreOlder = ""
|
59 | 59 |
|
| 60 | +# Checking to see if this is the daemonset or replicaset to parse config accordingly |
| 61 | +@controllerType = ENV["CONTROLLER_TYPE"] |
| 62 | +@daemonset = "daemonset" |
| 63 | +# Checking to see if container is not prometheus sidecar. |
| 64 | +# CONTAINER_TYPE is populated only for prometheus sidecar container. |
| 65 | +@containerType = ENV["CONTAINER_TYPE"] |
| 66 | + |
| 67 | +@promFbitChunkSize = 0 |
| 68 | +@promFbitBufferSize = 0 |
| 69 | +@promFbitMemBufLimit = 0 |
| 70 | + |
| 71 | +@promFbitChunkSizeDefault = "32k" #kb |
| 72 | +@promFbitBufferSizeDefault = "64k" #kb |
| 73 | +@promFbitMemBufLimitDefault = "10m" #mb |
| 74 | + |
60 | 75 | def is_number?(value)
|
61 | 76 | true if Integer(value) rescue false
|
62 | 77 | end
|
@@ -178,6 +193,35 @@ def populateSettingValuesFromConfigMap(parsedConfig)
|
178 | 193 | end
|
179 | 194 | end
|
180 | 195 | end
|
| 196 | + |
| 197 | + prom_fbit_config = nil |
| 198 | + if !@controllerType.nil? && !@controllerType.empty? && @controllerType.strip.casecmp(@daemonset) == 0 && @containerType.nil? |
| 199 | + prom_fbit_config = parsedConfig[:agent_settings][:node_prometheus_fbit_settings] |
| 200 | + elsif !@controllerType.nil? && !@controllerType.empty? && @controllerType.strip.casecmp(@daemonset) != 0 |
| 201 | + prom_fbit_config = parsedConfig[:agent_settings][:cluster_prometheus_fbit_settings] |
| 202 | + end |
| 203 | + |
| 204 | + if !prom_fbit_config.nil? |
| 205 | + chunk_size = prom_fbit_config[:tcp_listener_chunk_size] |
| 206 | + if !chunk_size.nil? && is_number?(chunk_size) && chunk_size.to_i > 0 |
| 207 | + @promFbitChunkSize = chunk_size.to_i |
| 208 | + puts "Using config map value: AZMON_FBIT_CHUNK_SIZE = #{@promFbitChunkSize.to_s + "m"}" |
| 209 | + end |
| 210 | + buffer_size = prom_fbit_config[:tcp_listener_buffer_size] |
| 211 | + if !buffer_size.nil? && is_number?(buffer_size) && buffer_size.to_i > 0 |
| 212 | + @promFbitBufferSize = buffer_size.to_i |
| 213 | + puts "Using config map value: AZMON_FBIT_BUFFER_SIZE = #{@promFbitBufferSize.to_s + "m"}" |
| 214 | + if @promFbitBufferSize < @promFbitChunkSize |
| 215 | + @promFbitBufferSize = @promFbitChunkSize |
| 216 | + puts "Setting Fbit buffer size equal to chunk size since it is set to less than chunk size - AZMON_FBIT_BUFFER_SIZE = #{@promFbitBufferSize.to_s + "m"}" |
| 217 | + end |
| 218 | + end |
| 219 | + mem_buf_limit = prom_fbit_config[:tcp_listener_mem_buf_limit] |
| 220 | + if !mem_buf_limit.nil? && is_number?(mem_buf_limit) && mem_buf_limit.to_i > 0 |
| 221 | + @promFbitMemBufLimit = mem_buf_limit.to_i |
| 222 | + puts "Using config map value: AZMON_FBIT_MEM_BUF_LIMIT = #{@promFbitMemBufLimit.to_s + "m"}" |
| 223 | + end |
| 224 | + end |
181 | 225 | end
|
182 | 226 | rescue => errorStr
|
183 | 227 | puts "config::error:Exception while reading config settings for agent configuration setting - #{errorStr}, using defaults"
|
@@ -226,6 +270,24 @@ def populateSettingValuesFromConfigMap(parsedConfig)
|
226 | 270 | file.write("export FBIT_TAIL_IGNORE_OLDER=#{@fbitTailIgnoreOlder}\n")
|
227 | 271 | end
|
228 | 272 |
|
| 273 | + if @promFbitChunkSize > 0 |
| 274 | + file.write("export AZMON_FBIT_CHUNK_SIZE=#{@promFbitChunkSize.to_s + "m"}\n") |
| 275 | + else |
| 276 | + file.write("export AZMON_FBIT_CHUNK_SIZE=#{@promFbitChunkSizeDefault}\n") |
| 277 | + end |
| 278 | + |
| 279 | + if @promFbitBufferSize > 0 |
| 280 | + file.write("export AZMON_FBIT_BUFFER_SIZE=#{@promFbitBufferSize.to_s + "m"}\n") |
| 281 | + else |
| 282 | + file.write("export AZMON_FBIT_BUFFER_SIZE=#{@promFbitBufferSizeDefault}\n") |
| 283 | + end |
| 284 | + |
| 285 | + if @promFbitMemBufLimit > 0 |
| 286 | + file.write("export AZMON_FBIT_MEM_BUF_LIMIT=#{@promFbitMemBufLimit.to_s + "m"}\n") |
| 287 | + else |
| 288 | + file.write("export AZMON_FBIT_MEM_BUF_LIMIT=#{@promFbitMemBufLimitDefault}\n") |
| 289 | + end |
| 290 | + |
229 | 291 | # Close file after writing all environment variables
|
230 | 292 | file.close
|
231 | 293 | else
|
@@ -262,6 +324,27 @@ def get_command_windows(env_variable_name, env_variable_value)
|
262 | 324 | commands = get_command_windows("FBIT_TAIL_IGNORE_OLDER", @fbitTailIgnoreOlder)
|
263 | 325 | file.write(commands)
|
264 | 326 | end
|
| 327 | + if @promFbitChunkSize > 0 |
| 328 | + commands = get_command_windows("AZMON_FBIT_CHUNK_SIZE", @promFbitChunkSize.to_s + "m") |
| 329 | + file.write(commands) |
| 330 | + else |
| 331 | + commands = get_command_windows("AZMON_FBIT_CHUNK_SIZE", @promFbitChunkSizeDefault) |
| 332 | + file.write(commands) |
| 333 | + end |
| 334 | + if @promFbitBufferSize > 0 |
| 335 | + commands = get_command_windows("AZMON_FBIT_BUFFER_SIZE", @promFbitBufferSize.to_s + "m") |
| 336 | + file.write(commands) |
| 337 | + else |
| 338 | + commands = get_command_windows("AZMON_FBIT_BUFFER_SIZE", @promFbitBufferSizeDefault) |
| 339 | + file.write(commands) |
| 340 | + end |
| 341 | + if @promFbitMemBufLimit > 0 |
| 342 | + commands = get_command_windows("AZMON_FBIT_MEM_BUF_LIMIT", @promFbitMemBufLimit.to_s + "m") |
| 343 | + file.write(commands) |
| 344 | + else |
| 345 | + commands = get_command_windows("AZMON_FBIT_MEM_BUF_LIMIT", @promFbitMemBufLimitDefault) |
| 346 | + file.write(commands) |
| 347 | + end |
265 | 348 | # Close file after writing all environment variables
|
266 | 349 | file.close
|
267 | 350 | puts "****************End Config Processing********************"
|
|
0 commit comments