CompleteConfiguration Guide
v1.4.0 configuration guide: π Enterprise multi-tenancy, index access control, query caching, cross-cluster search, hot reload configuration
Configuration Categories
Detailed configuration instructions organized by functionality
Basic Configuration
Elasticsearch connection and basic service settings
elasticsearch.urlRequiredElasticsearch base URL (required)
elasticsearch.url: http://localhost:9200elasticsearch.usernameES basic authentication username
elasticsearch.username: elasticelasticsearch.passwordES basic authentication password
elasticsearch.password: your_passwordserver.portHTTP service port
server.port: 8000elasticsearch.requestTimeoutSecondsRequest timeout in seconds
elasticsearch.requestTimeoutSeconds: 30Cross-Cluster Search Configuration
CCS alias routing configuration for multi-cluster management
elasticsearch.clusters.logs.urlLog cluster address
elasticsearch.clusters.logs.url: http://es-logs:9200elasticsearch.clusters.metrics.urlMetrics cluster address
elasticsearch.clusters.metrics.url: http://es-metrics:9200elasticsearch.clusters.{alias}.usernameCluster authentication username
elasticsearch.clusters.{alias}.username: elasticSecurity Configuration
IP access control, query limits, and protection policies
proxy.allowListIP whitelist, supports CIDR format
proxy.allowList: ["127.0.0.1", "10.0.0.0/24"]proxy.blockListIP blacklist (higher priority than whitelist)
proxy.blockList: []proxy.limits.rateLimitAccess rate limit
proxy.limits.rateLimit: 100/minuteproxy.limits.maxQueryDepthMaximum query nesting depth
proxy.limits.maxQueryDepth: 5proxy.limits.maxResultWindowMaximum pagination window
proxy.limits.maxResultWindow: 10000proxy.limits.allowPrefixWildcardAllow prefix wildcards
proxy.limits.allowPrefixWildcard: falseproxy.limits.strictQueryValidationStrict query validation
proxy.limits.strictQueryValidation: falseMulti-Tenant Configuration
π v1.4.0 Enterprise multi-tenant isolation and tenant management
proxy.multi-tenant.enabledEnable multi-tenant functionality (π v1.4.0 core feature)
proxy.multi-tenant.enabled: trueproxy.multi-tenant.defaultTenantDefault tenant ID (backward compatibility)
proxy.multi-tenant.defaultTenant: defaultproxy.multi-tenant.strictTenantIsolationStrict tenant isolation mode
proxy.multi-tenant.strictTenantIsolation: trueproxy.multi-tenant.allowAnonymousAccessAllow anonymous access (development environment)
proxy.multi-tenant.allowAnonymousAccess: falseproxy.multi-tenant.tenants.{tenant-id}.nameTenant display name
proxy.multi-tenant.tenants.{tenant-id}.name: Log Analysis Tenantproxy.multi-tenant.tenants.{tenant-id}.basicAuth.usernameRequiredHTTP Basic authentication username
proxy.multi-tenant.tenants.{tenant-id}.basicAuth.username: tenant-userproxy.multi-tenant.tenants.{tenant-id}.basicAuth.passwordRequiredHTTP Basic authentication password
proxy.multi-tenant.tenants.{tenant-id}.basicAuth.password: tenant-passwordproxy.multi-tenant.tenants.{tenant-id}.allowedIpsTenant IP access control (array)
proxy.multi-tenant.tenants.{tenant-id}.allowedIps: ["10.1.0.0/24", "192.168.1.0/24"]proxy.multi-tenant.tenants.{tenant-id}.elasticsearch.clusterTenant ES cluster alias
proxy.multi-tenant.tenants.{tenant-id}.elasticsearch.cluster: logsproxy.multi-tenant.tenants.{tenant-id}.elasticsearch.usernameTenant ES credentials username
proxy.multi-tenant.tenants.{tenant-id}.elasticsearch.username: es_tenant_userproxy.multi-tenant.tenants.{tenant-id}.limits.allowedIndicesTenant allowed index patterns
proxy.multi-tenant.tenants.{tenant-id}.limits.allowedIndices: ["logs-*", "app-logs-*"]proxy.multi-tenant.tenants.{tenant-id}.limits.forbiddenIndicesTenant forbidden index patterns
proxy.multi-tenant.tenants.{tenant-id}.limits.forbiddenIndices: ["system-*", ".security*"]proxy.multi-tenant.tenants.{tenant-id}.monitoring.enabledTenant independent monitoring
proxy.multi-tenant.tenants.{tenant-id}.monitoring.enabled: trueUnified Search Configuration
π v1.3.6 Unified search interface and index access control
proxy.unified-search.enabledEnable unified search interface
proxy.unified-search.enabled: trueproxy.unified-search.allowedIndicesπ Allowed index patterns (index access control)
proxy.unified-search.allowedIndices: ["logs-*", "metrics-*", "business-*"]proxy.unified-search.enableQueryCacheπ Enable query result caching
proxy.unified-search.enableQueryCache: trueproxy.unified-search.queryCacheTtlSecondsπ Cache time-to-live in seconds
proxy.unified-search.queryCacheTtlSeconds: 300proxy.unified-search.strictTypeDetectionStrict type detection
proxy.unified-search.strictTypeDetection: falseproxy.unified-search.maxConditionsMaximum query conditions
proxy.unified-search.maxConditions: 50Performance Optimization
Connection pool, network, and performance-related configuration
elasticsearch.maxConnectionsMaximum concurrent connections
elasticsearch.maxConnections: 200elasticsearch.pendingAcquireMaxCountConnection waiting queue size
elasticsearch.pendingAcquireMaxCount: 10000elasticsearch.connectTimeoutMillisTCP connection timeout in milliseconds
elasticsearch.connectTimeoutMillis: 3000elasticsearch.maxIdleTimeSecondsMaximum connection idle time in seconds
elasticsearch.maxIdleTimeSeconds: 30elasticsearch.maxLifeTimeSecondsMaximum connection lifetime in seconds
elasticsearch.maxLifeTimeSeconds: 300Monitoring Configuration
Logging, metrics monitoring, and health checks
proxy.useElasticsearchMonitoringEnable ES monitoring logs (daily indexed)
proxy.useElasticsearchMonitoring: trueproxy.logLevelProxy log level
proxy.logLevel: INFOmanagement.endpoints.web.exposure.includeExposed Actuator endpoints
management.endpoints.web.exposure.include: health,info,prometheus,refreshmanagement.endpoint.health.probes.enabledEnable liveness/readiness probes
management.endpoint.health.probes.enabled: truespring.elasticsearch.urisActuator health check ES address
spring.elasticsearch.uris: http://localhost:9200Configuration Examples
Complete configuration examples for different environments
Development Environment Complete Configuration
Complete development and testing environment configuration with all major configuration items
Production Environment Complete Configuration
Complete production environment configuration based on actual config/application.yml file
π Multi-Tenant Production Configuration
v1.4.0 enterprise multi-tenant configuration example with completely isolated tenant management
Configuration Best Practices
Best practice recommendations for production environment configuration
Security Best Practices
- π Configure index access control to limit accessible index patterns
- π Use environment variables to store passwords, avoid plain text in configuration files
- π‘οΈ Set production configuration file permissions to 600 (owner read/write only)
- Use IP whitelist to restrict access sources
- Enable strict query validation to prevent malicious queries
- Disable prefix wildcards and regex queries
- Set reasonable access rate limits
- Regularly update passwords and access keys
- Separate Actuator health check ES configuration
Performance Best Practices
- β‘ Enable query result caching for significant performance improvement
- Adjust connection pool size based on load (maxConnections)
- Optimize connection timeout and lifetime configuration
- Configure reasonable query cache TTL time
- Monitor cache hit rate and performance metrics
- Use SSD storage for log files
- Increase pendingAcquireMaxCount for high-load scenarios
v1.3.6 New Feature Configuration
- π Configure intelligent field recognition to improve query accuracy
- Set reasonable allowedIndices index access control
- Enable query caching and monitor cache statistics
- Configure rangeFields and exactMatchFields
- Enable query logging and performance statistics
- Regularly clean query cache
- Use cross-cluster search alias routing
Operations Best Practices
- Enable ES monitoring log recording (daily indexed)
- Configure Actuator health check endpoints
- Enable liveness and readiness probes
- Regularly backup configuration files
- Use configuration hot reload functionality (POST /actuator/refresh)
- Set up Prometheus monitoring and alerting
- Monitor cache usage and hit rate
π v1.4.0 Multi-Tenant Best Practices
- π’ Create independent tenants for different business lines
- π Configure independent ES credentials for each tenant
- π‘οΈ Use strict tenant isolation mode (strictTenantIsolation: true)
- π Configure independent monitoring index prefix for each tenant
- π Configure tenant-level IP access control
- β‘ Adjust rate limiting policies based on tenant business characteristics
- π Regularly review tenant index access permissions
- π Use tenant management API for connection testing
- πΎ Enable tenant context caching for performance optimization
- π Monitor tenant cache hit rate and performance metrics
Configuration Hot Reload
Configuration changes take effect without restarting the service