Logarithm::CLI::Monitor::Arguments
Inherits Iterable < Enumerable < Struct < Value < Object
Monitoring subcommand for real-time anomaly detection.
This command starts real-time monitoring of log sources using a trained model to detect anomalies. It continuously processes logs and alerts on suspicious patterns based on the learned normal behavior.
Generated Structs
Admiral automatically generates the following structs from the flag definitions:
Monitor::Flags
Contains all command-line flags and their parsed values for the monitoring subcommand.
Flag Categories:
Data Source Configuration
recursive: Enable recursive directory traversal for log filesjournald: Include systemd journal as a log sourcesince: Time-based filtering for journal entries
Model and Data Configuration
data_dir: Override default model storage directoryconfig: Path to YAML configuration file override
Runtime Configuration
verbose: Enable detailed logging output during monitoring
Monitor::Arguments
Contains positional arguments for the monitoring subcommand.
paths: Space-separated list of log file or directory paths
Usage in Code
# Access parsed flags in command execution
if flags.verbose
Logarithm::Log.info("Verbose monitoring mode enabled")
end
# Use flag values for configuration
if !flags.data_dir.empty?
ENV["LOGARITHM_DATA_DIR"] = flags.data_dir
end
# Parse space-separated paths
log_paths = arguments.paths.split.map(&.strip)
Validation
Flag and argument values are validated during parsing:
- File paths are checked for accessibility
- Time formats are validated for journal filtering
- Configuration files are verified for existence and readability
- Arguments are checked for directory traversal attempts
Constants
SPECS = {"paths" => {type: "String", description: {"paths", "Log file or directory paths to monitor (space-separated, use quotes for paths with spaces)"}, default: "\"\"", is_required: false}} of String => NamedTuple(type: String, description: Tuple(String, String | ::Nil), default: String, is_required: Bool)
Constructors
new(command : Admiral::Command)
Instance methods
[](*args, **options)
[](*args, **options, &)
each(*args, **options)
each(*args, **options, &)
exists?(name : Symbol)
get(name : Symbol)
get?(name : Symbol)
inspect(io)
Sourcepaths
Sourcerest
validate!(command : Admiral::Command)