HAProxy Enterprise Documentation 2.3r1

Troubleshooting

You can get troubleshooting information from the HAProxy Enterprise nodes' or Stick Table Aggregator's stats socket CLI, or by launching the Stick Table Aggregator process with specific arguments.

HAProxy Enterprise Runtime API

Check the status of HAProxy Enterprise peers

$ sudo socat stdio /var/run/hapee-2.3/hapee-lb.sock \
<<< "show peers" | head -2

The last_status of the Stick Table Aggregator peer should be ESTA.

Stick Table Aggregator CLI

Display debugging information about aggregation sections:

$ sudo socat stdio /tmp/stktagg.socket <<< "show aggrs"
aggregations myaggr
  table 'mytable.uncombined' aggregated to 'mytable.aggr' (expire: 3600000 nb_entries: 1)
    update: 0xb598160 used: 0xb598170
    peer 'hapee1' (0) state: 0x7 push: 0xb598160 ack: 0xb598160 sync: 0xb597ff0
    peer 'hapee2' (1) state: 0x7 push: 0xb598160 ack: 0xb598160 sync: 0xb597ff0

Gives the list of peers and aggregate tables for all aggregations sections in the configuration file.

The following fields are available:

update

Displays the last key that was updated in the Stick Table Aggregator table.

push

Displays the last key that was pushed to a given peer.

Always the same value as up date in normal conditions.

The ack field displays the last key that was acknowledged by a given peer. Usually a bit behind with actual traffic.

state

Protocol state of the peers session with a given peer.

A working peers session has a state of 0x7.

Display the Stick Table Aggregator's aggregate stick table:

show table <aggregation ID> <table name>

For each key, the aggregate entry and the entry sent by each peer are displayed.

Expired entries remain visible, and are reused when the same key is reused.

For example:

$ sudo socat stdio /tmp/stktagg.socket <<< "show table myaggr mytable.aggr"
key=127.0.0.1 http_req_rate=(3600000)=1 exp=3599209
hapee1: http_req_rate=(3600000)=1 exp=3599209
hapee2: http_req_rate=(3600000)=0 expired

Display help:

$ sudo socat stdio /tmp/stktagg.socket <<< "help"

Stick Table Aggregator process arguments

By default, the Stick Table Aggregator starts as a daemon with the following arguments:

$ /opt/hapee-extras/sbin/hapee-stktagg \
-f /etc/hapee-extras/hapee-stktagg.cfg \
-p /var/run/hapee-extras/hapee-stktagg.pid \
-D

Start in debug mode and read a specific configuration file at startup

$ /opt/hapee-extras/sbin/hapee-stktagg -f <configuration file> -d

For example:

$ /opt/hapee-extras/sbin/hapee-stktagg -f /etc/hapee-extras/hapee-stktagg.cfg -d
cfg_agg_params_compute (2 2 0)
Starting event loop
hapee1 peer: received new definition message for 'mytable.uncombined' stick-table
build_new_agg: peer: hapee1 from: 'mytable.uncombined' -> to 'mytable.aggr' id: 1
hapee1 peer: received new definition message for 'mytable.aggr' stick-table
hapee2 peer: received new definition message for 'mytable.uncombined' stick-table
hapee2 peer: received new definition message for 'mytable.aggr' stick-table

Start as a daemon

$ sudo /opt/hapee-extras/sbin/hapee-stktagg -f <configuration file> -D

For example:

$ sudo /opt/hapee-extras/sbin/hapee-stktagg -f /etc/hapee-extras/hapee-stktagg.cfg -D

Display help

$ /opt/hapee-extras/sbin/hapee-stktagg -h

Next up

Load Shedding with NS1