heka-flood is a Heka load test tool; it is capable of generating a large number of messages to exercise Heka using different protocols, message types, and error conditions.
Example:
heka-flood -config="/etc/flood.toml" -test="my_test_name"
Name of the test section (toml key) in the configuration file.
IP address of the Heka server.
tcp or udp
The name of the file to save the profiling data to.
protobuf or json
The number of messages to be sent, 0 for infinite.
Duration of time to delay between the sending of each message. Accepts duration values as supported by Go’s time.ParseDuration function. Default of 0 means no delay.
The percentage of messages that will be randomly corrupted.
The percentage of message that will signed.
True, if a random selection of variable size messages are to be sent. False, if a single fixed message will be sent.
signer (object): Signer information for the encoder.
- name (string): The name of the signer.
- hmac_hash (string): md5 or sha1
- hmac_key (string): The key the message will be signed with.
- version (int): The version number of the hmac_key.
True, if generated message payloads should only contain ASCII characters. False, if message payloads should contain arbitrary binary data. Defaults to false.
New in version 0.5.
Specifies whether or not SSL/TLS encryption should be used for the TCP connections. Defaults to false.
A sub-section that specifies the settings to be used for any SSL/TLS encryption. This will only have any impact if use_tls is set to true. See Configuring TLS.
New in version 0.9.
The maximum size of the message that will be sent by heka-flood.
New in version 0.10.
Defines if heka-flood should try to reconnect with backend after connection error. Exits if reconnect_on_error is set to false. Defaults to false.
Specifies interval (in seconds) after which heka-flood will try to recreate connection with backend. Defaults to 5s.
Example
[default]
ip_address = "127.0.0.1:5565"
sender = "tcp"
pprof_file = ""
encoder = "protobuf"
num_messages = 0
corrupt_percentage = 0.0001
signed_percentage = 0.00011
variable_size_messages = true
[default.signer]
name = "test"
hmac_hash = "md5"
hmac_key = "4865ey9urgkidls xtb0[7lf9rzcivthkm"
version = 0
New in version 0.5.
heka-inject is a Heka client allowing for the injecting of arbitrary messages into the Heka pipeline. It is capable of generating a message of specified message variables with values. It allows for quickly testing plugins. Inject requires TcpInput with Protobufs encoder availability.
Example:
heka-inject -payload="Test message with high severity." -severity=1
New in version 0.5.
A command-line utility for counting, viewing, filtering, and extracting Heka protobuf logs.
Example:
heka-cat -format=count -match="Fields[status] == 404" test.log
Output:
Input:test.log Offset:0 Match:Fields[status] == 404 Format:count Tail:false Output:
Processed: 1002646, matched: 15660 messages