When it comes to InnoDB, I think that it might make sense to implement a systemd watchdog (MDEV-24669), a dead man’s switch that would be actuated every now and then, and would be blocked if dict_sys.mutex or dict_sys.latch cannot be acquired for a long time.
The InnoDB health might also be computed from some performance metrics, but I do not have specific ideas. The checkpoint age (log bytes written since the latest checkpoint) or the number of dirty pages in the buffer pool may not be reasonable measures if idle page flushing (MDEV-24949) is not enabled.
Perhaps there could be a ‘health formula’ that could be re(de)fined by the DBA to match the deployment? Something like a user-defined function that would return a single number?
A fairly obvious generic minimal healthcheck for a MariaDB server could be mysqladmin status call.
It creates a short status line which doesn't require too much expertise to inspect and can be easily compared to the previous results, and it fails when the server is unreachable.
$ bin/mysqladmin status --protocol=tcp -uc
Uptime: 895 Threads: 6 Questions: 40 Slow queries: 0 Opens: 20 Flush tables: 1 Open tables: 13 Queries per second avg: 0.044
It does require an existing user account, but it's unprivileged account, just USAGE is enough, which makes it an easier option than some other status-related queries.