Limitations
Akema is built to read Kafka and help you understand what’s in it. This page lists what it doesn’t do, so you can tell before you install whether it fits. Each item links to the guide with more detail.
By design
Section titled “By design”These are choices, not gaps. They’re what makes Akema safe to point at a production cluster.
- Akema only reads. It never produces messages, replays them, creates or changes topics, or commits consumer offsets. See Connect to Kafka.
- It doesn’t show consumer lag. Akema reads with its own consumer and never looks at your applications’ committed offsets, so it can’t tell you how far behind a consumer group is.
- It keeps a window, not a history. Messages live in memory only, up to the buffer sizes you set, and the oldest make room for new ones. Nothing is written to disk, so after a restart Akema reads the messages again from Kafka. Explore loads the newest 10,000 messages per source by default, and up to 500,000 across all sources. See Settings.
- Traps don’t send alerts. A match is tagged, counted and shown in Akema. Nothing is sent by email, chat or webhook.
Connecting
Section titled “Connecting”- Sign-in to Kafka works with TLS, mutual TLS, and SASL PLAIN, SCRAM-SHA-256 or SCRAM-SHA-512. OAUTHBEARER, Kerberos (GSSAPI) and AWS IAM aren’t supported, so Akema can’t connect to MSK Serverless, which accepts only IAM. See Connect to Kafka.
- Akema connects from the machine it runs on. That machine has to reach every broker at its advertised address, not only the bootstrap address. See Network access.
Schemas, keys and headers
Section titled “Schemas, keys and headers”- Akema decodes JSON, text, Avro and Protobuf values. It doesn’t support JSON Schema: a value written with Confluent’s JSON Schema serializer starts with a schema ID, so it isn’t read as JSON and
value_jsonisnull. With a Schema Registry set up, those messages show a decode error. - A Protobuf schema has to be a single file. It can use Google’s well-known types, but not import other
.protofiles, whether you upload it or it comes from Schema Registry. - Raw Protobuf decodes as the first message type in the schema. Messages written with Confluent’s serializer say which type they are, so this only affects Wire Raw. See Decode Avro and Protobuf.
- Keys aren’t decoded. A text key is shown as it is. A key that isn’t text, such as an Avro key or an 8-byte number, shows as
(binary), and a message with no key shows(null). Traps see the same text, sokey == "(null)"finds messages without a key. - Header values are read as text. A header whose value isn’t text shows as empty.
Traps and SQL
Section titled “Traps and SQL”- Integers above 2⁵³ (about 9 quadrillion) lose precision in traps, so two long IDs can look equal. Match them as text instead. See Traps and CEL.
- Some payload fields get different column names in SQL views. A field called
valueisvalue_2, becausevalueis the raw message. When two fields share a name, such asbefore.emailandafter.email, one gets a plain column and the other a longer name. You can always read a field from the payload instead, withpayload->>'$.after.email'. See SQL, playbooks and enrichment. - Explore runs in your browser tab, with up to 1,536 MB of memory. On a very large window, load a sample. See Settings.
Sharing one Akema
Section titled “Sharing one Akema”- Sign-in is basic, and off until you turn it on. You can require one shared passphrase, or a name and PIN for each person with an editor or viewer role. There’s no single sign-on (SSO, LDAP or OAuth), no permissions for each workspace, and no audit log. People are added from the command line, and changes need a restart. See Sign-in and sharing.
- Akema serves plain HTTP by default. HTTPS is optional and off until you turn it on. Akema can make a local certificate for
localhostand private IP addresses, or use one you provide for a host name. Without it, passphrases, PINs and messages travel unencrypted, so share Akema only on a network you trust, or through an SSH tunnel. See Serve over HTTPS. - Everyone shares one bench. Sources, traps, settings and the Explore canvas are the same for every browser, and only one window can change them at a time. For separate benches, run separate copies of Akema. See One editor at a time.
Platforms
Section titled “Platforms”- Linux and Docker are fully supported. Linux needs glibc 2.28 or newer; on older systems, use the Docker image.
- macOS and Windows builds are in beta, and the Windows build isn’t signed yet. See Install Akema.
Something here stopping you? Tell us at feedback@akema.io.