On-Premise SDK Usage
Starting with Arize AX Self-Hosted release 10.4.0, a single unified endpoint was introduced to simplify ingress configuration. Support for multiple endpoints remains available as an option.
Single Endpoint
With single endpoints, all services are available through a common host address and port:
arize-app.<domain>
Arize AX UI
SDK panda uploads and logs
OTEL traces with GRPC
OTEL traces with HTTP
Flightserver import/export, datasets.
Example with Arize SDK
URI = "https://arize-app.<domain>/v1"
arize_client = Client(space_key=SPACE_KEY, api_key=API_KEY, uri=URI)
Example with Arize SDK with Evaluations
arize_client = Client(
space_key=SPACE_KEY,
api_key=API_KEY,
uri="https://arize-app.<domain>/v1",
host="arize-app.<domain>"
...
)
Example with OTEL traces and GRPC
# gRPC
tracer_provider = register(
endpoint = "https://arize-app.<domain>/v1",
space_id = SPACE_ID,
# transport = Transport.GRPC, # default
...
)
Example with OTEL traces and HTTP
from arize.otel import Transport
tracer_provider = register(
endpoint = "https://arize-app.<domain>/v1/traces",
space_id = SPACE_ID,
transport = Transport.HTTP,
...
)
Example with FlightServer Export Client
client = ArizeExportClient(host='arize-app.<domain>', ...)
Example with FlightServer Datasets Client
client = ArizeDatasetsClient(host='arize-app.<domain>', ...)
Multiple Endpoints
If your deployment is configured with multiple endpoints, it requires different ingress configurations and host addresses:
arize-app.<domain>
Arize AX UI
Auth
Copilot
arize-api.<domain>
SDK panda uploads and logs
arize-otlp.<domain>
OTEL traces (GRPC/HTTP)
arize-flight.<domain>
Flightserver import/export, datasets.
Example with Arize SDK
URI = "https://arize-api.<domain>/v1"
arize_client = Client(space_key=SPACE_KEY, api_key=API_KEY, uri=URI)
Example with OTEL traces and GRPC
tracer_provider = register(
endpoint = "https://arize-otlp.<domain>/v1",
space_id = SPACE_ID,
...
)
Example with OTEL traces and HTTP
tracer_provider = register(
endpoint = "https://arize-otlp.<domain>/v1/traces",
space_id = SPACE_ID,
...
)
Example with FlightServer Export Client
client = ArizeExportClient(host='arize-flight.<domain>', ...)
Example with FlightServer Datasets Client
client = ArizeDatasetsClient(host='arize-flight.<domain>', ...)
Using a Self-Signed Certificate
If your deployment uses a self-signed certificate, follow the relevant instructions below for your deployment type and use case.
Obtaining the Root CA Certificate
First, obtain the root CA certificate that was used to sign your endpoint's certificate. This root certificate is typically managed by the security team and is common across environments.
Extracting the Certificate(If Root CA Certificate is not available)
If providing the root certificate doesn't resolve the issue or is not an option, an alternative approach is to extract the certificate directly from the endpoint and create the cert.pem file.
echo | openssl s_client -showcerts -state -connect <host>:443 -prexit > cert.pem
Arize SDK
Temporarily disable certificate validation (not recommended for production):
arize_client = Client(space_key=SPACE_KEY, api_key=API_KEY, uri=URI, request_verify=False)
Provide the root certificate file:
arize_client = Client(space_key=SPACE_KEY, api_key=API_KEY, uri=URI, request_verify="cert.pem")
OTEL Traces (GRPC/HTTP)
Set the
OTEL_EXPORTER_OTLP_CERTIFICATE
environment variable to your root certificate:os.environ["OTEL_EXPORTER_OTLP_CERTIFICATE"] = "cert.pem"
FlightServer Export/Datasets Client
Set the
GRPC_DEFAULT_SSL_ROOTS_FILE_PATH
environment variable to your root certificate:import certifi os.environ['GRPC_DEFAULT_SSL_ROOTS_FILE_PATH'] = certifi.where()
Last updated
Was this helpful?