See www.zabbix.com for the official Zabbix site.
Docs/specs/syntax
From Zabbix.org
These are Zabbix rules regarding element naming, grammar usage etc. Primarily for frontend.
Contents |
Syntax
- Random words should never be capitalised in the middle of a sentence or label. "Incorrect characters used for host", "Create host" etc should be used.
- Exception : Failure Audit, Success Audit - Windows Eventlog levels which are capitalised like that in original
- Names like "host name", "host group", "proxy name", "node name", "template name", "media type" should always be written separately
- For referencing bytes with a multiplier prefix, KB, MB etc syntax should be used.
Formatting
- Entities (hosts, items, item keys...) should be referenced by enclosing them in double quotes, without additional characters - "like this". (Square brackets are already used for item parameters, asterisks are not commonly used and look confusing)
- Main status messages like "Host added" (displayed on green/red background at the top of the page) should never end with a dot. Detail (expandable) messages should always end with a dot.
- Detail messages follow the syntax of :
Action: Object "Object name" on "Host name".
- Host part is only printed if relevant for the object (for example, it won't be printed for actions and network discovery rules).
- Example : "Created: Item "Free memory" on "Database server".
Referencing
- All entities (items, triggers, custom graphs, applications etc) are always referenced by host and entity name.
- In user visible messages, comments, documentation etc trigger functions should have empty set of parentheses added after function name, for example,
last(). - If a user is expected to provide the reference (for example, item key in trigger expressions, calculated item formulas, macros used in network map labels etc) and gets it wrong, error message uses the provided item key to let the user know which reference failed. Example message:
Item with key "key" on host "host" not found.
Grammar & style
- "Can't" vs "Cannot" - only the expanded form "Cannot" should be used
- The user should not be addressed, e.g., "No targets specified" should be used instead of "You did not specify targets"
- "checksum" not "check sum"
- "No n defined" (as in "No graphs defined") - always plural (not "No graph defined")
- "Incorrect parameter" - always "Incorrect parameter[s] for..." (not "Incorrect parameter[s] [is|are] [used] for...")
- Use "Acknowledgments" as the name in plural for the function of acknowledging
- Keep in mind that some words in English may have irregular formation of plural ("medium" sing. -> "media" pl.). In case of doubt, double check
- Macros are "expanded" (not "resolved") - Google search returns ~ 58 million for the first and ~ 18 million for the second.
- Trigger relationship is always described using words "dependency" and "dependencies" (not "dependence" and "dependences")
- "Minimum" and "maximum" instead of "minimal" and "maximal", e.g. "The minimum value" (note the use of the definite article). "Minimal" would represent a small amount, while "minimum" would represent the smallest possible (and similar for "maximum").
Naming
General
- GUI -> Frontend (easier to translate)
- An ID should be referenced by a lowercase object type and a space-separated uppercase string "ID" - for example, "host ID" or "template IDs"
Operations
- If an entity is created/deleted, verbs "create" and "delete" should be used
- If an entity group membership is modified, verbs "add/remove" (as in "Added to group") should be used
- For template operations verbs "link/unlink" should to be used. For example, if templated entities are removed, this action should be called "Unlink and clear" or if it is a separate option - "Clear when unlinking".
- what about applications ? what verbs should be used to note item - application changes ? "item linked to application" or a different one ?
- Entities are always enabled and disabled (not activated/deactivated).
- For action to be performed: Enable/Disable
- For state: Enabled/Disabled
Entities
- Maps - links instead of connectors
- Interval vs Delay
- Interval should be used for:
- Items in the frontend and XML
- Network discovery (currently "Delay")
- Action escalations (currently "period", should be "step interval")
- Web monitoring (currently "Update interval"
- Delay should be used for:
- Slideshows
- Interval should be used for:
- Entity name is always called "Name" (not "Description") - items had "description" up to 2.0
- external scripts (config file) or external checks (frontend) ?
- "Network discovery" is always referred to as that (not auto-discovery etc)
- "Active agent auto-registration" or "Auto-registration"
- "Low level discovery"
- remote actions -> remote commands
- system maps -> network maps (just maps somehow ? how about consistency ?)
- frontend scripts ? scripts ? global scripts ?
- user alias -> user name
- "Metric" should not be used. Either "item" or "value", depending on what it describes
- "Inventory", not "profile" (as in "Host inventory") ZBXNEXT-863
- nodes - master/slave, parent/child ? zabbix uses all versions randomly
- messages being sent out database has "alerts", frontend mostly uses "actions" (Administration -> General -> Housekeeper has Do not keep actions older than (in days), Administration -> Audit has Actions in the dropdown and page header - and there's also Administration -> Notifications... and these also do include remote commands
- It should always be clarified what type of an entity something is
- Not just "group", but "user group", "host group" etc
- "Required field "expression" is missing in icon mapping.", not "Required field "expression" is missing in mapping."
- Type may be skipped if the message already implies it, for example, "Icon map "%s" cannot have mapping with empty expression."
- Both item keys and trigger functions have "parameters" (not "arguments")
- rights or permissions ? permissions seems to be a bit more specific & better
- Trigger severity (not priority)
External names
- Instead of just "DB2" use "IBM DB2" because there is also Berkeley DB2 database
Language rules
Latvian
- Jautājumi vienmēr sākas ar "Vai..." - "Vai dzēst..."
- "Nav iespējams" paziņojumi ir šādā formātā: "Karti 's' nav iespeejams izdzeest"
- izveeleetos/ieziimeetos ?
also see ZBX-3629