# TCP address that gRPC API server should listen on. grpc_addr: 0.0.0.0:19091 # TCP address that RESTful API server should listen on. tcp_addr: 0.0.0.0:19092 # Unix domain socket address that RESTful API server should listen on. # Listening on a unix domain socket is disabled by default. # unix_addr: "/var/run/kafka-pixy.sock" # A map of cluster names to respective proxy configurations. The first proxy # in the map is considered to be `default`. It is used in API calls that do not # specify cluster name explicitly. proxies: # Name of a Kafka+ZooKeeper cluster. The only requirement to the name is that # it should be unique in this config file. The value of this parameter is # a configuration of a proxy to access the cluster. default: # Unique ID that identifies a Kafka-Pixy instance in both ZooKeeper and # Kafka. It is automatically generated by default and it is recommended to # leave it like that. # client_id: AUTOGENERATED # Kafka parameters section. kafka: # List of seed Kafka peers that Kafka-Pixy should access to resolve the # Kafka cluster topology. seed_peers: - kafka:9092 # Version of the Kafka cluster. Supported versions are 0.10.2.1 - 2.0.0 version: 2.0.0 # Enable TLS when connecting to the Kafka cluster tls: false # The filepath to the CA root certificate # ca_certificate_file: # The filepath to the client certificate # client_certificate_file: # The filepath to the client certificate key # client_key_file: # Disable hostname verification # insecure: false # Networking parameters section. These all pass through to sarama's # `config.Net` field. net: # How long to wait for the initial connection. dial_timeout: 30s # How long to wait for a response. read_timeout: 30s # How long to wait for a transmit. write_timeout: 30s # ZooKeeper parameters section. zoo_keeper: # List of seed ZooKeeper peers that Kafka-Pixy should access to resolve the # ZooKeeper cluster topology. seed_peers: - zookeeper:2181 # A root directory in ZooKeeper to store consumers data. # chroot: "" # ZooKeeper session timeout has to be a minimum of 2 times the tickTime # (as set in the server configuration) and a maximum of 20 times the # tickTime. The default ZooKeeper tickTime is 2 seconds. # # See http://zookeeper.apache.org/doc/trunk/zookeeperProgrammers.html#ch_zkSessions session_timeout: 15s # Producer parameters section. producer: # Size of all buffered channels created by the producer module. channel_buffer_size: 4096 # The maximum permitted size of a message (defaults to 1000000). Should be # set equal to or smaller than the broker's `message.max.bytes`. max_message_bytes: 1000000 # The type of compression to use on messages. Allowed values are: # none, gzip, snappy, and lz4. compression: none # The best-effort number of bytes needed to trigger a flush. flush_bytes: 1048576 # The best-effort frequency of flushes. flush_frequency: 500ms # How long to wait for the cluster to settle between retries. retry_backoff: 10s # The total number of times to retry sending a message before giving up. retry_max: 6 # The level of acknowledgement reliability needed from the broker. # Allowed values are: # * no_response: the broker doesn't send any response, the TCP ACK # is all you get. # * wait_for_local: the broker responds as soon as it commits to the # local disk. # * wait_for_all: the broker waits for all in-sync replicas to commit # before responding. required_acks: wait_for_all # Period of time that Kafka-Pixy should keep trying to submit buffered # messages to Kafka. It is recommended to make it large enough to survive # a ZooKeeper leader election in your setup. shutdown_timeout: 30s # How to assign incoming messages to a Kafka partition. Defaults to using # a hash of the specified message key, or random if the key is # unspecified. Allowed values are: # * hash: for messages with a key, take the FNV-1a hash of the # bytes, modulus the number of partitions; otherwise use a # random partition. # * random: all messages are published to a random partition. # * roundrobin: iterate over partitions sequentially partitioner: hash # The timeout to specify on individual produce requests to the broker. The # broker will wait for replication to complete up to this duration before # returning an error. timeout: 10s # Consumer parameters section. consumer: # If set, Kafka-Pixy will not configure a consumer, and any attempts to # call the consumer APIs will return an error. disabled: false # Period of time that Kafka-Pixy should wait for an acknowledgement # before retrying. ack_timeout: 5m # Size of all buffered channels created by the consumer module. channel_buffer_size: 64 # The number of bytes of messages to attempt to fetch for each # topic-partition in each fetch request. These bytes will be read into # memory for each partition, so this helps control the memory used by # the consumer. The fetch request size must be at least as large as # the maximum message size the server allows or else it is possible # for the producer to send messages larger than the consumer can fetch. fetch_max_bytes: 1048576 # The maximum amount of time the server will block before answering # the fetch request if there isn't data immediately available. fetch_max_wait: 250ms # Consume request will wait at most this long until for a message from a # topic to become available before expiring. long_polling_timeout: 3s # The maximum number of unacknowledged messages allowed for a particular # group-topic-partition at a time. When this number is reached subsequent # consume requests will return long polling timeout errors, until some of # the pending messages are acknowledged. max_pending_messages: 300 # The maximum number of retries Kafka-Pixy will make to offer an # unack message. Messages that exceeded the number of retries are # discarded by Kafka-Pixy and acknowledged in Kafka. Zero retries # means that messages will be offered just once. # # If you want Kafka-Pixy to retry indefinitely, then set this # parameter to -1. max_retries: -1 # How frequently to commit offsets to Kafka. offsets_commit_interval: 500ms # If a request to a Kafka-Pixy fails for any reason, then it should wait this # long before retrying. retry_backoff: 500ms # Period of time that Kafka-Pixy should keep a subscription for a # topic by a group in absence of requests to from the consumer group. subscription_timeout: 15s # Configuration for securely accessing the gRPC and web servers tls: # Path to the server certificate file. # Required if using gRPC SSL/TLS or HTTPS. # certificate_path: /usr/local/etc/server.crt # Path to the server certificate key file. # Required if using gRPC SSL/TLS or HTTPS. # key_path: /usr/local/etc/server.key # A list of defined loggers, multiple loggers are allowed and each log line will be sent to every logger defined. logging: # Logs to stdout in human readable format - name: console severity: info # # Logs to stdout in a JSON format # - name: json # severity: info # # Logs to kafka topic in JSON format # - name: udplog # severity: error # # Logs to syslog # - name: syslog # severity: debug