Overview
What is its Purpose?
Connection transmits log, metric, and search data from Integration Flow or Connector steps to a central Elasticsearch cluster. Manages REST requests with high availability through multiple host (HTTP/HTTPS) definitions. Standardizes cluster governance through Index Template and Index Lifecycle Policy (ILM) automation. Triggers maintenance tasks such as rollover, template creation, and policy synchronization with a single click.Working Principle
Connection Initiation: When an Elasticsearch Connection is requested from within an Integration Flow or Connector, the system reads the configured connection parameters. Connection Pool Management: The HTTP client selects an appropriate connection from the pool or opens a new one based onioThreads, maxConnectionPerHost, and maxConnectionTotal values.
Authentication: When Basic Authentication is provided, username/password are sent; otherwise, anonymous access or IP-based security is used.
Data Communication: JSON-bodied CRUD requests are sent to REST endpoints over HTTP/HTTPS; socket settings (keep-alive, reuse) ensure transmission continuity.
Connection Management: When the operation completes, the connection returns to the pool, and open sockets close when keep-alive periods expire.
Error Management: On connection error, timeout, or authentication error, Apinizer Message Service generates notifications; details are shown in the deployment result dialog.
Usage Areas
- Writing Gateway logs to central Elasticsearch indices
- Accessing read-only clusters for search/reporting purposes
- Managing high-volume log clusters requiring ILM and template automation
- Routing traffic to disaster recovery or geo-redundant Elasticsearch clusters
Technical Features and Capabilities
Basic Features
Multiple Host Management: Provides load distribution among cluster nodes through HTTP/HTTPS scheme, host, and port combinations. Index Template Automation: Shard/replica counts and refresh interval values are managed through the UI. Administrative Operations: When theAdministrate option is enabled, Index Template, ILM Policy creation, and rollover trigger buttons become active.
Environment-Based Configuration: Ability to define separate connection parameters for each environment (Development, Test, Production).
Enable/Disable Control: Activating or deactivating the connection (enable/disable toggle). In passive state, the connection cannot be used but its configuration is preserved.
Advanced Features
Index Lifecycle Editor: Age, size, and replication thresholds for Hot/Warm/Cold/Delete phases are controlled through a modal. TLS Certificate Flexibility: SSL/TLS communication is secured by uploading PKCS#12 or PEM-based CA/keystore files. Read/Write Mode: InREAD_WRITE mode, administrative operations are active; in READ mode, only queries are performed.
Connection Test Feature: Ability to validate connection parameters before saving using the “Test Connection” button.
Export/Import Feature: Exporting connection configuration as a ZIP file. Importing to different environments (Development, Test, Production). Version control and backup capability.
Connection Monitoring: Monitoring connection health, pool status, and performance metrics.
Connection Parameters
Required Parameters
Optional Parameters
Timeout and Connection Pool Parameters
Usage Scenarios
Connection Configuration
In this step, users can create a new connection or configure existing connection parameters to set connection rules. Defined parameters directly affect how the connection works and become available for use in Integration Flow or Connector steps.Creating a New Elasticsearch Connection

