diagnostics.adoc 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. = Diagnostics
  2. OliveTin provides a built-in diagnostics page that can be used to help check how OliveTin is running and help to troubleshoot issues.
  3. This is a screenshot of the diagnostics page, which can be accessed by clicking the "Diagnostics" link in the navigation bar:
  4. image::advanced_configuration/diagnostics/diagnostics.png[]
  5. == Configuration issues
  6. The Diagnostics page includes a **Configuration issues** section. OliveTin checks the loaded configuration for problems such as:
  7. * Filesystem watch paths that cannot be created (for example missing directories used by `execOnFileCreatedInDir`)
  8. * Argument templates that fail to parse
  9. * Missing entity files or empty entity data for entity-bound actions
  10. * Invalid cron schedules
  11. * Entity-bound actions that also use `execOnCron` (cron cannot bind an entity)
  12. * Unset environment variables referenced from configuration
  13. * Other sanitize-time warnings (for example unknown action groups)
  14. When one or more issues exist, the Diagnostics navigation link shows a count badge with the number of issues so operators notice without opening the page first. The list and badge refresh after configuration reload and after entity file changes.
  15. Issues that refer to a specific action are only shown to users who are allowed to view that action. The badge count uses the same per-user filtering. Issues that are not tied to an action (for example unset environment variables) remain visible to anyone who can open Diagnostics.
  16. Where possible, each issue includes the configuration source file that defined the related action or entity (for example a file under an `include` directory).
  17. == Disabling Diagnostics
  18. The diagnostics page is enabled by default, but you can disable it by using the OliveTin xref::security/acl.adoc#_acls_and_policies_global[security policy configuration], using the defaults, or via an ACL. Examples are shown below for each of these methods.
  19. === Disable Diagnostics for all users;
  20. [source, yaml]
  21. ----
  22. logLevel: info
  23. defaultPolicy:
  24. showDiagnostics: false
  25. ----
  26. === Disable Diagnostics expect for admin users
  27. [source, yaml]
  28. ----
  29. logLevel: info
  30. defaultPolicy:
  31. showDiagnostics: false
  32. accessControlLists:
  33. - name: admin
  34. matchUsernames:
  35. - alice
  36. - bob
  37. policy:
  38. showDiagnostics: true
  39. ----