Troubleshooting
Troubleshooting
Networking/DNS issues
In case the client cannot connect to the server, this may be a networking/dns issue in your setup.
OPAL client is configured to keep the connection with server open, and in case of disconnection - retry again and again to reconnect. But if something is wrong with the server address (server is down / unreachable / dns not configured) you might see the following logs:
2021-06-27T15:58:12.564384+0300 |fastapi_websocket_pubsub.pub_sub_client | INFO | Trying to connect to Pub/Sub server - ws://localhost:7002/ws
2021-06-27T15:58:12.564687+0300 |fastapi_websocket_rpc.websocket_rpc_client | INFO | Trying server - ws://localhost:7002/ws
2021-06-27T15:58:12.567187+0300 |fastapi_websocket_rpc.websocket_rpc_client | INFO | RPC connection was refused by server
...
OPAL Log verbosity
In case all you see in the logs is something like this:
2021-06-26T16:39:33.143143+0300 |opal_common.fetcher.fetcher_register | INFO | Fetcher Register loaded
2021-06-26T16:39:33.145399+0300 |opal_client.opa.runner | INFO | Launching opa runner
2021-06-26T16:39:33.146177+0300 |opal_client.opa.runner | INFO | Running OPA inline: opa run --server --addr=:8181 --authentication=off --authorization=off --log-level=info
2021-06-26T16:39:34.155196+0300 |opal_client.opa.runner | INFO | Running OPA initial start callbacks
2021-06-26T16:39:34.156273+0300 |opal_client.data.updater | INFO | Launching data updater
2021-06-26T16:39:34.156519+0300 |opal_client.policy.updater | INFO | Launching policy updater
2021-06-26T16:39:34.156678+0300 |opal_client.data.updater | INFO | Subscribing to topics: ['policy_data']
2021-06-26T16:39:34.157030+0300 |opal_client.policy.updater | INFO | Subscribing to topics: ['policy:.']
It means that you logging verbosity does not include the RPC and Pub/Sub logs. You can control the logging verbosity with the following env vars:
| Env Var Name | Function |
|---|---|
| OPAL_LOG_MODULE_INCLUDE_LIST | A directive to include logs outputted by the modules appearing in the lists. e.g: setting OPAL_LOG_MODULE_INCLUDE_LIST=["uvicorn.protocols.http"] means that all log lines by the module uvicorn.protocols.http will be included in the log. |
| OPAL_LOG_MODULE_EXCLUDE_LIST | If you want less logs, you can ignore logs emitted by these modules. Opposite of OPAL_LOG_MODULE_INCLUDE_LIST. To get all logs and make sure nothing is filtered, set the env var like so: OPAL_LOG_MODULE_EXCLUDE_LIST=[]. |
| OPAL_LOG_LEVEL | Default is INFO, you can set to DEBUG to get more logs, or to higher other log level (less recommended). |
Inline OPA logs
If running OPA inline, OPAL can output the Inline OPA logs in several formats.
| Env Var Name | Function |
|---|---|
| OPAL_INLINE_OPA_LOG_FORMAT | log format of the logs returned by the OPA agent that is being monitored and run by OPAL client. Can be none, minimal, http, or full. The recommended value to set is http (nicer formatting). |