Documentation
¶
Overview ¶
+marmot:name=Redis +marmot:description=Discovers databases from Redis instances. +marmot:status=experimental +marmot:features=Assets
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
plugin.BaseConfig `json:",inline"`
// Connection options
Host string `json:"host" description:"Redis server hostname or IP address" validate:"required"`
Port int `json:"port,omitempty" description:"Redis server port" default:"6379" validate:"omitempty,min=1,max=65535"`
Password string `json:"password,omitempty" description:"Password for authentication" sensitive:"true"`
Username string `json:"username,omitempty" description:"Username for ACL authentication"`
DB int `json:"db,omitempty" description:"Default database number" default:"0" validate:"omitempty,min=0,max=15"`
TLS bool `json:"tls,omitempty" description:"Enable TLS connection"`
TLSInsecure bool `json:"tls_insecure,omitempty" label:"TLS Insecure" description:"Skip TLS certificate verification"`
// Discovery options
DiscoverAllDatabases bool `json:"discover_all_databases" description:"Discover all databases with keys (db0-db15)" default:"true"`
}
Config for Redis plugin +marmot:config
type RedisDatabaseFields ¶
type RedisDatabaseFields struct {
Host string `json:"host" metadata:"host" description:"Redis server hostname"`
Port int `json:"port" metadata:"port" description:"Redis server port"`
Database string `json:"database" metadata:"database" description:"Database name (e.g. db0)"`
RedisVersion string `json:"redis_version" metadata:"redis_version" description:"Redis server version"`
Role string `json:"role" metadata:"role" description:"Replication role (master/slave)"`
UptimeSeconds string `json:"uptime_seconds" metadata:"uptime_seconds" description:"Server uptime in seconds"`
ConnectedClients string `json:"connected_clients" metadata:"connected_clients" description:"Number of connected clients"`
UsedMemoryHuman string `json:"used_memory_human" metadata:"used_memory_human" description:"Human-readable used memory"`
MaxmemoryPolicy string `json:"maxmemory_policy" metadata:"maxmemory_policy" description:"Eviction policy when maxmemory is reached"`
KeyCount int64 `json:"key_count" metadata:"key_count" description:"Number of keys in the database"`
ExpiresCount int64 `json:"expires_count" metadata:"expires_count" description:"Number of keys with an expiration"`
AvgTTLMs int64 `json:"avg_ttl_ms" metadata:"avg_ttl_ms" description:"Average TTL in milliseconds"`
}
RedisDatabaseFields defines metadata fields for Redis databases +marmot:metadata
type Source ¶
type Source struct {
// contains filtered or unexported fields
}
func (*Source) Discover ¶
func (s *Source) Discover(ctx context.Context, pluginConfig plugin.RawPluginConfig) (*plugin.DiscoveryResult, error)
func (*Source) Validate ¶
func (s *Source) Validate(rawConfig plugin.RawPluginConfig) (plugin.RawPluginConfig, error)
Click to show internal directories.
Click to hide internal directories.