View this page in the latest version of Appian. Log Streaming to an OpenTelemetry Endpoint Requires Appian Protect Professional Success Plan or higher Share Share via LinkedIn Reddit Email Copy Link Print On This Page This page applies to Appian Cloud only. It may not reflect the differences with Appian Government Cloud. This page describes how to stream supported Appian Cloud logs, in real time, to an OpenTelemetry Protocol (OTLP) endpoint that you provide. The content applies to Appian Cloud administrators who want to send Appian logs to any observability platform that accepts OTLP over HTTP. Tip: Alternate supported streaming destinations include a self-hosted Amazon S3 bucket or syslog receiver. How log streaming to an OpenTelemetry endpoint works Appian Cloud environments can stream supported logs to any observability platform that accepts the OpenTelemetry Protocol (OTLP) over HTTP and authenticates requests with an API key sent in an HTTP header. Appian sends each log line to the endpoint you specify as an OTLP log record. Log streaming to an OpenTelemetry endpoint operates on a push-based model. Appian Cloud environments send logs directly to the endpoint that you specify as messages are written. You configure the connection in the Admin Console with an endpoint URL and an API key. You do not need an Amazon S3 bucket or other infrastructure between Appian and your tool. Benefits of log streaming to an OpenTelemetry endpoint With this service enabled on your Appian Cloud environment, you can send Appian log data to the observability tools your teams already use. Some benefits of this service include: Direct delivery: Send logs straight to your observability platform without additional middleware or storage. Open standard: OTLP is a vendor-neutral standard, so the same connection works with any platform that accepts OTLP over HTTP. Improved security visibility: Monitor sign-in activity, authorization events, and system changes in your Appian Cloud environment. Correlate Appian log data with data from your other systems. Self-service configuration: Create, test, and update your OTLP connection from the Admin Console. You control the API key in your own platform. Set up your OpenTelemetry endpoint Appian sends log data over HTTPS to the OTLP/HTTP logs endpoint that you provide. Appian encodes each batch of log records as OTLP protobuf. Appian authenticates every request with one HTTP header that carries your API key. You provide the header name in the Authentication header field and its value in the API key field when you enable log streaming. Endpoint requirements The endpoint URL that you enter in the Admin Console must meet these requirements: The URL starts with https://. The host is a fully-qualified DNS name that is reachable from the internet. IP addresses are not allowed. The host does not end in any of the following: .local .internal .svc .cluster.local .localhost The URL does not contain a user name or password. The endpoint presents a valid TLS certificate for its host name. The endpoint accepts OTLP over HTTP (http/protobuf). Endpoints that accept only Google Remote Procedure Call (gRPC) are not supported. OTLP log records Appian sends each log line as one OTLP log record. The whole line is delivered in the body field, and the other fields carry the severity, timestamp, and source of the line. The following tables describe the fields in each log record. OTLP field Description body The full log message, as one string. For details about log content and message format, see the System Logs documentation. severityText The log severity level. Valid values: "critical", "error", "warning", "info", "debug", "trace", "unknown". See Severity. severityNumber The OTLP severity number for the severity level. See Severity. timeUnixNano The time of the log message, in nanoseconds since the Unix epoch (UTC). observedTimeUnixNano The time that Appian processed the log message, in nanoseconds since the Unix epoch (UTC). Attribute log.file.path The full absolute file path of the message's source file. For example: /usr/local/appian/ae/logs/tomcat-stdOut.log. Attribute appian.log.tag The tag that identifies the log. See the Supported logs section for the full list of tags. Each batch of log records also carries these resource attributes, which describe the source of the logs: Resource attribute Description service.name Always appian. host.name The host name of the server that wrote the log message. service.namespace The namespace of your Appian Cloud environment. service.instance.id The numeric ID of your Appian Cloud environment. Appian does not send other infrastructure or account information apart from the site ID and the fixed service name. Severity Appian reads the severity from the log line only for log files that include a severity level on each line, such as Tomcat logs. For all other logs, including all CSV logs, the severity is unknown and severityNumber is 0. Your tool might show these logs without a level, or at a default level such as info. To find a specific log in your tool, filter on appian.log.tag instead of severity. severityText severityNumber critical 18 error 17 warning 13 info 9 debug 5 trace 1 unknown 0 Example log record OTLP/HTTP delivers records as protobuf. The following example shows one record in the OTLP JSON representation, so that you can read the structure. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 { "resourceLogs": [{ "resource": { "attributes": [ {"key": "service.name", "value": {"stringValue": "appian"}}, {"key": "service.namespace", "value": {"stringValue": "12345"}}, {"key": "service.instance.id", "value": {"stringValue": "12345"}}, {"key": "host.name", "value": {"stringValue": "site-subdomain-x"}} ] }, "scopeLogs": [{ "scope": {}, "logRecords": [{ "timeUnixNano": "1773772618631000000", "observedTimeUnixNano": "1773772619000000000", "severityNumber": 13, "severityText": "warning", "body": {"stringValue": "2026-03-17 18:36:58,631 [Appian Timer - 1] WARN com.appiancorp.common.sample.class - 1 services were missing users."}, "attributes": [ {"key": "log.file.path", "value": {"stringValue": "/usr/local/appian/ae/logs/tomcat-stdOut.log"}}, {"key": "appian.log.tag", "value": {"stringValue": "tomcat-logs"}} ] }] }] }] } Supported logs The following logs can be forwarded to your OpenTelemetry endpoint. Select a tab to view the logs for that category. Each row describes a single log file: Log: The name of the log file (without extension), linked to its detailed description. Format: The file extension (.csv or .log). Tag: The unique identifier that Appian sets in the appian.log.tag attribute of each log record. To add or remove logs from streaming, see Enable log streaming to an OpenTelemetry endpoint. AuditingData MetricsPerformance and UsageTroubleshooting Log Format Tag admin_console_audit .csv admin-console-audit: admin_console_user_start_pages_audit .csv admin-console-user-start-pages-a: ai_guardrail_violations .csv ai-guardrail-violations: authz-audit .csv authz-audit: blocked_files .csv blocked-files: deletion .log deletion: design_objects .csv design-objects: event_consumer .csv event-consumer-audit: event_consumer_errors .csv event-consumer-errors: event_consumer_events_errors .csv event-consumer-event-errors: forgot_password_requests .csv forgot-password-requests: group_management1 .csv group_management: login-audit .csv login-audit: logout-audit .csv logout-audit: password_resets .csv password-resets: rdbms-audit .log rdbms-audit: records_usage .csv records-usage: saml_failed_logins .csv saml-failed-logins: secure_credentials_store .csv secure-credentials-store: sites_usage .csv sites-usage: task_errors .csv task-errors: unscanned_files .csv unscanned-files: user_management .csv user-management: username_changes .csv username-changes: 1This tag uses an underscore, instead of a hyphen. Log Format Tag system .csv system-metrics: Log Format Tag ads_call_trace .csv ads-call-trace: ai_input_output_activity .log ai-input-output-activity: artificial_intelligence .csv artificial-intelligence: data_store_details .csv data-store-details: data_store_summary .csv data-store-summary: engine_call_summary .csv engine-call-summary: engine_summary .csv engine-summary: event_consumer_details2 .csv event-consumer-details: event_consumer_summary2 .csv event-consumer-summary: expressions_details .csv expressions-details: integration_details .csv integration-details: interface_query_record_type_details .csv interface-query-record-details: perf_monitor_rdbms3 .csv perf-monitor-rdbms: perf_monitor_rdbms_slow3 .csv perf-monitor-rdbms-slow: query_record_type_details .csv query-record-type-details: sail_details .csv sail-details: sail_summary .csv sail-summary: sail_trace .csv sail-trace: stored_procedures_slow .csv stored-procedures-slow: web_api_details .csv web-api-details: web_api_summary .csv web-api-summary: work_poller_details .csv work-poller-details: 2Event Consumer log volume is highly variable and depends on your Kafka throughput. If you stream Event Consumer performance logs from high-throughput environments, plan your destination's storage, retention, and ingestion capacity accordingly. 3You can only stream the RDBMS audit logs in a single-node or standard 3-node Appian Cloud HA configuration. Customers with other topologies where Appian and the RDBMS are not running on the same server will be unable to stream this log. Log Format Tag appender-gateway .log appender-gateway: appianusername-ipaddress-tomcat-access .log appianusername-ipaddress-tomcat: data-server-client-errors-detail .log data-server-client-error-detail: deployment .log deployment: design_errors .csv design-errors: jidoka .log jidoka: rts-slow-queries-* .log rts-slow-queries: tomcat-access .log tomcat-access: tomcat-stdOut .log tomcat-logs: tomcat-stdOut .log autoscale-tomcat-logs: Prerequisite checklist Prerequisite Description Organizational role Professional or Signature Success Plan order form This offering is available via Professional or Signature Success Plans. Business relationship owner Update to Appian 26.10 or later Appian Cloud environments with this feature enabled must run a supported Appian version per the Support Policy. Authorized Support Contact Get an OTLP/HTTP logs endpoint and API key Confirm that your endpoint meets the endpoint requirements and on your observability platform, find the OTLP/HTTP logs endpoint and create an API key that is allowed to ingest logs. Cloud / infrastructure administrator Open a support case Open a support case requesting that Appian enable this service in your Appian Cloud environment. Your case must provide the fully-qualified domain names of any sites where you want the service enabled. Authorized Support Contact Enable log streaming to an OpenTelemetry endpoint Before you begin, you must complete every item in the Prerequisite checklist section. Once all prerequisites are complete, follow these steps to enable log streaming to an OpenTelemetry endpoint in your Appian Cloud environment. Step 1: Create a new connection in the Admin Console In your Appian Cloud environment, access the Admin Console. In the left navigation bar, click Log Streaming. The Log Streaming page displays. Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to close Click New Connection. The Create Connection dialog displays. In the Connection Type field, select OTLP. Note: You cannot change the connection type after you create the connection. Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to close Step 2: Enter the connection details in the dialog In the OTLP Connection Details section of the Create Connection dialog, complete the following fields: Field Description Name The name to identify this connection. The name can have up to 255 characters. Endpoint URL The HTTPS OTLP/HTTP logs endpoint of your destination. For example, https://otlp.example.com/v1/logs. See the endpoint requirements. Authentication header The name of the HTTP header that carries the API key. The name can contain letters, digits, hyphens, and underscores. API key The complete value of the authentication header. Appian stores the value securely and does not display it again after you save. Appian authenticates to your endpoint with this one static HTTP header. For example, if your platform expects api-key: secret-api-key-value, set Authentication header to api-key and API key to secret-api-key-value. Caution: Treat your API key as a sensitive credential. Do not share it in Appian support cases or other unsecured channels. If the key is compromised, revoke it in your platform and update the value in the Admin Console. Step 3: Test the connection in the dialog In the Create Connection dialog, click Test Connection and confirm it is successful. The configuration cannot be saved unless the connection is valid. Appian sends one test log record to your endpoint. The record has the message Appian Log Streaming connection test at <timestamp> and the severity INFO. This record can appear in your observability platform. If the test fails, the Admin Console displays one of the following messages: Message What to check Endpoint rejected the credential. Check the API key and header name. Verify the API key is correct and active, the header name is correct, and the key has permission to ingest logs. Could not reach the endpoint (not found or unresolvable). Verify endpoint URL is correct, including the path. The host name resolves in public DNS and is reachable. TLS/certificate error connecting to the endpoint. Verify that your endpoint presents a valid, unexpired certificate that matches its host name. Connection timed out. Verify that the endpoint is reachable from the internet and not blocked by a firewall. The endpoint rejected the request. The endpoint URL points to the OTLP/HTTP logs endpoint. The test does not follow redirects, so use the final URL. Step 4: Select logs and save the connection In the Log Selection section, select the minimum log severity level for filtering log output. This setting applies only to log files that contain severity level metadata. Log entries that do not include a severity level, as well as all CSV log files, are streamed in their entirety regardless of the selected severity level. Select the logs you want to stream to the OpenTelemetry endpoint. See Supported logs for a list of available logs. Click CREATE to save your configuration. Confirm log delivery by searching your observability platform for logs with the resource attribute service set to appian. Note: To rotate your API key, create a new key in your observability platform. In the Admin Console, edit the connection, enter the new key in the API key field, and click Test Connection. After you save, log streaming resumes with the new key. Then revoke the old key in your platform. To save any change to an existing connection, the connection must pass Test Connection again, and the test needs the API key, so enter the API key each time you edit a connection. Feedback Was this page helpful? SHARE FEEDBACK Loading...