Okahu

Okahu-Agent Helm chart

Okahu-Agent is a collection server agent used for collecting and reporting metrics.

The okahu-agent Helm chart uses the Helm package manager to bootstrap a Okahu Agent (okahu-agent) deployment on a Kubernetes cluster.

Prerequisites

Download the chart

You can run the following commands to downlaod the chart from the Okahu artifact store.

curl https://okahu.jfrog.io/artifactory/Okahu-lamda-layer/okahu-agent.zip --output okahu-agent-chart.zip; unzip okahu-agent-chart.zip; cd okahu-agent;

Configure the chart

The okahu agent can be configured as key value pairs. Find configurable parameters, their descriptions, and their default values stored in values.yaml. Most of the configuation paramenters can be left as is and we recommend not changing them except for the following few parameters.

Collecting metrics from a Prometheus Metric Endpoint

Parameter Description Default
config.outputs.http.headers.x-api-key okahu api key null
config.enablePrometheus turn on metrics collection from a prometheus metric endpoint false
config.inputPrometheus.prometheus.kubernetes_services list of kubernetes service which are metric targets - "http://test-triton-inference-server:8002/metrics"

Collecting mertrics for Azure Resources

We need to configure the following parameters to collect metrics from Azure OpenAI or Azure ML. To collect metrics from Azure you need to setup azure credentials. This plugin uses client_id, client_secret and tenant_id for authentication (access token), and subscription_id is for accessing Azure resources. This plugin uses client_id, client_secret and tenant_id for authentication (access token), and subscription_id is for accessing Azure resources.

Property Locations

subscription_id can be found under Overview->Essentials in the Azure portal for your application/service. client_id and client_secret can be obtained by registering an application under Azure Active Directory. tenant_id can be found under Azure Active Directory->Properties. resource target resource_id can be found under Overview->Essentials->JSON View (link) in the Azure portal for your application/service.

Parameter Description Default
config.outputs.http.headers.x-api-key okahu api key null
config.enableAzuremonitor turn on metrics collection from azure false
config.inputAzuremonitor.azure_monitor.subscription_id azure subscription id for the target instance null
config.inputAzuremonitor.azure_monitor.client_id Client id for the app registered on Entra / AAD null
config.inputAzuremonitor.azure_monitor.client_secret Secret for the app registered on Entra/AAD null
config.inputAzuremonitor.azure_monitor.tenant_id tenant id for the azure tenant null
config.inputAzuremonitor.azure_monitor.resource_target.resource_id ARM Path for the resource being monitored null

Note Resouce ID can an be found under Overview->Essentials->JSON View in the Azure portal for your application/service. Must start with ‘resourceGroups/…’ (‘/subscriptions/xxxxxxxx-xxxx-xxxx-xxx-xxxxxxxxxxxx’ must be removed from the beginning of Resource ID property value)

Collecting Metrics from AWS

To collect metrics from AWS Bedrock and AWS SageMaker the okahu agent can be configured. To authenticate with AWS we need to create a AWS user and then use its access_key and secret_key.

Parameter Description Default
config.outputs.http.headers.x-api-key okahu api key null
config.enableCloudwatch turn on metrics collection from aws false
config.inputCloudwatch.cloudwatch.region Amazon Region for your AWS resource us-east-1
config.inputCloudwatch.cloudwatch.access_key Access key to use for AWS authentication null
config.inputCloudwatch.cloudwatch.secret_key Secret key to use for AWS authentication null
config.inputCloudwatch.cloudwatch.namespaces List of namespaces to be monitored. Supported :{“AWS/Bedrock”, “AWS/SageMaker”} "AWS/Bedrock" "AWS/SageMaker"

Install the chart

  1. Run the following command, providing a name for your okahu-agent release:

    helm upgrade --install okahu-agent .
    

    Tip: --install can be shortened to -i.

    This command deploys okahu-agent on the Kubernetes cluster using the default configuration. To find parameters you can configure during installation, see Configure the chart.

Tip: To view all Helm chart releases, run helm list.

Uninstall the chart

To uninstall the my-release deployment, use the following command:

helm uninstall okahu-agent

This command removes all Kubernetes components associated with the chart and deletes the release.

Validate there are no ERROR logs

Once the pod is running the Okahu Agent will collect the metrics from the target resouces and ingest them on Okahu cloud, incase of failure the agent will log the ERROR. You can use the kubectl logs commanf to check logs for the agent.

 kubectl  logs okahu-agent-986f99898-cmwjx
2024-02-26T15:22:14Z I! Loading config: /okahu/metric.conf
2024-02-26T15:22:14Z I! Starting Telegraf 1.31.2 brought to you by InfluxData the makers of InfluxDB
2024-02-26T15:22:14Z I! Available plugins: 241 inputs, 9 aggregators, 30 processors, 24 parsers, 60 outputs, 6 secret-stores
2024-02-26T15:22:14Z I! Loaded inputs: prometheus
2024-02-26T15:22:14Z I! Loaded aggregators:
2024-02-26T15:22:14Z I! Loaded processors:
2024-02-26T15:22:14Z I! Loaded secretstores:
2024-02-26T15:22:14Z I! Loaded outputs: http
2024-02-26T15:22:14Z I! Tags enabled: host=okahu-agent-986f99898-cmwjx
2024-02-26T15:22:14Z I! [agent] Config: Interval:10s, Quiet:false, Hostname:"okahu-agent-986f99898-cmwjx", Flush Interval:10s
2024-02-26T15:22:14Z I! [inputs.prometheus] Using the label selector:  and field selector:

#### NO ERRORS SEEEN