Skip to main content

Scheduler Settings

Conventions

  • $OS_HOME - OpenSearch installation home directory, usually /app/opensearch
  • $OS_CONFIG - OpenSearch configuration files directory, usually ${OS_HOME}/config

Configuration

To receive notifications as a result of executing an Active Action, you need to configure email integration. To do this, navigate to Menu - Settings - Management and select General - Scheduler Settings on the page that opens.

The following parameters are available:

  • Email Host - IP address or domain name of the mail server
  • Email Port - Port for connecting to the mail server
  • Email User - User for authenticating with the mail server
  • Email Password - Mail server password. Configured in the SA Data Storage password store. The password value should be stored with the key jobscheduler.email.pass
  • Email Timeout - Delay before resending a message
  • Email Protocol - Encryption protocol used. TLS/SSL settings are available, as well as disabling encryption.
  • Sender - Email address from which messages will be sent
  • SAE User - The user under which the Job Scheduler component runs search tasks
  • SAE Remote Executor Host - IP address of the host running the SME-RE service
  • SAE Remote Executor Port - Port used by SME-RE. Defaults to 18080
  • SAE Password - Password for the user specified in the SAE User field. Configured in the SA Data Storage password store. The password value should be stored with the key jobscheduler.sme.pass
  • SAE Protocol - Protocol for sending mail. HTTP/HTTPS is available
Note!

Adding passwords to the keystore (password store) must be done on all servers where the Job Scheduler plugin (sm-job-scheduler) is installed.

You can use the RestAPI or the console to add a password to the password store.

Modifying the keystore via the console

Keystore modifications must be performed as the root user. To add keys (passwords) to the store, execute the following commands:

sudo -u opensearch ${OS_HOME}/bin/opensearch-keystore add jobscheduler.email.pass
sudo -u opensearch ${OS_HOME}/bin/opensearch-keystore add jobscheduler.sme.pass

To remove a password from the password store, execute the following commands as the root user:

sudo -u opensearch ${OS_HOME}/bin/opensearch-keystore remove jobscheduler.email.pass
sudo -u opensearch ${OS_HOME}/bin/opensearch-keystore remove jobscheduler.sme.pass
Note!

If the command is executed without the -u opensearch option, you must check the permissions on the keystore file ${OS_CONFIG}/opensearch.keystore after making changes to the password store. You can use the following command to change the permissions:

sudo chown opensearch:opensearch ${OS_CONFIG}/opensearch.keystore

After modifying the keystore via the terminal, an OpenSearch restart is required. For clusters consisting of multiple nodes, it is recommended to disable allocation via the developer console (Navigation Menu - System Settings - Dev Tools) before restarting by executing the following command:

PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "none"
}
}

You can do the same from the terminal using the following command:

curl -XPUT -k -u admin "https://127.0.0.1:9200/_cluster/settings?pretty" -H "Content-Type: application/json" -d '{"persistent":{"cluster.routing.allocation.enable": "none"}}'

Then restart the OpenSearch node:

systemctl restart opensearch.service

After starting the service, wait for the node to appear in the cluster's node list.

GET _cluster/health
GET _cat/nodes

You can do the same from the terminal using the following commands:

curl -k -u admin "https://127.0.0.1:9200/_cluster/health?pretty"
curl -k -u admin "https://127.0.0.1:9200/_cat/nodes"

After the node appears in the cluster, enable allocation:

PUT _cluster/settings
{
"persistent": {
"cluster.routing.allocation.enable": "all"
}
}

You can do the same from the terminal using the following command:

curl -XPUT -k -u admin "https://127.0.0.1:9200/_cluster/settings?pretty" -H "Content-Type: application/json" -d '{"persistent":{"cluster.routing.allocation.enable": "all"}}'