org.eso.ias.monitor

Members list

Type members

Classlikes

class HbMonitor(val hbConsumer: HbKafkaConsumer, val pluginIds: Set[String], val converterIds: Set[String], val clientIds: Set[String], val sinkIds: Set[String], val supervisorIds: Set[String], val coreToolIds: Set[String], val threshold: Long, val pluginsAlarmPriority: Alarm, val convertersAlarmPriority: Alarm, val clientsAlarmPriority: Alarm, val sinksAlarmPriority: Alarm, val supervisorsAlarmPriority: Alarm, val coreToolAlarmPriority: Alarm) extends HbListener, Runnable

Monitors the HBs of

Monitors the HBs of

  • plugins
  • converters
  • clients
  • sink connectors (Kafka connectors does not publish HBs)
  • supervisor

HbMonitor gets the HBs using a HB consumer and checks the time when they have been produced and received against the passed threshold to generate alarms.

A different alarm is generated depending on the type of the missing HB: the IDs of the missing HBs are passed ass properties

When a HB is received, an entry is updated in the relative map. A thread runs periodically to check if all the HBs have been received and, if any of them is missing, sets an alarm. The entry in the map is a boolean used as a watch dog: the thread periodically resets the watch dog and checks if some of the boolean have not been set.

Notification of alarms is done indirectly by setting the state of the alarm in the MonitorAlarm.

TODO: at the present, the copnverters do not publish a fullRunnibngId but their plain ID this needs to be changed when #145 will be fixed

Value parameters

clientIds

The IDs of the clients whose IDs must be monitored

clientsAlarmPriority

the priority of the alarm for faulty clients

converterIds

The IDs of the converters whose IDs must be monitored

convertersAlarmPriority

the priority of the alarm for faulty converters

coreToolIds

The IDs of the IAS core tools whose IDs must be monitored

hbConsumer

The consumer of HBs

pluginIds

The IDs of the plugins whose IDs must be monitored

pluginsAlarmPriority

the priority of the alarm for faulty plugins

sinkIds

The IDs of the sink connectors whose IDs must be monitored Kafka sink connectors does not publish HBs and must be monitored elsewhere; however the IAs has sink conenctors like the email sender that publishes HBs

sinksAlarmPriority

the priority of the alarm for faulty sink connectors

supervisorIds

The IDs of the supervisors whose IDs must be monitored

supervisorsAlarmPriority

the priority of the alarm for faulty supervisors

threshold

An alarm is emitted if the HB has not been received before the threshold elapses (in seconds)

Attributes

Companion
object
Supertypes
trait Runnable
trait HbListener
class Object
trait Matchable
class Any
object HbMonitor

Companion object

Companion object

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
HbMonitor.type
class IasMonitor(val kafkaBrokers: String, val identifier: String, pluginIds: Set[String], converterIds: Set[String], clientIds: Set[String], sinkIds: Set[String], supervisorIds: Set[String], kafkaConenctorConfigs: Set[KafkaSinkConnectorConfig], coreToolsIds: Set[String], threshold: Long, val refreshRate: Long, val hbFrequency: Long) extends AutoCloseable

Monitor the state of the IAS and sends alarms

Monitor the state of the IAS and sends alarms

In this version, alarms are pushed in the core topic and will be read from there by the web server.

TODO: send alarms (al least some of them) to the web server even when kafka is down

Value parameters

clientIds

The IDs of the clients to monitor

converterIds

The IDs of the converters to monitor

coreToolsIds

The IDs of the core tools to monitor

identifier

The identifier of the monitor tool

kafkaBrokers

Kafka brokers

kafkaConenctorConfigs

The IDs of the kafka sink connectors to monitor

pluginIds

The IDs of the plugins to monitor

refreshRate

the refresh rate (seconds) to send alarms produced by the monitor

sinkIds

The IDs of the sink clients to monitor

supervisorIds

The IDs of the supervisors to monitor

threshold

The threshold to decide when a HB is too late

Attributes

Companion
object
Supertypes
trait AutoCloseable
class Object
trait Matchable
class Any
object IasMonitor

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
IasMonitor.type
class MonitorAlarmsProducer(val publisher: MonitorAlarmPublisher, val refreshRate: Long, id: String) extends Runnable

The alarms producer that periodically publishes the alarms defined in MonitorAlarm.

The alarms producer that periodically publishes the alarms defined in MonitorAlarm.

In this version the alarms are sent to the Kafka core topic as org.eso.ias.types.IASValue.

TODO: send the alarms directly to the webserver so that it works even if kafka is down

Value parameters

id

The identifier of the Monitor

publisher

the publisher of alarms

refreshRate

The refresh rate (seconds) to periodically send alarms

Attributes

Companion
object
Supertypes
trait Runnable
class Object
trait Matchable
class Any

Companion object

Companion object

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type