Module: TCellAgent
- Defined in:
- lib/tcell_agent/version.rb,
lib/tcell_agent/agent.rb,
lib/tcell_agent/logger.rb,
lib/tcell_agent/patches.rb,
lib/tcell_agent/sinatra.rb,
lib/tcell_agent/rails/dlp.rb,
lib/tcell_agent/rails/dlp.rb,
lib/tcell_agent/rust/models.rb,
lib/tcell_agent/rails/routes.rb,
lib/tcell_agent/routes/table.rb,
lib/tcell_agent/utils/params.rb,
lib/tcell_agent/configuration.rb,
lib/tcell_agent/tcell_context.rb,
lib/tcell_agent/utils/headers.rb,
lib/tcell_agent/utils/strings.rb,
lib/tcell_agent/instrumentation.rb,
lib/tcell_agent/policies/policy.rb,
lib/tcell_agent/rails/better_ip.rb,
lib/tcell_agent/rails/responses.rb,
lib/tcell_agent/hooks/login_fraud.rb,
lib/tcell_agent/rails/auth/devise.rb,
lib/tcell_agent/rails/dlp_handler.rb,
lib/tcell_agent/rust/agent_config.rb,
lib/tcell_agent/rust/native_agent.rb,
lib/tcell_agent/sensor_events/dlp.rb,
lib/tcell_agent/settings_reporter.rb,
lib/tcell_agent/agent/static_agent.rb,
lib/tcell_agent/config_initializer.rb,
lib/tcell_agent/rails/routes/grape.rb,
lib/tcell_agent/agent/route_manager.rb,
lib/tcell_agent/instrumentation/lfi.rb,
lib/tcell_agent/rails/auth/userinfo.rb,
lib/tcell_agent/rust/native_library.rb,
lib/tcell_agent/instrumentation/cmdi.rb,
lib/tcell_agent/rails/auth/authlogic.rb,
lib/tcell_agent/rails/csrf_exception.rb,
lib/tcell_agent/sensor_events/sensor.rb,
lib/tcell_agent/policies/login_policy.rb,
lib/tcell_agent/policies/policy_types.rb,
lib/tcell_agent/rails/auth/doorkeeper.rb,
lib/tcell_agent/rails/js_agent_insert.rb,
lib/tcell_agent/rails/routes/route_id.rb,
lib/tcell_agent/rails/tcell_body_proxy.rb,
lib/tcell_agent/policies/headers_policy.rb,
lib/tcell_agent/policies/patches_policy.rb,
lib/tcell_agent/policies/policy_polling.rb,
lib/tcell_agent/rails/settings_reporter.rb,
lib/tcell_agent/sensor_events/discovery.rb,
lib/tcell_agent/policies/dataloss_policy.rb,
lib/tcell_agent/policies/js_agent_policy.rb,
lib/tcell_agent/rails/auth/devise_helper.rb,
lib/tcell_agent/sensor_events/util/utils.rb,
lib/tcell_agent/policies/policies_manager.rb,
lib/tcell_agent/rails/dlp/process_request.rb,
lib/tcell_agent/policies/local_file_access.rb,
lib/tcell_agent/rust/native_agent_response.rb,
lib/tcell_agent/sensor_events/server_agent.rb,
lib/tcell_agent/policies/appfirewall_policy.rb,
lib/tcell_agent/policies/system_enablements.rb,
lib/tcell_agent/rails/auth/authlogic_helper.rb,
lib/tcell_agent/policies/http_redirect_policy.rb,
lib/tcell_agent/policies/command_injection_policy.rb,
lib/tcell_agent/sensor_events/agent_setting_event.rb,
lib/tcell_agent/rails/middleware/global_middleware.rb,
lib/tcell_agent/rails/middleware/context_middleware.rb,
lib/tcell_agent/rails/middleware/headers_middleware.rb,
lib/tcell_agent/rails/railties/tcell_agent_railties.rb,
lib/tcell_agent/sensor_events/app_config_setting_event.rb,
lib/tcell_agent/sensor_events/util/sanitizer_utilities.rb,
lib/tcell_agent/rails/middleware/body_filter_middleware.rb,
lib/tcell_agent/rails/railties/tcell_agent_unicorn_railties.rb
Overview
TODO(ralba): move TCellData from instrumentation.rb here and merge both models into one and drop usage of MetaData. TCellData needs to be serializable in order to do that
Defined Under Namespace
Modules: Cmdi, CsrfExceptionReporter, DLP, DeviseInstrumentation, DoorkeeperInstrumentation, Hooks, Instrumentation, ModuleLoggerAccess, Policies, Routes, Rust, SensorEvents, Utils
Classes: Agent, ConfigInitializer, Configuration, ConfigurationException, MetaData, ModuleLogger, MyRailtie, NativeLogger, NullLoger, PoliciesManager, PolicyPolling, PolicyTypes, RubyLogger, TCellAgentCSRFRailtie, TCellAgentStartupRailtie, UserInformation
Constant Summary
collapse
- VERSION =
'2.2.0'.freeze
- @@ruby_logger =
RubyLogger.new
- @@instance_lock =
Mutex.new
- @@my_thread_agent =
nil
Class Attribute Summary collapse
Class Method Summary
collapse
Class Attribute Details
.configuration ⇒ Object
Returns the value of attribute configuration.
16
17
18
|
# File 'lib/tcell_agent/configuration.rb', line 16
def configuration
@configuration
end
|
.initializer_configuration ⇒ Object
Returns the value of attribute initializer_configuration.
17
18
19
|
# File 'lib/tcell_agent/configuration.rb', line 17
def initializer_configuration
@initializer_configuration
end
|
Class Method Details
20
21
22
23
24
25
26
27
28
|
# File 'lib/tcell_agent/configuration.rb', line 20
def self.configure
require 'tcell_agent/config_initializer'
self.initializer_configuration ||= ConfigInitializer.new
yield(initializer_configuration)
rescue NoMethodError => e
logger = TCellAgent::ModuleLogger.new(TCellAgent::RubyLogger.new, name)
logger.error("Error configuring tcell_agent with initializers: #{e}")
end
|
.discover_database_fields(route_id, database, schema, table, fields) ⇒ Object
33
34
35
|
# File 'lib/tcell_agent/agent/static_agent.rb', line 33
def self.discover_database_fields(route_id, database, schema, table, fields)
thread_agent.discover_database_fields(route_id, database, schema, table, fields)
end
|
.logger ⇒ Object
76
77
78
79
80
|
# File 'lib/tcell_agent/logger.rb', line 76
def self.logger
return @@ruby_logger unless defined?(@native_logger)
@native_logger
end
|
.native_logger=(native_agent) ⇒ Object
82
83
84
|
# File 'lib/tcell_agent/logger.rb', line 82
def self.native_logger=(native_agent)
@native_logger = NativeLogger.new(native_agent)
end
|
.policy(policy_type) ⇒ Object
29
30
31
|
# File 'lib/tcell_agent/agent/static_agent.rb', line 29
def self.policy(policy_type)
thread_agent.policies.fetch(policy_type, nil)
end
|
.report_metrics(response_time, tcell_context) ⇒ Object
25
26
27
|
# File 'lib/tcell_agent/agent/static_agent.rb', line 25
def self.report_metrics(response_time, tcell_context)
thread_agent.report_metrics(response_time, tcell_context)
end
|
.report_settings ⇒ Object
.safe_to_check_cmdi? ⇒ Boolean
37
38
39
|
# File 'lib/tcell_agent/agent/static_agent.rb', line 37
def self.safe_to_check_cmdi?
thread_agent && thread_agent.safe_to_check_cmdi
end
|
.send_event(event) ⇒ Object
21
22
23
|
# File 'lib/tcell_agent/agent/static_agent.rb', line 21
def self.send_event(event)
thread_agent.queue_sensor_event(event)
end
|
.stop_agent ⇒ Object
41
42
43
|
# File 'lib/tcell_agent/agent/static_agent.rb', line 41
def self.stop_agent
thread_agent.stop_agent = true
end
|
.thread_agent ⇒ Object
5
6
7
8
9
10
11
12
13
|
# File 'lib/tcell_agent/agent/static_agent.rb', line 5
def self.thread_agent
unless @@my_thread_agent
@@instance_lock.synchronize do
@@my_thread_agent ||= TCellAgent::Agent.new
end
end
@@my_thread_agent
end
|
.thread_agent=(some_agent) ⇒ Object
15
16
17
18
19
|
# File 'lib/tcell_agent/agent/static_agent.rb', line 15
def self.thread_agent=(some_agent)
@@instance_lock.synchronize do
@@my_thread_agent = some_agent
end
end
|