# Start services and validate

After initialization is completed and all the services are installed, OpenIAM starts automatically. However, there is a need to conduct health checks and validation.

### Monitor the startup process

Containers may take 8–15 minutes to start. The UI typically starts last.

To check services, use the OpenIAM CLI as follows.

```bash
openiam-cli status
```

Example output:

```
Openiam Status report
[OK] - openiam-esb - Service working. Application status: [ UP ]
[OK] - workflow - Service working. Application status: [ UP ]
...
[OK] - openiam-reportviewer - Service working. Application status: [ UP ]
```

Verify `nginx`:

```bash
systemctl status nginx
```

Logs:

* OpenIAM logs:

```bash
cd /usr/local/openiam/logs
cd /usr/local/openiam/ui/logs/
```

* Infrastructure logs:

Check `/var/log` or run:

```bash
journalctl -u <service name>
```

### Validate the startup

Validate that the UI is up:

```bash
curl -k -I -L http://127.0.0.1/idp/login
```

Expected example response:

```bash
HTTP/1.1 200
Date: Fri, 21 Feb 2025 21:49:04 GMT
Server: Apache/2.4.61 (Red Hat Enterprise Linux) OpenSSL/3.2.2
...
Content-Length: 4970
Set-Cookie: SESSION=...
```

An HTTP 200 response indicates that the application is up and ready for login.

### OpenIAM CLI and useful commands

Run the CLI without arguments to see usage:

```bash
openiam-cli
```

Example output:

{% code overflow="wrap" %}

```bash
Usage: /usr/bin/openiam-cli {start|stop|status|init|log|log <service_name>|list-connectors|list-source-adapters}
```

{% endcode %}

Common commands:

* Check status:

```bash
openiam-cli status
```

* Check service logs:

```bash
openiam-cli log openiam-esb
```

* Stop OpenIAM:

```bash
openiam-cli stop
```

* Start OpenIAM:

```bash
openiam-cli start
```

Health checks:

* ESB:

```bash
curl http://localhost:9080/openiam-esb/actuator/health
```

* UI:

```bash
curl -k http://localhost:9080/idp/actuator/health
```

### Core services and default memory configuration

<table data-full-width="true"><thead><tr><th width="151.3333740234375">Name</th><th>Description</th><th width="168.328125">Default Memory (RAM)</th></tr></thead><tbody><tr><td><code>openiam-esb</code></td><td>The service that provides Web Service API and most platform functionality.</td><td>2048m</td></tr><tr><td><code>workflow</code></td><td>The service that provides business workflow functionality.</td><td>768m</td></tr><tr><td><code>groovy-manager</code></td><td>The service that provides Groovy extension functionality.</td><td>256m</td></tr><tr><td><code>idm</code></td><td>The service that provides provisioning to target systems.</td><td>512m</td></tr><tr><td><code>reconciliation</code></td><td>The service that provides reconciliation against target systems.</td><td>512m</td></tr><tr><td><code>email-manager</code></td><td>The service that provides sending and receiving email functionality.</td><td>256m</td></tr><tr><td><code>auth-manager</code></td><td>The service that provides authorization functionality.</td><td>1024m</td></tr><tr><td><code>device-manager</code></td><td>The service that provides device management functionality.</td><td>256m</td></tr><tr><td><code>business-rule-manager</code></td><td>The service that provides business rules functionality.</td><td>512m</td></tr><tr><td><code>openiam-ui</code></td><td>The Apache Tomcat-based UI service.</td><td>2048m</td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-beta.openiam.com/installing-openiam/start-services-and-validate.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
