Capability

Ask your database what is wrong

Read-only checks and queries over your existing SSH connection, with credentials encrypted at rest.

MySQL MariaDB PostgreSQL Redis Databases in Docker Reached over SSH Read-only SQL guard Encrypted credentials
In your words

Ask it like this

No syntax to learn. These are real requests, phrased the way people actually phrase them.

›is the database the problem, or the app ›how many connections are open right now ›which tables are biggest on this database ›show me the slow queries from today ›is postgres accepting connections ›did the database restart recently ›what is using all the disk on the db server
Capability

What it does here

Everything below is what the agent does today, not a roadmap.

  • Register a connection once; the agent reaches it through the server you already trust
  • Status, table sizes, connection counts and slow-query pressure at a glance
  • Read-only by design, with a SQL guard that blocks anything that writes
  • Credentials are encrypted at rest and never shown to the model
  • Tells you when the cause is not the database at all, which is most of the time
What it looks like

One question, one answer, one fix

The checks on the left of each reply are the reads it did before committing to an answer. That is the difference between a diagnosis and a guess.

Every exchange ends in a verified outcome. It goes back and confirms the result rather than assuming the fix worked.

brynko devOps Agent

the app keeps throwing 'too many connections'

read database status connection counts query timings

MySQL is at its max_connections limit of 151 and refusing new ones. The queries are fast, so this is not load. Your app opens a pool per worker, and the worker count went from 4 to 12 at the last deploy, so it is asking for far more connections than the server allows.

sort it out

pool size to 4 restarted workers rechecked connections

Done. I set the pool size to 4 per worker and restarted them, so 12 workers now ask for 48 rather than 96. Connections are sitting at 41 and the app is stable. I changed nothing inside the database.

Fixed · 41 of 151 connections
Common cases

The ones that cost you an afternoon

Each of these is a specific failure with a specific set of checks behind it, not a general promise to help.

Too many connections

The app starts throwing connection errors under normal load, and restarting it helps for a few minutes before it comes back.

What it does. It compares open connections against the configured limit and checks whether the queries are actually slow. When they are not, the cause is on the application side, and it says so instead of blaming the database.

The app cannot connect to the database

Connection failures in the log, nothing obviously wrong with either machine.

What it does. It checks whether the database is accepting connections at all, whether the port is reachable from the app server, and what the log says it is rejecting. It reads the log line, never a credential value.

Queries suddenly got slow

Nothing was deployed, but a page that used to load instantly now takes seconds.

What it does. It looks at slow-query pressure, table growth and index use, so you find out whether a table quietly outgrew its index or something else on the box is competing for resources.

The database server is out of disk

Writes start failing and the largest consumer is not obvious from a directory listing.

What it does. It measures table and index sizes, and checks for the usual quiet offenders like binary logs and old backups sitting next to the data directory.

Is the database even the problem?

Something is slow and the database is the easiest thing to blame, so it gets blamed first and investigated last.

What it does. A handful of read-only checks rules it in or out in seconds, which either narrows the search or stops you tuning a database that was never at fault.

Nobody knows what is on this server

An inherited machine with databases on it, and no documentation about which application uses which.

What it does. It lists the databases, their sizes and their last activity, so you can see what is live, what is a forgotten copy, and what is safe to ask questions about.

Start to finish

What happens between the question and the fix

  1. Register the connection once

    Host, port, user and database. The credentials are encrypted on your machine and reached through the server you already trust, so nothing new is exposed to the internet.

  2. Ask in plain language

    You do not need to remember whether the answer lives in SHOW STATUS, pg_stat_activity or the slow query log.

  3. It runs read-only checks

    A SQL guard blocks anything that writes, so this stage cannot change your data even if it wanted to.

  4. It names the cause, wherever it is

    Often the database is healthy and the problem is the application, the connection pool or the disk. It will tell you that rather than tuning something innocent.

  5. The fix happens where it belongs

    Application config, a service restart, a cleanup on disk: those it can do with your approval. Changes to your data are yours to make.

The part that matters

Reading is free. Changing asks first.

Reads run instantly and need no permission, because reading cannot break anything. Anything that changes a system, whether that is a restart, an edit, an install or a delete, stops and tells you what it is about to change, on which server, and why. You see it written out, as the command it will run or a red and green diff of the file, so you are approving the actual thing rather than a description of it. Changes are backed up first, so undoing one is a click.

Read the security model
Questions

Databases, specifically

Can it change data in my database?
No. Database access is read-only by design, and a SQL guard blocks anything that writes before it reaches the server. That is a deliberate limit: an AI with write access to production data is a category of risk we did not want to offer, however carefully it is gated.
Can it see my database password?
No. Credentials are encrypted at rest on your machine and are never included in anything sent to the model. Diagnosis works from what it can observe: server status, connection counts, query timings and log lines.
Do I have to expose the database port to the internet?
No. It reaches the database through the SSH access you already have to that server, the same way you would yourself. Nothing new is opened, and there is no new service to run.
Which databases are supported?
MySQL and MariaDB, PostgreSQL, and Redis, whether they run directly on the server or inside a container.
Can I ask it to run my own query?
Yes, as long as it reads. Anything that inserts, updates, deletes or alters is refused by the guard rather than sent and hoped about.
Can it fix a slow query by adding an index?
It can find the query, show you why it is slow and tell you which index would help. Creating that index is a write, so it hands you the statement rather than running it. You stay in control of anything that changes your data.
Also covered

The rest of the stack

Wildcard HTTPS, sorted in one step

Issue trusted, auto-renewing certificates, wildcards included, and get the paths handed straight back.

Read more →

Your AWS account, in plain English

Read EC2, S3, Elastic IPs and EBS, spot what is quietly costing you money, and make changes only after you approve them.

Read more →

Ask Jenkins what went wrong

Read jobs, builds, the queue and console logs, find out why a build failed, and trigger or stop builds with your approval.

Read more →

It runs on your machine too

Build, run and fix projects on your own computer, including installing the runtime the project needs.

Read more →

A real file editor for your Linux servers, no nano required

Browse your Linux servers as a file tree and edit files in a real editor with syntax highlighting, find and replace and search across the whole box. Over the SSH access you already have, with nothing installed on the server.

Read more →

Docker, without memorising the flags

Inspect containers, read logs, check stats, restart services and run Compose stacks, just by describing what you want.

Read more →

Try it on something that already annoys you

Point it at one server. You will know within an hour whether it earns its place.