That is used to determine whether to use `ssl_verify = true` in the
lua-resy-http
refer to option `ssl_verify` in:
https://github.com/ledgetech/lua-resty-http/blob/master/README.md#connect
It seems to be ambiguous, is it more suitable to use `"ssl_verify": true`?
ccxh...@gmail.com
From: Zexuan Luo
Date: 2022-08-10 11:46
To: dev
Subject: Re: [Proposal] support Elasticsearch logging plugin
```
"endpoint": {
"uri": "https://127.0.0.1:9200/",
"index": "service",
"type": "collector",
"username": "elastic",
"password": "elastic",
"ssl": true
},
```
I am curious why we need the `ssl` field when the scheme is specified
in the URL?
ccxh...@gmail.com 于2022年8月9日周二 23:49写道:
>
> Hi folks,
>
> Elasticsearch is the distributed search and analytics engine that provides
> a unified data store for solutions built on the Elastic Stack. According to
> the
> latest database search engine ranking [1], Elasticsearch has been ranked
> second Kibana provides access to the Elastic Observability, Security, and
> Enterprise Search solutions, enables you to interactively explore,
> visualize, and share insights into your data. APISIX report logs with
> Elasticsearch's Bulk API [2].
>
> The following are the design and technical details:
>
> 1. Name
>
> elasticsearch-logging
>
> 1. Configuration
>
> {
> "endpoint": {
> "uri": "https://127.0.0.1:9200/",
> "index": "service",
> "type": "collector",
> "username": "elastic",
> "password": "elastic",
> "ssl": true
> },
> "inactive_timeout": 10,
> "max_retry_count": 0,
> "buffer_duration": 60,
> "retry_delay": 1,
> "batch_max_size": 1
> }
>
> - `endpoint` ElasticSearch HTTP/HTTPS endpoint
> - `endpoint.uri` ElasticSearch HTTP/HTTPS request uri,
>`elasticsearch-logging` will add "_bulk" after it [3].
> - `endpoint.index` ElasticSearch HTTP/HTTPS "_index" field [4]
> - `endpoint.type` ElasticSearch HTTP/HTTPS "_type" field [5]
> - `endpoint.username` ElasticSearch HTTP/HTTPS
> - `max_retry_count` maximum number of retries before removing the
> entry from the processing pipeline when an error occurs.
> - `retry_delay` number of seconds the process execution should
> be delayed if the execution fails.
> - `buffer_duration` max age in seconds of the oldest entry in a batch
> before the batch must be processed
> - `inactive_timeout` max age in seconds when the buffer will be flushed
> if inactive
> - `batch_max_size` max size of each batch
>
> 3. Details
>
> 3.1 Configuration process
> 1. Get the username and password of Elasticsearch if needed.
> 2. Set the request URI, index, type(not necessary, Elasticsearch will config
> it with default config if it is null) to the plugin configuration.
>
> 3.2 HTTP Request process
> 1. Obtain and assemble request information data in the APISIX Log stage,
> data format refer to [6].
> 2. Add the assemble request data to the batch queue.
> 3. When the threshold of the batch queue is triggered, the requested data
> is subbmitted in batches to ElasticSearch.
>
> [1] https://db-engines.com/en/ranking/search+engine
> [2]
> https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#docs-bulk
> [3]
> https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#docs-bulk-api-request
> [4]
> https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-index-field.html#mapping-index-field
> [5]
> https://www.elastic.co/guide/en/elasticsearch/reference/7.17/mapping-type-field.html#mapping-type-field
> [6]
> https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-bulk.html#docs-bulk
>
> By the way, I have create a issue about it
>
>
>
> Thanks,
> ccxh...@gmail.com