H22. Grouping Servers into Server Groups
Diátaxis: How-to · Audience: administrators -- the menu is visible only to administrator accounts ← Back to contents
A server group bundles the servers that SYS agents collect from into a unit of work or role. For example, put Kubernetes worker nodes, DB servers, and the servers running a payment service each in their own group.
Today the server view of the TV wallboard uses server groups. The wallboard shows one server group per tile (H21. Building a Status Board with the TV Wallboard).
Note The subtitle on the settings screen reads "Group servers for the TV wallboard and server dashboards". However, the console's server dashboards do not use server groups yet. The TV wallboard is the only screen that server groups change today.
How to open it -- left menu ▸ Access Management ▸ Server Groups (/settings/systemGroups)
This menu is visible only to administrator accounts. Server groups change the tile layout of every wallboard, so only administrators can create, edit, or delete them (others get HTTP 403). Only the menu is hidden: a user who is not an administrator can open the page address directly and see the list, but cannot change it.
How It Differs from Application Groups
Application groups bundle WAS instances and are used in many places in the console: the selector, charts, permissions, alerts, and more. Server groups bundle SYS agent servers, and today only the TV wallboard server view uses them. An application group has one choice of syntax (glob, regular expression, or manual), while a server group has two separate choices: Match By (what to match) and Syntax (how to write it). In container environments the WAS IP and the server IP differ, so application groups cannot find the servers; group servers with server groups instead.
What Is on the Screen
The screen is a single page with two cards. Press a card title to fold or unfold it.
01 / Server Groups
| Column | Content |
|---|---|
| Server Group Name | The group name |
| Match By | Host Name · IP · Manually Assigned |
| Pattern / Members | For a pattern group, the syntax (glob or Regular Expression) and the pattern. For a manual group, n server(s) |
| Servers | How many servers are in the group now. 0 is highlighted |
| Actions | Edit · Delete |
If some members of a manual group are not registered now, the Pattern / Members column also shows
n member(s) not present now.
02 / Server List
Every SYS agent server registered now. The card title shows n server(s) · n ungrouped.
| Column | Content |
|---|---|
| (check box) | Usable only while editing a manual group |
| Host Name | The server's short host name |
| IP | The IP the server registered |
| Status | The agent's running state |
| Server Groups of This Server | The server groups this server is in. None with a warning if there are none |
- Type part of a host name or IP in Search... to narrow the list.
- Press Ungrouped Only to keep only servers that are in no server group.
- When a server is in more than one server group, a count follows the group names. That server shows in more than one wallboard tile.
- A member of a manual group that is not registered now shows grey at the end of the list, with the status Not present now. Such a server is not removed from the group automatically.
Creating a Server Group by Pattern
Use this for servers whose names follow a rule. With a pattern, a server that registers later and follows the same rule joins the group automatically.
- Press Add Server Group.
- Enter the Server Group Name.
- Choose Match By -- Host Name or IP.
- Choose Syntax -- Wildcard (glob) or Regular Expression.
- Enter the Pattern.
- Press Preview. The number of matching servers and their names appear.
- If the result is right, press Save.
Result -- the group appears as a row in the table, and its name appears under "Server Groups of This Server" in 02 Server List. The wallboard picks up the new group within 10 minutes.
Match By -- What to Match
| Match By | What the pattern is matched against | When to use it |
|---|---|---|
| Host Name (default) | The server's short host name. It is not matched against the fully qualified name (FQDN) | When names follow a rule (worker01, master03). Recommended in container environments |
| IP | The IP the server registered | To group by range (192.168.23.*), or to tell apart same-named servers in different clusters |
| Manually Assigned | Nothing -- you pick servers one by one | When names and IPs follow no rule → Creating a Server Group by Manual Assignment |
There is a reason to prefer Host Name in container environments. Depending on the deployment settings, the IP that a containerised SYS agent registers may not be the node IP.
Syntax -- How to Write the Pattern
| Syntax | Matching | Symbols |
|---|---|---|
| Wildcard (glob) (default) | Whole-value match -- the whole value must match the pattern | * any characters, zero or more · ? exactly one character · {a,b} either one · [abc] a character set · [!abc] a character outside the set |
| Regular Expression | Partial match -- matching any part of the value is enough | Full regular expression syntax. Wrap in ^ and $ for a whole-value match |
Important The same pattern matches different servers depending on the syntax.
workerin glob matches only a server named exactlyworker; as a regular expression it matches every server withworkeranywhere in the name, such asmy-worker03. That is why the Pattern / Members column also shows the syntax.
- In glob,
*also matches an empty string.worker*matchesworkeras well asworker01. - Patterns are case-sensitive.
Worker*does not matchworker01. - CIDR (
192.168.23.0/24) is not supported. A pattern containing/is not saved, whatever the syntax, and a message asks you to write it like192.168.23.*. - An invalid regular expression gives a message with the reason and the position of the character near the error.
- When you change the syntax, the hint and examples under the form change to match it.
Pattern Examples
| Goal | Match By | Syntax | Pattern | Servers matched |
|---|---|---|---|---|
| All worker nodes | Host Name | glob | worker* | worker, worker01, worker-gpu |
Master nodes master01 to master09 | Host Name | glob | master0? | master01 to master09 (not master10) |
| Web and WAS servers | Host Name | glob | {web,was}-prod-* | web-prod-01, was-prod-02 |
| A whole range | IP | glob | 192.168.23.* | 192.168.23.1 to 192.168.23.254 |
worker- followed by digits only | Host Name | regex | ^worker-\d+$ | worker-01, worker-12 (not worker-gpu) |
db anywhere in the name | Host Name | regex | db | db01, order-db-master, mydb |
| A range by its leading octets | IP | regex | ^192\.168\.23\. | IPs that start with 192.168.23. |
| One of two services | Host Name | regex | ^(pay|order)- | pay-was01, order-api02 |
In a regular expression, . means any one character. To match the dot in an IP literally, write \..
Creating a Server Group by Manual Assignment
Use this to pick servers whose names and IPs follow no rule.
- Press Add Server Group and enter the Server Group Name.
- Choose Manually Assigned under Match By. The Syntax and Pattern fields and the Preview button disappear, and "Check the servers below to add them to this group." appears.
- In 02 Server List, tick the check boxes of the servers to add. After narrowing the list with Search or Ungrouped Only, the check box at the top adds or removes every visible server at once.
- Check the count (
n server(s) checked.) and press Save.
A manual group remembers each server as an IP and host name pair. Servers with the same IP but a different host name are added separately. If an added server later disappears from registration, the group keeps it as Not present now instead of removing it. To remove it, Edit the group, untick that server, and save.
Editing and Deleting
- Edit -- press Edit on the row to open the form with the saved values. Change the name, Match By, Syntax, or Pattern and press Save. A manual group opens with its not-present members still ticked, so saving after renaming only does not drop members.
- Delete -- press Delete and confirm in the dialog.
Naming Rules
- A name can be up to 40 characters. A longer name is not saved, and the message says how many characters it has now.
- Names must be unique regardless of case. If
DBexists, you cannot createdb. - A server can be in more than one server group. This is allowed, but that server shows in more than one wallboard tile. Use the count in 02 Server List to check that it is intended.
Checking on the TV Wallboard
- Press the TV icon in the top header on a screen under Server in the left menu. The wallboard opens in the server view.
- Press a tile title and choose your group in the Server groups set. Check that the server count in brackets matches the count on the settings screen.
- The wallboard reads server groups again every 10 minutes. Refresh the wallboard to see changes immediately.
- With no server groups, the wallboard groups tiles by application group. Creating even one server group switches it to server groups.
- Servers in no server group gather in the wallboard's No group tile. They are the same servers that Ungrouped Only shows in 02 Server List.
When It Does Not Work
| Symptom | What to check |
|---|---|
| No Server Groups menu under Access Management | Check that the account is an administrator. The menu is visible only to administrators |
| Preview finds no matching servers | Check the syntax. Glob is a whole-value match, so part of a name matches nothing. Add * on both sides (*worker*). Check upper and lower case too |
| Switching to a regular expression matches too much | A regular expression is a partial match. Wrap it in ^ and $ for a whole-value match |
| A host name pattern does not match the FQDN | Host Name matches the short name only. Write it for master1 rather than master1.example.local, or use IP |
192.168.23.0/24 is not saved | CIDR is not supported. Write 192.168.23.* (glob) or ^192\.168\.23\. (regular expression) |
| The Servers column shows 0 | The pattern matches no registered server. Check for typos and run Preview again |
| A manual group shows n member(s) not present now | Servers you added are not registered now. Check the agent state (H20), or untick them in Edit if they are no longer needed |
| The check boxes cannot be ticked | They work only while adding or editing a manual group. Check that Match By is Manually Assigned |
| The same server shows in two wallboard tiles | The server is in two server groups. Check the count in "Server Groups of This Server" |
| A new group does not show on the wallboard | The wallboard reads groups every 10 minutes. Wait, or refresh the wallboard |
| No servers in the server list | Check that the SYS agents are registered with the collection server → H20 |
Related Documents
- H21. Building a Status Board with the TV Wallboard -- the server view that shows server groups as tiles
- H19. Bundling Targets into Application Groups -- application groups, which bundle WAS instances
- H20. Checking Agent Status and Resolving Problems -- when servers are missing or not present now
- R1. Screen Map -- the whole Access Management menu