/api/cas-server-core-api-configuration-model/src/main/java/org/apereo/cas/configuration/model/core/monitor/MonitorProperties.java

https://github.com/Jasig/cas · Java · 91 lines · 36 code · 15 blank · 40 comment · 0 complexity · 71b6846ad8ac785e469130c90536ba9f MD5 · raw file

  1. package org.apereo.cas.configuration.model.core.monitor;
  2. import org.apereo.cas.configuration.support.RequiresModule;
  3. import com.fasterxml.jackson.annotation.JsonFilter;
  4. import lombok.Getter;
  5. import lombok.Setter;
  6. import lombok.experimental.Accessors;
  7. import org.springframework.boot.context.properties.NestedConfigurationProperty;
  8. import java.io.Serializable;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. /**
  12. * Configuration properties class for cas.monitor.
  13. *
  14. * @author Dmitriy Kopylenko
  15. * @since 5.0.0
  16. */
  17. @RequiresModule(name = "cas-server-core-monitor", automated = true)
  18. @Getter
  19. @Setter
  20. @Accessors(chain = true)
  21. @JsonFilter("MonitorProperties")
  22. public class MonitorProperties implements Serializable {
  23. private static final long serialVersionUID = -7047060071480971606L;
  24. /**
  25. * Options to monitor memory availability.
  26. */
  27. @NestedConfigurationProperty
  28. private MemoryMonitorProperties memory = new MemoryMonitorProperties();
  29. /**
  30. * Options for monitoring the status and production of TGTs.
  31. */
  32. @NestedConfigurationProperty
  33. private TicketGrantingTicketMonitorProperties tgt = new TicketGrantingTicketMonitorProperties();
  34. /**
  35. * Options for monitoring the status a nd production of STs.
  36. */
  37. @NestedConfigurationProperty
  38. private ServiceTicketMonitorProperties st = new ServiceTicketMonitorProperties();
  39. /**
  40. * Options for monitoring the Load on a production server.
  41. * Load averages are "system load averages" that show the running thread
  42. * (task) demand on the system as an average number of running plus waiting
  43. * threads. This measures demand, which can be greater than what the system
  44. * is currently processing.
  45. */
  46. @NestedConfigurationProperty
  47. private ServerLoadMonitorProperties load = new ServerLoadMonitorProperties();
  48. /**
  49. * Warning options that generally deal with cache-based resources, etc.
  50. */
  51. @NestedConfigurationProperty
  52. private MonitorWarningProperties warn = new MonitorWarningProperties();
  53. /**
  54. * Options for monitoring JDBC resources.
  55. */
  56. @NestedConfigurationProperty
  57. private JdbcMonitorProperties jdbc = new JdbcMonitorProperties();
  58. /**
  59. * Options for monitoring LDAP resources.
  60. */
  61. private List<LdapMonitorProperties> ldap = new ArrayList<>(0);
  62. /**
  63. * Options for monitoring Memcached resources.
  64. */
  65. @NestedConfigurationProperty
  66. private MemcachedMonitorProperties memcached = new MemcachedMonitorProperties();
  67. /**
  68. * Options for monitoring MongoDb resources.
  69. */
  70. private List<MongoDbMonitorProperties> mongo = new ArrayList<>();
  71. /**
  72. * Properties relevant to endpoint security, etc.
  73. */
  74. @NestedConfigurationProperty
  75. private ActuatorEndpointsMonitorProperties endpoints = new ActuatorEndpointsMonitorProperties();
  76. }