Read your findings
Sign in at https://app.guardioz.com/ and open Findings. The page lists what Guardioz found on your servers, most serious first. This page explains what one row says, what the severities and the states mean, what Age counts, and where a row leads when you open it.
Guardioz writes findings when it analyses a snapshot from the agent. Opening or reloading a page never runs a check, so what you read is the result of the last analysis. See How Guardioz works.
One row is a group of checks
Section titled “One row is a group of checks”Each row is one group of checks for one server. Invalid indexes on one server is a single row, whether it covers one index or forty. The heading counts rows the same way: 3 findings need attention means that three groups need attention, not that three objects do.
A row carries four things:
- The Finding column: the name of the group, which is also a link.
- The second line of the row: the category, and then one sentence about what the check found,
for example
Indexes · 2 invalid indexes detected. - The Severity column: the level of this finding.
- The Age column: how long ago Guardioz last analysed this group.
That second line can carry more. · 7 checks is the number of checks in a settings group, shown
in the view All checks. The tag Server-wide
appears under a database filter, on a row whose result is about the whole server and not only
the database you picked. The server name appears when your organization has more than one
server.
Next to the heading, one small badge per severity counts the groups that are still open: 2 critical, 1 warning, 3 suggestions. A group is open when the last analysis found something in it.
Under the heading, Latest snapshot: gives the age of the newest snapshot among the servers in
the view. Below it, one line names each server in the view that has sent no snapshot for more than
150 minutes, with how long, for example db-01: No snapshot for 3 d 4 h. Its findings are as of its last snapshot. The name opens the server page. While such a server is in the view and nothing is
open, the heading reads No open findings instead of All clear, because the findings of a
silent server are as old as its last snapshot. See
When snapshots stop arriving.
Severities
Section titled “Severities”| Severity | What it means |
|---|---|
| Critical | The most serious of the three levels. Guardioz sends an email about a group that becomes critical, unless you cleared that level in Account Settings. |
| Warning | The middle level. Guardioz sends an email about it only when you selected that level and your organization is on the Team or Scale plan. |
| Suggestion | The lowest level. Guardioz sends an email about it only when you selected that level and your organization is on the Team or Scale plan. |
The list is sorted by severity by default, critical first. The sort drop-down changes that to Sort: newest or Sort: oldest. In every order, the groups that found nothing come after the open ones.
For an object such as an index or a replication slot, the level comes from what Guardioz measured about that object. The same kind of problem can therefore sit at different levels on two servers. Which severities each group can raise is listed on What Guardioz checks. Which emails Guardioz sends is on Email alerts.
Narrow the list
Section titled “Narrow the list”The checks drop-down decides which results the list holds. It opens on Issues only:
- Issues only: groups where the last analysis found something.
- All checks: the same groups, plus the groups that found nothing.
- Passed only: the groups that found nothing, plus a settings group that still has an open finding and at least one setting that passed. Only a settings group can show checks that passed while it still has an open finding, so an index, a table, a replication, an archiving or a database group with an open finding is not in this view.
The other drop-downs narrow the list further. The server drop-down and the database drop-down each keep one server or one database, and you can type in the field to search the list. The severity drop-down keeps the rows that show that level. A row that shows OK or Passed has no level, so the severity drop-down hides it, and under Passed only it hides every row. The category drop-down keeps one class of object: Settings, Indexes, Tables, Replication, Archiving or Databases. Every drop-down applies as soon as you pick a value. When JavaScript is switched off in your browser, the drop-downs do not apply by themselves: pick the values, then select the button Apply after them.
The heading counts the groups that are open under the filters you set. Under Passed only the
heading still counts the open groups, but the list shows what passed: an open settings group
appears as a Passed row, and the other open groups are not listed, so the heading can show a
higher number than the number of rows. To see them, set the checks drop-down back to Issues only. When a filter hides
everything, the page shows No findings match the current filters. and the button
Clear filters.
Under a database filter, a group about indexes, tables or open transactions is listed only when something it found is in the database you picked, and its severity then describes that database only. The page you open from that row shows the same severity and count and lists only that database; you can switch it back to all databases on that page. An index group’s sentence describes that database too. The sentence of Tables behind on cleanup and of Open transactions and cleanup still describes the whole server; to see the tables of one database, open the group and use the Database filter on its page. A group that is about the whole server, such as a settings group, keeps its own numbers and carries the tag Server-wide. So does a group about indexes, tables or open transactions that found nothing: its OK is the result for the whole server, not a separate result for the database you picked.
When you open a finding, it keeps your server, your database and your checks view. The link All findings brings you back to the list with them. The severity, the category and the sort are not kept by that link; the Back button of your browser restores them.
Results that are not a problem
Section titled “Results that are not a problem”| What you see | What it means |
|---|---|
| OK | The check ran on your data and found nothing. The row is in the views All checks and Passed only. |
| Passed | Only in the view Passed only. The group still has an open finding, and this row stands for the checks inside it that passed. Its line counts them, for example 3 of 7 checks passed. |
| Not evaluated | The check reached no verdict for this server, so this is neither a problem nor an OK. The group page shows the heading Not evaluated and the reason. |
A group that is Not evaluated is in none of the three views. You see it when you open the
group page directly, for example from a link you kept. Not evaluated is not a problem that the
check found, and it is not an OK either. Read the reason on the group page. Some reasons need
nothing from you, for example a server with archive_mode off. Others name a step, for example
running a collection by hand, or checking that the agent can query the database. Today three
groups use this state: Open transactions and cleanup, Tables behind on cleanup and
Transaction log archiving. Examples are a server that a failover turned into a standby, a
server whose role the agent could not read, and a server with archive_mode off. Each reason is
listed on What Guardioz checks.
The heading All clear together with the line No snapshots received yet. is a different
thing: nothing is stored yet, so nothing has been checked. See
Check that the agent works.
What Age means
Section titled “What Age means”Age is the age of the stored result. It is the time since Guardioz last analysed that group, not how long the problem has existed and not when the object changed. On a finding page the same number is labelled Last checked, or Checked on the page of an earlier analysis.
A group is analysed on the data that a snapshot carries, and the agent does not collect everything every hour. The settings checks run on every snapshot that carries the settings, so their rows are as old as the last snapshot. The index checks run when the catalog arrives. The agent collects the catalog every hour during the first 24 hours after the registration and once a day after that, so later an index row can be a little more than a day old while the agent works normally. Different ages in one list are normal. See When the agent collects.
Open a finding
Section titled “Open a finding”Click anywhere on a row, or press Enter while the row has focus. The page that opens is the group. It repeats the name of the group, its severity and the sentence from the list, and then a line of facts about the group: Category, Server, Last checked, Affected (how many objects), and Total size for an index group. An index group, a table group, a replication slot group and the archiving group with an open finding also carry a Recommendation callout with the general advice for that kind of problem.
| Category | What the group page lists | Where a row leads |
|---|---|---|
| Settings | The panel Tuning checks: one row per setting, with Current, Recommended and Apply, and the buttons Issues, All and Passed to switch between them. | The page of that setting. |
| Indexes | The panel Affected indexes: one row per index, with Problem, Database, Table, Size and Fix. | The page of that index. |
| Tables | The panel Affected tables: one row per table, with Database, Dead rows, Growth per day, Threshold now (the number of dead rows that starts cleanup of that table today), Backlog size, Last autovacuum and Fix. The list holds 50 tables per page. Its column headings sort it, and with tables from more than one database it has a Database filter. | The page of that table. |
| Replication | The panel Affected replication slots: one row per slot, with Problem (one short phrase about what is wrong with the slot), Type, Database, Inactive since, Required WAL span (how much transaction log, the WAL, this slot still requires) and Fix. The status that PostgreSQL reports for the slot is on the page of the slot, under What we measured. | The page of that slot. |
| Archiving | The panel Affected archiver: one row for the archiver of the server, with Files waiting, Waiting to be archived, Oldest waiting for and Last successful archive. | The page of the archiver. Its next step is text, see Findings without a statement. |
| Databases | One panel per database, with what Guardioz measured there and the transactions it lists. | Nowhere: these rows have no page of their own. This group gives its advice as text, see Findings without a statement. |
An object page is the whole record for one object: what Guardioz found, why it matters or why the recommended action fits, the next step with the statement to run where there is one, and the measurements behind the verdict with the time each one was read. To run the statement, see Apply a recommendation.
A group with OK opens the same page. For a settings group it lists the checks that passed. For Tables behind on cleanup the page shows the heading No table needs attention and the sentence that says how many tables Guardioz checked, in how many databases. For Transaction log archiving it shows the heading No archiving problem in what was measured, with one sentence about the files that wait and one about failed attempts, and the level next to the title reads OK. For the other groups there is nothing to list, so the page shows the heading Nothing to report from this check with the sentence from the list, and the level next to the title reads OK, as in the list.
A link to a group page keeps working after a later analysis. When a newer analysis of the same group exists, the page says which analysis it shows and links to the current finding, and its time is labelled Checked instead of Last checked.
A link to an object page keeps working after a later analysis. When a later analysis looked at the same index or the same slot again, that page says that this is an earlier observation. The slot page also says when the slot is no longer flagged. When a later analysis of the check no longer lists the index, the index page says that a newer analysis exists and does not list it, and links to it. It does not say that the index is fixed: a database whose catalog that analysis could not read is left out of it as well. A table page says Resolved when a later analysis evaluated the database of that table again and no longer lists the table. When a later analysis exists and did not show that, the page says that a newer analysis of this server exists. On an older index, table, slot or archiver page the step is headed Recommendation as of with the date of the analysis the page shows. The archiver page says This is an earlier observation when a later analysis flagged the archiver again, and A newer analysis of this check exists when a later analysis found nothing or reached no verdict. Both link to the newest analysis. The earlier page cannot tell you whether the problem is gone, so open the newest analysis for the current state. So before you run anything from a page you kept, open the current finding: follow the link All findings back to the list, and open the group again.
When a value is not measured
Section titled “When a value is not measured”Guardioz shows a measurement it does not have as missing, rather than filling the gap with an
estimate. In the Size column of an index list it is -, and on the index page the fact
Sizes measured reads Not measured yet. A slot page reads Not recorded, Not measured or
Not reported for a value the snapshot did not carry. A database panel names the reason there
is no dead-row number for it. In a table list the column Backlog size reads Not measured
while no weekly size measurement covers the table, and Last autovacuum reads Not recorded
when the statistics of PostgreSQL hold no time for it, which also happens after the statistics
were reset. A table with no size measurement is still reported, without a statement to run. On
the archiver page a value the snapshot did not carry reads Not measured in this snapshot, and
in the archiver row it reads not measured.
Total size on an index group adds up the sizes that were measured. When only some of the
listed indexes have a size, it says how many, for example 80.00 KB for 1 of 2 indexes. It reads
Not measured yet while none of them is measured.
Sizes are measured once a week, so an index that appeared since the last measurement has no size yet. The finding itself still stands; the size can change how severe it is once it arrives. To get the measurement now instead of waiting, run a collection by hand: Manage the agent service.