OpenCTI-Platform / opencti

Open Cyber Threat Intelligence Platform
https://opencti.io
Other
6.23k stars 922 forks source link

Invalid initial heap size: -Xms #2677

Open ArifeVural opened 1 year ago

ArifeVural commented 1 year ago

Description

I deployed OpenCTI on AWS platform by using dockers and having problems to get Elasticsearch running.

Environment

  1. OS (Ubuntu 22.04.1, 8GB memory, 30GB disk space)
  2. OpenCTI version: 5.5.0
  3. OpenCTI client: { e.g. frontend or python }
  4. Other environment details:

Reproducible Steps

Steps to create the smallest reproducible scenario:

I followed these steps to install all the packages and portainer. 1 sudo apt-get update 2 sudo apt-get install apt-transport-https 3 sudo apt-get install ca-certificates 4 sudo apt-get install curl 5 sudo apt-get install gnupg-agent 6 sudo apt-get install software-properties-common 7 sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 8 sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d/. 9 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" 10 sudo apt-get update 11 sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose 12 sudo usermod -aG docker $USER 13 docker swarm init --advertise-addr 13.40.49.106 14 sudo mkdir -p /opt/portainer && cd /opt/portainer 15 sudo curl -L https://downloads.portainer.io/portainer-agent-stack.yml -o portainer-agent-stack.yml 16 vi portainer-agent-stack.yml 18 sudo vi portainer-agent-stack.yml 19 sudo docker stack deploy --compose-file=portainer-agent-stack.yml portainer

Then used this yaml file for opencti:

version: '3' services: redis: image: redis:7.0.6 restart: always volumes:

volumes: esdata: s3data: redisdata: amqpdata:

--

With env variables set again using Portainer.

Expected Output

Get OpenCTI login page when I try to access, http://X.X.X.X:8080/. Instead I get connection refused.

Actual Output

This is the error output from opencti_elasticsearch process:

Exception in thread "main" java.lang.RuntimeException: starting java failed with [1] output:

error: Invalid initial heap size: -Xms5GB Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. at org.elasticsearch.server.cli.JvmOption.flagsFinal(JvmOption.java:113) at org.elasticsearch.server.cli.JvmOption.findFinalOptions(JvmOption.java:80) at org.elasticsearch.server.cli.MachineDependentHeap.determineHeapSettings(MachineDependentHeap.java:59) at org.elasticsearch.server.cli.JvmOptionsParser.jvmOptions(JvmOptionsParser.java:140) at org.elasticsearch.server.cli.JvmOptionsParser.determineJvmOptions(JvmOptionsParser.java:92) at org.elasticsearch.server.cli.ServerProcess.createProcess(ServerProcess.java:214) at org.elasticsearch.server.cli.ServerProcess.start(ServerProcess.java:108) at org.elasticsearch.server.cli.ServerProcess.start(ServerProcess.java:91) at org.elasticsearch.server.cli.ServerCli.startServer(ServerCli.java:234) at org.elasticsearch.server.cli.ServerCli.execute(ServerCli.java:91) at org.elasticsearch.common.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:54) at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:85) at org.elasticsearch.cli.Command.main(Command.java:50) at org.elasticsearch.launcher.CliToolLauncher.main(CliToolLauncher.java:64)

This is the output from opencti_opencti process:

{"category":"APP","error":{"context":{"category":"technical","error":"getaddrinfo ENOTFOUND elasticsearch","http_status":500,"reason":"ElasticSearch seems down"},"message":"A configuration error has occurred","name":"ConfigurationError","stack":"ConfigurationError: A configuration error has occurred\n at error (/opt/opencti/build/src/config/errors.js:8:10)\n at ConfigurationError (/opt/opencti/build/src/config/errors.js:54:53)\n at /opt/opencti/build/src/database/engine.js:171:15\n at processTicksAndRejections (node:internal/process/task_queues:95:5)\n at searchEngineInit (/opt/opencti/build/src/database/engine.js:161:3)\n at checkSystemDependencies (/opt/opencti/build/src/initialization.js:129:3)\n at boot (/opt/opencti/build/src/boot.js:10:5)"},"level":"error","message":"[OPENCTI] Platform start fail","timestamp":"2022-12-23T16:45:35.093Z","version":"5.5.0"}

Additional information

Screenshots (optional)

richard-julien commented 1 year ago

Hi, this error is only related to the option provided to elasticsearch container.

Invalid initial heap size: -Xms5GB

I assume you put 5GB in the ELASTIC_MEMORY_SIZE option that is not compatible.

You can try to put 5G instead.

Fhwang0926 commented 4 months ago

first time, i got same but it was my miss

https://docs.opencti.io/latest/deployment/installation/#using-docker

(cat << EOF
OPENCTI_ADMIN_EMAIL=admin@opencti.io
OPENCTI_ADMIN_PASSWORD=ChangeMePlease
OPENCTI_ADMIN_TOKEN=$(cat /proc/sys/kernel/random/uuid)
OPENCTI_BASE_URL=http://localhost:8080
MINIO_ROOT_USER=$(cat /proc/sys/kernel/random/uuid)
MINIO_ROOT_PASSWORD=$(cat /proc/sys/kernel/random/uuid)
RABBITMQ_DEFAULT_USER=guest
RABBITMQ_DEFAULT_PASS=guest
ELASTIC_MEMORY_SIZE=4G
CONNECTOR_HISTORY_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_EXPORT_FILE_STIX_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_EXPORT_FILE_CSV_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_IMPORT_FILE_STIX_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_EXPORT_FILE_TXT_ID=$(cat /proc/sys/kernel/random/uuid)
CONNECTOR_IMPORT_DOCUMENT_ID=$(cat /proc/sys/kernel/random/uuid)
SMTP_HOSTNAME=localhost
EOF
) > .env

if don't work, set env force with "export ELASTIC_MEMORY_SIZE=4G"