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.
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;
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.
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" |
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.
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)
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" |
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
.
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.
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