pub struct ElasticsearchLoggerPlugin {
sink: BatchSink,
log_format: Option<HashMap<String, Value>>,
include_req_body: bool,
include_resp_body: bool,
}Expand description
Node that batches access-log entries and ships them to Elasticsearch.
Fields§
§sink: BatchSink§log_format: Option<HashMap<String, Value>>§include_req_body: bool§include_resp_body: boolImplementations§
Source§impl ElasticsearchLoggerPlugin
impl ElasticsearchLoggerPlugin
Sourcepub fn from_config(
config: &HashMap<String, Value>,
resources: &Arc<PluginResources>,
) -> Result<Self, String>
pub fn from_config( config: &HashMap<String, Value>, resources: &Arc<PluginResources>, ) -> Result<Self, String>
Builds the plugin from node config.
Accepted keys:
endpoint_addr(string) /endpoint_addrs(array of strings): Elasticsearch base URL(s), e.g.http://es:9200. At least one is required. Trailing slashes are trimmed.field.index(string, required): destination index name.field.type(string, optional): accepted for compatibility; not emitted (see module deviations).auth.username/auth.password(strings, optional): when both are present, sent as HTTP Basic auth.ssl_verify(bool, defaulttrue): verify TLS certificates forhttpsendpoints.timeout(integer seconds, default10): per-flush HTTP deadline.include_req_body/include_resp_body(bool, defaultfalse): include the request/response body in the default entry.log_format(object, optional): custom flat entry ofname -> "$var template".- Batch tuning:
batch_max_size,inactive_timeout,buffer_duration,max_retry_count,retry_delay,max_pending_entries(seeBatchConfig).
type: elasticsearch-logger
config:
endpoint_addr: http://es:9200
field:
index: services
auth:
username: elastic
password: ${ES_PASSWORD}
ssl_verify: true
timeout: 10
batch_max_size: 1000Trait Implementations§
Source§impl Plugin for ElasticsearchLoggerPlugin
impl Plugin for ElasticsearchLoggerPlugin
Source§fn plugin_type(&self) -> &str
fn plugin_type(&self) -> &str
Unique identifier for the plugin type (e.g., “proxy-rewrite”, “upstream”).
Source§fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
fn execute<'life0, 'life1, 'async_trait>(
&'life0 self,
ctx: Context,
_named_inputs: &'life1 HashMap<String, Value>,
) -> Pin<Box<dyn Future<Output = Result<PluginOutput, PluginExecutionError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
'life1: 'async_trait,
Executes the plugin logic against the request/response context. Read more
Auto Trait Implementations§
impl Freeze for ElasticsearchLoggerPlugin
impl RefUnwindSafe for ElasticsearchLoggerPlugin
impl Send for ElasticsearchLoggerPlugin
impl Sync for ElasticsearchLoggerPlugin
impl Unpin for ElasticsearchLoggerPlugin
impl UnsafeUnpin for ElasticsearchLoggerPlugin
impl UnwindSafe for ElasticsearchLoggerPlugin
Blanket Implementations§
§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more