Opni currently features log anomaly detection for Kubernetes.
- AI generated insights on your cluster's log messages
- Control Plane & etcd insights
- Pretrained models maintained by Rancher Labs
- Only for RKE1, RKE2, k3s clusters
- Workload & application insights
- Automatically learns what steady-state is in your workloads & applications
- For any Kubernetes cluster
- Control Plane & etcd insights
- Every log message sent to Opni will be marked as:
- Normal
- Suspicious - Operators may want to investigate
- Anomalous - Operators definitely should investigate
- Open Distro for Elasticsearch + Kibana
- Opni dashboard to consume log insights & explore logs
- Ability to setup & send alerts (slack/email/etc) based on Opni log insights
Please note the opnidemo resource, and opnictl are being deprecated in the next release.
Prerequisites:
- 1 Nvidia GPU required if you want the AI to learn from your workloads
- You will need the nvidia k8s-device-plugin deployed to the cluster. The simplest way is to use the nvidia operator. This blog post contains instructions on how to deploy it. If you are using a host that already has nvidia drivers (e.g an EKS cluster) deploy the Daemonset with the following command:
kubectl create -f https://raw.githubusercontent.com/NVIDIA/k8s-device-plugin/v0.9.0/nvidia-device-plugin.yml
- The Opni manager has alpha support for automatically setting up GPU configuration. For more details please visit the GPU Configuration page.
- You will need the nvidia k8s-device-plugin deployed to the cluster. The simplest way is to use the nvidia operator. This blog post contains instructions on how to deploy it. If you are using a host that already has nvidia drivers (e.g an EKS cluster) deploy the Daemonset with the following command:
- Cert manager installed. This can be installed with the following command:
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.3/cert-manager.yaml
Installation:
- Run the deploy helper script:
OR Deploy the manifests in deploy/manifests in order
curl -sfL https://raw.githubusercontent.com/rancher/opni/main/deploy/deploy.sh | sh -
- Deploy a matching logAdapter from deploy/examples/logAdapters
If you want to deploy the GPU service edit the opnicluster resource and set the deploy option to true
- Download the
opnictl
binary from the latest release - Install Opni using
opnictl
opnictl install opnictl create demo
- Will use your current kubeconfig context
- Cluster Hardware requirements: 4 vCPUs, 16GB RAM
- 1 Nvidia GPU required if you want the AI to learn from your workloads (recommended)
Consume insights from the Opni Dashboard in Kibana. You will need to expose the Kibana service or port forward to do this.
-
What you need: an Ubuntu VM with 4 vCPUs & 16 GB RAM
-
1-command installer that creates an RKE2 cluster with Opni installed and simulates a failure
curl -sfL https://raw.githubusercontent.com/rancher/opni-docs/main/quickstart_files/install_opni.sh | sh -
- Experiment with injecting your own control plane failures to see how Opni responds
- Can refer to these failures and this anomaly injection script as starting points
- Experiment with injecting your own control plane failures to see how Opni responds
The default username and password is admin/admin You must be in the Global Tenant mode if you are not already. Navigate to Dashboard
then Opni Logs Dashboard
.
Watch a demo of Opni:
- v0.1.1 (Released) allows you to view Opni's log anomaly insights only on a demo environment created on a VM
- v0.1.2 (Released) allows you install Opni into your existing Kubernetes cluster and consume log insights from it
- v0.1.3 (August 2021) - only 1 GPU required, changes to the Opni operator, log anomaly optimizations
- v0.2.0 (Fall 2021) will introduce a custom UI, AI applied to metrics, kubernetes events, audit logs, and more!
Copyright (c) 2014-2020 Rancher Labs, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.