View Deserialized Messages in Redpanda Console

The Redpanda Operator deploys Redpanda Console v2.x, not v3.x.

Redpanda Console v3 is not yet available when deploying with the Redpanda Operator. The Redpanda Operator continues to deploy Redpanda Console v2. To try Redpanda Console v3 in Kubernetes, you can deploy Redpanda using the Redpanda Helm chart instead of the Redpanda Operator.

Redpanda Console configuration syntax varies by major version. Before configuring, determine which version you’re using:

# Check console version from deployment
kubectl get deployment -n <namespace> redpanda-console -o jsonpath='{.spec.template.spec.containers[0].image}'

# Or check from running pod
kubectl get pod -n <namespace> -l app.kubernetes.io/name=console -o jsonpath='{.items[0].spec.containers[0].image}'

# Or check from console logs
kubectl logs -n <namespace> -l app.kubernetes.io/name=console | grep "started Redpanda Console"

If you see output like redpandadata/console:v2.8.0, you’re using Redpanda Console v2.x. If you see redpandadata/console:v3.0.0, you’re using Redpanda Console v3.x.

In Redpanda, the messages exchanged between producers and consumers contain raw bytes. Schemas work as an agreed-upon format, like a contract, for producers and consumers to serialize and deserialize those messages. If a producer breaks this contract, consumers can fail.

Redpanda Console automatically tries to deserialize incoming messages and displays them in human-readable format. It tests different deserialization strategies until it finds one with no errors. If no deserialization attempts are successful, Redpanda Console renders the byte array in a hex viewer. Sometimes, the payload is displayed in hex bytes because it’s encrypted or because it uses a serializer that Redpanda Console cannot deserialize. When this happens, Redpanda Console displays troubleshooting information. You can also download the raw bytes of the message to feed it directly to your client deserializer or share it with a support team.

All deserialized messages are rendered as JSON objects and can be used as JavaScript objects in JavaScript filters (push filters).

Prerequisites

Ensure that Redpanda Console is configured to handle the specific deserialization formats you plan to use, such as Avro, Protobuf, or MessagePack. Encoding formats that rely on external schemas or metadata may require additional configuration. See Configure Message Deserialization in Redpanda Console.

Display messages in a specific format

Redpanda Console tries to automatically identify the correct deserialization type by decoding the message’s key, value, or header with all available deserialization methods. To display your messages in another format:

  1. Open your topic.

  2. Click the cog icon.

  3. Click Deserialization.

  4. Choose a new deserializer for either the keys or values in your messages.

Supported deserializers include:

  • Plain text

  • Kafka’s internal binary formats; for example, the __consumer_offsets topic

  • JSON

  • JSON with Schema Registry encoding

  • Smile

  • XML

  • Avro with Schema Registry encoding

  • Protobuf

  • Protobuf with Schema Registry encoding

  • Messagepack (for topics explicitly enabled to test MessagePack)

  • UTF-8 / strings

  • uint8, uint16, uint32, uint64

Suggested reading