csle_collector.host_manager package

Subpackages

Submodules

csle_collector.host_manager.host_manager module

class csle_collector.host_manager.host_manager.HostManagerServicer[source]

Bases: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerServicer

gRPC server for collecting Host statistics.

configFilebeat(request: host_manager_pb2.ConfigFilebeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Updates the configuration of filebeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

configHeartbeat(request: host_manager_pb2.ConfigHeartbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Updates the configuration of heartbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

configMetricbeat(request: host_manager_pb2.ConfigMetricbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Updates the configuration of metricbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

configPacketbeat(request: host_manager_pb2.ConfigPacketbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Updates the configuration of packetbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

getHostMetrics(request: host_manager_pb2.GetHostMetricsMsg, context: grpc.ServicerContext) host_manager_pb2.HostMetricsDTO[source]

Gets the host metrics from given timestamps

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with IDS statistics

getHostStatus(request: host_manager_pb2.GetHostStatusMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Gets the status of the host

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the host

static set_filebeat_elasticsearch_module_config() None[source]

Updates the filebeat elasticsearch module configuration

Returns

None

static set_filebeat_kafka_module_config() None[source]

Updates the filebeat kafka module configuration

Returns

None

static set_filebeat_kibana_module_config() None[source]

Updates the filebeat kibana module configuration

Returns

None

static set_filebeat_logstash_module_config() None[source]

Updates the filebeat logstash module configuration

Returns

None

static set_filebeat_snort_module_config() None[source]

Updates the filebeat snort module configuration

Returns

None

static set_filebeat_system_module_config() None[source]

Updates the filebeat system module configuration

Returns

None

static set_metricbeat_elasticsearch_module_config(elastic_ip: str, elastic_port: int) None[source]

Updates the metricbeat elastic module configuration

Parameters
  • elastic_ip – ip of the elastic server

  • elastic_port – port of the elastic server

Returns

None

static set_metricbeat_kafka_module_config(kafka_ip: str, kafka_port: int) None[source]

Updates the metricbeat kafka module configuration

Parameters
  • kafka_ip – ip of the kafka server

  • kafka_port – port of the kafka server

Returns

None

static set_metricbeat_kibana_module_config(kibana_ip: str, kibana_port: int) None[source]

Updates the metricbeat kibana module configuration

Parameters
  • kibana_ip – ip of the kibana server

  • kibana_port – port of the kibana server

Returns

None

static set_metricbeat_linux_module_config() None[source]

Updates the metricbeat system module configuration

Returns

None

static set_metricbeat_logstash_module_config(logstash_ip: str, logstash_port: int) None[source]

Updates the metricbeat logstas module configuration

Parameters
  • logstash_ip – ip of the logstash server

  • logstash_port – port of the logstash server

Returns

None

static set_metricbeat_system_module_config() None[source]

Updates the metricbeat system module configuration

Returns

None

startFilebeat(request: host_manager_pb2.StartFilebeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Starts filebeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

startHeartbeat(request: host_manager_pb2.StartHeartbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Starts heartbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

startHostMonitor(request: host_manager_pb2.StartHostMonitorMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Starts the Host monitor thread

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host monitor thread

startMetricbeat(request: host_manager_pb2.StartMetricbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Starts metricbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

startPacketbeat(request: host_manager_pb2.StartPacketbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Starts packetbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

startSpark(request: host_manager_pb2.StartSparkMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Starts Spark

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

stopFilebeat(request: host_manager_pb2.StopFilebeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Stops filebeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

stopHeartbeat(request: host_manager_pb2.StopHeartbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Stops heartbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

stopHostMonitor(request: host_manager_pb2.StopHostMonitorMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Stops the Host monitor thread if it is running

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host monitor thread

stopMetricbeat(request: host_manager_pb2.StopMetricbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Stops metricbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

stopPacketbeat(request: host_manager_pb2.StopPacketbeatMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Stops packetbeat

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

stopSpark(request: host_manager_pb2.StopSparkMsg, context: grpc.ServicerContext) host_manager_pb2.HostStatusDTO[source]

Stops Spark

Parameters
  • request – the gRPC request

  • context – the gRPC context

Returns

a DTO with the status of the Host

csle_collector.host_manager.host_manager.serve(port: int = 50049, log_dir: str = '/', max_workers: int = 10, log_file_name: str = 'host_manager.log') None[source]

Starts the gRPC server for managing clients

Parameters
  • port – the port that the server will listen to

  • log_dir – the directory to write the log file

  • log_file_name – the file name of the log

  • max_workers – the maximum number of GRPC workers

Returns

None

csle_collector.host_manager.host_manager_pb2 module

Generated protocol buffer code.

csle_collector.host_manager.host_manager_pb2_grpc module

Client and server classes corresponding to protobuf-defined services.

class csle_collector.host_manager.host_manager_pb2_grpc.HostManager[source]

Bases: object

Interface exported by the server

static configFilebeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static configHeartbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static configMetricbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static configPacketbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static getHostMetrics(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static getHostStatus(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static startFilebeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static startHeartbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static startHostMonitor(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static startMetricbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static startPacketbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static startSpark(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static stopFilebeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static stopHeartbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static stopHostMonitor(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static stopMetricbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static stopPacketbeat(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
static stopSpark(request, target, options=(), channel_credentials=None, call_credentials=None, insecure=False, compression=None, wait_for_ready=None, timeout=None, metadata=None)[source]
class csle_collector.host_manager.host_manager_pb2_grpc.HostManagerServicer[source]

Bases: object

Interface exported by the server

configFilebeat(request, context)[source]

Missing associated documentation comment in .proto file.

configHeartbeat(request, context)[source]

Missing associated documentation comment in .proto file.

configMetricbeat(request, context)[source]

Missing associated documentation comment in .proto file.

configPacketbeat(request, context)[source]

Missing associated documentation comment in .proto file.

getHostMetrics(request, context)[source]

Missing associated documentation comment in .proto file.

getHostStatus(request, context)[source]

Missing associated documentation comment in .proto file.

startFilebeat(request, context)[source]

Missing associated documentation comment in .proto file.

startHeartbeat(request, context)[source]

Missing associated documentation comment in .proto file.

startHostMonitor(request, context)[source]

Missing associated documentation comment in .proto file.

startMetricbeat(request, context)[source]

Missing associated documentation comment in .proto file.

startPacketbeat(request, context)[source]

Missing associated documentation comment in .proto file.

startSpark(request, context)[source]

Missing associated documentation comment in .proto file.

stopFilebeat(request, context)[source]

Missing associated documentation comment in .proto file.

stopHeartbeat(request, context)[source]

Missing associated documentation comment in .proto file.

stopHostMonitor(request, context)[source]

Missing associated documentation comment in .proto file.

stopMetricbeat(request, context)[source]

Missing associated documentation comment in .proto file.

stopPacketbeat(request, context)[source]

Missing associated documentation comment in .proto file.

stopSpark(request, context)[source]

Missing associated documentation comment in .proto file.

class csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub(channel)[source]

Bases: object

Interface exported by the server

csle_collector.host_manager.host_manager_pb2_grpc.add_HostManagerServicer_to_server(servicer, server)[source]

csle_collector.host_manager.host_manager_util module

class csle_collector.host_manager.host_manager_util.HostManagerUtil[source]

Bases: object

Utility class for the host manager

static filebeat_config(log_files_paths: List[str], kibana_ip: str, kibana_port: int, elastic_ip: str, elastic_port: int, num_elastic_shards: int, kafka_topics: List[str], kafka_ip: str, kafka_port: int, reload_enabled: bool = False, kafka: bool = False) Dict[str, Any][source]

Generates the filebeat.yml config

Parameters
  • log_files_paths – the list of log files that filebeat should monitor

  • kibana_ip – the IP of Kibana where the data should be visualized

  • kibana_port – the port of Kibana where the data should be visualized

  • elastic_ip – the IP of elastic where the data should be shipped

  • elastic_port – the port of elastic where the data should be shipped

  • num_elastic_shards – the number of elastic shards

  • reload_enabled – whether automatic reload of modules should be enabled

  • kafka – whether kafka should be added as input

  • kafka_topics – list of kafka topics to ingest

  • kafka_port – the kafka server port

  • kafka_ip – the kafka server ip

Returns

the filebeat configuration dict

static filebeat_elasticsearch_module_config() List[Dict[str, Any]][source]
Returns

the elasticsearch filebeat module config

static filebeat_kafka_module_config() List[Dict[str, Any]][source]
Returns

the kafka filebeat module config

static filebeat_kibana_module_config() List[Dict[str, Any]][source]
Returns

the kibana filebeat module config

static filebeat_logstash_module_config() List[Dict[str, Any]][source]
Returns

the logstash filebeat module config

static filebeat_snort_module_config() List[Dict[str, Any]][source]
Returns

the snort filebeat module config

static filebeat_system_module_config() List[Dict[str, Any]][source]
Returns

the system filebeat module config

static heartbeat_config(kibana_ip: str, kibana_port: int, elastic_ip: str, elastic_port: int, num_elastic_shards: int, hosts_to_monitor: List[str]) Dict[str, Any][source]

Generates the heartbeat.yml config

Parameters
  • kibana_ip – the IP of Kibana where the data should be visualized

  • kibana_port – the port of Kibana where the data should be visualized

  • elastic_ip – the IP of elastic where the data should be shipped

  • elastic_port – the port of elastic where the data should be shipped

  • num_elastic_shards – the number of elastic shards

  • hosts_to_monitor – a list of host IP addresses to monitor

Returns

the heartbeat configuration dict

static host_metrics_dto_empty() host_manager_pb2.HostMetricsDTO[source]
Returns

an empty HostMetricsDTO

static host_metrics_dto_from_dict(d: Dict[str, Any]) host_manager_pb2.HostMetricsDTO[source]

Converts a dict representation of a HostMetricsDTO to a DTO

Parameters

d – the dict to convert

Returns

the converted DTO

static host_metrics_dto_to_dict(host_metrics_dto: host_manager_pb2.HostMetricsDTO) Dict[str, Any][source]

Converts a HostMetricsDTO to a dict

Parameters

host_metrics_dto – the dto to convert

Returns

a dict representation of the DTO

static host_monitor_dto_empty() host_manager_pb2.HostStatusDTO[source]
Returns

an empty HostStatusDTO

static host_monitor_dto_from_dict(d: Dict[str, Any]) host_manager_pb2.HostStatusDTO[source]

Converts a dict representation of a HostStatusDTO to a DTO

Parameters

d – the dict to convert

Returns

the converted DTO

static host_monitor_dto_to_dict(host_dto: host_manager_pb2.HostStatusDTO) Dict[str, Any][source]

Converts a HostStatusDTO to a dict

Parameters

host_dto – the dto to convert

Returns

a dict representation of the DTO

static metricbeat_config(kibana_ip: str, kibana_port: int, elastic_ip: str, elastic_port: int, num_elastic_shards: int, reload_enabled: bool = False) Dict[str, Any][source]

Generates the metricbeat.yml config

Parameters
  • kibana_ip – the IP of Kibana where the data should be visualized

  • kibana_port – the port of Kibana where the data should be visualized

  • elastic_ip – the IP of elastic where the data should be shipped

  • elastic_port – the port of elastic where the data should be shipped

  • num_elastic_shards – the number of elastic shards

  • reload_enabled – whether automatic reload of modules should be enabled

Returns

the metricbeat configuration dict

static metricbeat_elasticsearch_module_config(elastic_ip: str, elastic_port: int) List[Dict[str, Any]][source]
Returns

the elasticsearch metricbeat module config

static metricbeat_kafka_module_config(kafka_ip: str, kafka_port: int) List[Dict[str, Any]][source]

Creates the kafka metricbeat module configuration

Parameters
  • kafka_ip – the kibana host IP

  • kafka_port – the kibana host port

Returns

the kafka metricbeat module config

static metricbeat_kibana_module_config(kibana_ip: str, kibana_port: int) List[Dict[str, Any]][source]

Creates the kibana metricbeat module configuration

Parameters
  • kibana_ip – the kibana host IP

  • kibana_port – the kibana host port

Returns

the kibana metricbeat module config

static metricbeat_linux_module_config() List[Dict[str, Any]][source]

Creates the linux metricbeat module configuration

Returns

the linux metricbeat module config

static metricbeat_logstash_module_config(logstash_ip: str, logstash_port: int) List[Dict[str, Any]][source]

Creates the logstash metricbeat module configuration

Parameters
  • logstash_ip – the kibana host IP

  • logstash_port – the kibana host port

Returns

the kibana metricbeat module config

static metricbeat_system_module_config() List[Dict[str, Any]][source]

Creates the system metricbeat module configuration

Returns

the system metricbeat module config

static packetbeat_config(kibana_ip: str, kibana_port: int, elastic_ip: str, elastic_port: int, num_elastic_shards: int) Dict[str, Any][source]

Generates the packetbeat.yml config

Parameters
  • kibana_ip – the IP of Kibana where the data should be visualized

  • kibana_port – the port of Kibana where the data should be visualized

  • elastic_ip – the IP of elastic where the data should be shipped

  • elastic_port – the port of elastic where the data should be shipped

  • num_elastic_shards – the number of elastic shards

Returns

the filebeat configuration dict

static read_failed_login_attempts(failed_auth_last_ts: float) int[source]

Measures the number of recent failed login attempts

Parameters

emulation_config – configuration to connect to the node in the emulation

Returns

the number of recently failed login attempts

static read_host_metrics(failed_auth_last_ts: float, login_last_ts: float) csle_collector.host_manager.dao.host_metrics.HostMetrics[source]

Reads the latest metrics from the host

Parameters
  • failed_auth_last_ts – the last time-step of read failed authentication attempts

  • login_last_ts – the last time-step of read successful logins

Returns

The parsed host metrics

static read_latest_ts_auth() float[source]

Measures the timestamp of the latest failed login attempt

Returns

the number of recently failed login attempts

static read_latest_ts_login() float[source]

Measures the timestamp of the latest successful login attempt

Returns

the number of recently failed login attempts

static read_logged_in_users() int[source]

Measures the number of logged-in users on the server

Returns

the number of logged in users

static read_open_connections() int[source]

Measures the number of open connections to the server

Returns

the number of open connections

static read_processes() int[source]

Measures the number of processes on the server

Parameters

emulation_config – configuration to connect to the node in the emulation

Returns

the number of processes

static read_successful_login_events(login_last_ts: float) int[source]

Measures the number of recent successful login attempts

Parameters

login_last_ts – the timestamp to use when filtering logins

Returns

the number of recently failed login attempts

static read_users() int[source]

Measures the number of user accounts on the server

Returns

the number of user accounts

static write_yaml_config(config: Union[Dict[str, Any], List[Dict[str, Any]]], path: str) None[source]

Writes a given filebeat config to disk

Parameters
  • config – the filebeat config to write

  • path – the path to write the file to

Returns

None

csle_collector.host_manager.query_host_manager module

csle_collector.host_manager.query_host_manager.config_filebeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, log_files_paths: List[str], kibana_ip: str, kibana_port: int, elastic_ip: str, elastic_port: int, num_elastic_shards: int, kafka_topics: List[str], kafka_ip: str, kafka_port: int, filebeat_modules: List[str], reload_enabled: bool = False, kafka: bool = False, timeout=300) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to update the filebeat configuration

Parameters
  • log_files_paths – the list of log files that filebeat should monitor

  • kibana_ip – the IP of Kibana where the data should be visualized

  • kibana_port – the port of Kibana where the data should be visualized

  • elastic_ip – the IP of elastic where the data should be shipped

  • elastic_port – the port of elastic where the data should be shipped

  • num_elastic_shards – the number of elastic shards

  • reload_enabled – whether automatic reload of modules should be enabled

  • kafka – whether kafka should be added as input

  • kafka_topics – list of kafka topics to ingest

  • kafka_port – the kafka server port

  • kafka_ip – the kafka server ip

  • filebeat_modules – a list of filebeat modules to enable

  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.config_heartbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, kibana_ip: str, kibana_port: int, elastic_ip: str, elastic_port: int, num_elastic_shards: int, hosts_to_monitor: List[str], timeout=300) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to update the heartbeat configuration

Parameters
  • kibana_ip – the IP of Kibana where the data should be visualized

  • kibana_port – the port of Kibana where the data should be visualized

  • elastic_ip – the IP of elastic where the data should be shipped

  • elastic_port – the port of elastic where the data should be shipped

  • num_elastic_shards – the number of elastic shards

  • hosts_to_monitor – list of hosts to monitor with heartbeats

  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.config_metricbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, kibana_ip: str, kibana_port: int, elastic_ip: str, elastic_port: int, num_elastic_shards: int, kafka_ip: str, kafka_port: int, metricbeat_modules: List[str], reload_enabled: bool = False, timeout=300) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to update the metricbeat configuration

Parameters
  • kibana_ip – the IP of Kibana where the data should be visualized

  • kibana_port – the port of Kibana where the data should be visualized

  • elastic_ip – the IP of elastic where the data should be shipped

  • elastic_port – the port of elastic where the data should be shipped

  • num_elastic_shards – the number of elastic shards

  • reload_enabled – whether automatic reload of modules should be enabled

  • kafka_port – the kafka server port

  • kafka_ip – the kafka server ip

  • metricbeat_modules – a list of metricbeat modules to enable

  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.config_packetbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, kibana_ip: str, kibana_port: int, elastic_ip: str, elastic_port: int, num_elastic_shards: int, timeout=300) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to update the packetbeat configuration

Parameters
  • kibana_ip – the IP of Kibana where the data should be visualized

  • kibana_port – the port of Kibana where the data should be visualized

  • elastic_ip – the IP of elastic where the data should be shipped

  • elastic_port – the port of elastic where the data should be shipped

  • num_elastic_shards – the number of elastic shards

  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.get_host_metrics(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, failed_auth_last_ts: float, login_last_ts: float, timeout=60) host_manager_pb2.HostMetricsDTO[source]

Queries the Host manager for the data of the Host metrics from given timestamps

Parameters
  • stub – the stub to send the remote gRPC to the server

  • failed_auth_last_ts – the timtestamp to parse failed login from

  • login_last_ts – the timtestamp to parse the last login from

  • timeout – the GRPC timeout (seconds)

Returns

an HostMetricsDTO with host metrics

csle_collector.host_manager.query_host_manager.get_host_status(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Queries the Host manager for the status of the Host monitor thread

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.start_filebeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to start filebeat

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.start_heartbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to start heartbeat

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.start_host_monitor(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, kafka_ip: str, kafka_port: int, time_step_len_seconds: int, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to start the Host monitor thread

Parameters
  • kafka_ip – the ip of the Kafka server

  • kafka_port – the port of the Kafka server

  • time_step_len_seconds – the length of one time-step

  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.start_metricbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to start metricbeat

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.start_packetbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to start packetbeat

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.start_spark(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to start spark

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.stop_filebeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to stop filebeat

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.stop_heartbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to stop heartbeat

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.stop_host_monitor(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to stop the Host monitor thread

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.stop_metricbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to stop metricbeat

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.stop_packetbeat(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to stop packetbeat

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

csle_collector.host_manager.query_host_manager.stop_spark(stub: csle_collector.host_manager.host_manager_pb2_grpc.HostManagerStub, timeout=60) host_manager_pb2.HostStatusDTO[source]

Sends a request to the Host manager to stop spark

Parameters
  • stub – the stub to send the remote gRPC to the server

  • timeout – the GRPC timeout (seconds)

Returns

a HostDTO describing the host status

Module contents