Configuration Steps
1
Navigate to Creation Page
- Go to Connection → Elasticsearch from the left menu.
- Click the [+ Create] button in the top right.
- The new Elasticsearch Connection creation form opens.
2
Enter Basic Information
Enable Status (Active Status) Setting:
- Find the Enable Status toggle at the top of the form.
- Set the toggle to Active position (defaults to active).
- If you want to make the connection passive, set the toggle to Passive position.
- Passive connections cannot be used in Integration Flows but their configurations are preserved.
- Enter a unique connection name in the Name field.
- Name examples:
`Production_ElasticLog`,`Test_ElasticConnection`,`Dev_ElasticSearch` - Naming rules:
- Cannot start with a space
- Special characters should not be used (recommended: letters, numbers, underscore)
- Maximum 255 characters
- The system automatically checks as you type:
- Green checkmark: Name is available
- Red X mark: Name already exists, choose a different name
- Enter text describing the connection’s purpose in the Description field.
- Example descriptions:
- “Writes Gateway logs to production cluster”
- “Production environment Elasticsearch connection”
- “Dummy Elasticsearch connection for test environment”
- Maximum 1000 character limit.
- This field can be left empty.
3
Environment Selection
- Find the Environment dropdown menu.
- Open the dropdown menu and select one of the following options:
- Development: For development environment
- Test: For test environment
- Production: For production environment
- Different connection parameters can be defined for each environment.
- Environment selection determines in which environment the connection will be active.
- Connections with the same name can be created separately for different environments.
4
Elasticsearch Host Parameters
Scheme Selection:
- Select Scheme for each host: HTTP or HTTPS
- When HTTPS is selected, Encrypt Communication automatically opens.
- Enter the Elasticsearch node’s address in the Host field.
- Enter the port number in the Port field (default: 9200).
- Host format:
- FQDN (Fully Qualified Domain Name):
`es-prod-01.company.com` - IP address:
`192.168.1.100` - Add multiple hosts to backup cluster access.
- At least one host is required.
- Select from the Connection Type dropdown menu:
- READ_WRITE: For read and write operations (administrative operations active)
- READ: For read-only operations (administrate disabled)
- Connection type selection determines administrate behavior.
5
Index Template and ILM Configuration
Index Name - Required:
- Enter the index name where logs will be written in the Index Name field.
- Example:
`apinizer-log-apiproxy-default` - Automatically created when Administrate is enabled; conflicts are checked.
- Find the Administrate toggle.
- Set the toggle to Active position for template and ILM management.
- When Administrate is active, the following fields become visible:
- Template name
- Shard count
- Replica count
- Refresh interval
- Click the Edit ILM Policy button.
- Set hot/warm/cold/delete phase thresholds in the opened modal.
- Verify that the policy name is unique.
- Check the policy name before the first deployment.
6
Timeout and Connection Pool Settings
Connection Timeout:
- Enter the wait time for connection establishment in the Connection Timeout (ms) field.
- Default: 5000 milliseconds
- Minimum: 1000, Maximum: 60000 milliseconds
- Enter the HTTP client thread count in the IO Threads field.
- Minimum: 1
- Should be increased for high traffic (e.g., 64)
- Enter the concurrent request limit per host in the Max Connection Per Host field.
- Minimum: 1
- Recommended: 128
- Enter the total connection pool limit in the Max Connection Total field.
- Minimum: 1, Maximum: 2000
- Recommended: 256
- Find the Socket Keep Alive toggle (default: active).
- Find the Socket Reuse Address toggle (default: active).
- Keep keep-alive enabled if network devices drop idle connections.
- Keep reuse address enabled in multi-worker deployments.
7
Security and Authentication Settings
Authentication Setting:
- Find the Authenticate toggle.
- If your Elasticsearch cluster requires authentication, set the toggle to Active position.
- Most production environments require authentication.
- When the Authenticate toggle is active, the Elastic Username field becomes visible.
- Enter the Elasticsearch username.
- Enter the password in the Elastic Password field.
- The password will appear masked for security reasons.
- Use of secret manager is recommended for sensitive information.
- When at least one host has HTTPS selected, the Encrypt Communication section becomes visible.
- Select TLS type:
- PKCS#12 CA: CA file in PKCS#12 format
- PEM CA: CA file in PEM format
- PKCS#12 cert+key: Certificate and key file in PKCS#12 format
- Upload the required files.
- Forms with missing files will error and not allow saving.
- Find the Disable Hostname Verification toggle.
- Change to false in Production (default: true).
- Can be left as true in test environment.
8
Test Connection
- Find the [Test Connection] button at the bottom of the form or in the top right corner.
- Click the button.
- The system tests the connection parameters:
- Connection is established to Elasticsearch cluster
- Authentication is performed (if Authentication is active)
- TLS handshake is performed (if Encrypt Communication is active)
- Cluster health is checked
- Test result:
- Successful: Green confirmation message is displayed, such as “Connection test successful”
- Failed: Red error message is displayed, error details are shown
- In case of error:
- Read the error message
- Check relevant parameters (Host, Port, Username, Password)
- Check firewall and network settings
- Check Elasticsearch cluster health
- Fix parameters and test again until test is successful.
9
Save and Deploy
- Ensure all required fields are filled.
- Verify that test connection is successful (recommended).
- Click the [Save and Deploy] button in the top right corner of the form.
- The system saves the connection and deploys it to the selected environment.
- After successful save:
- You are redirected to the connection list page
- New connection appears in the list
- Connection becomes Enabled
- Becomes available for use in Integration Flow and Connector steps
- Name field is unique and valid
- At least one Host and Port fields are filled
- Index Name is filled
- Connection Type is selected
- If Authentication is active, Username and Password are filled
- Environment is selected
- Test Connection is successful (recommended)
- All required fields are filled
- Connection is successfully created and saved
- Becomes active in the selected environment
- Connection selection can be made in Integration Flow and Connector steps
- Appears in connection list and can be managed

