This demo environment uses AppScope to instrumental containers running in a our demo environment. AppScope provides black box instrumentation that can help you collect performance information and logs from any running Linux process, no matter the runtime. The scope
CLI makes installing AppScope in Kubernetes as simple as a single command. AppScope installs a mututating admission webhook automatically scopes any new container starting up in a namespace with the label scope=enabled
. Read more about AppScope in our docs here, and read more about the Kubernetes feature here (coming).
For this demo environment, you will need Docker, bash
, and a few Kubernetes utilties: kubectl
, kind
and helm
. start.sh
uses kind
to create a Kubernetes environment running in Docker, then we use kubectl
and helm
to install Elasticsearch, Kibana, Prometheus, and Grafana. By default, AppScope will send to Fluentd and Telegraf which will send to Elasticsearch and be scraped by Prometheus, or, you can send the data to Cribl LogStream instead, where we will also do some reshaping of the data in LogStream to make it easy to route it anywhere and to help control volume.
Here are installation instructions for kubectl
, kind
, and helm
:
For MacOS, we recommend Homebrew to make installing these utilities simple.
brew install kind
brew install kubectl
brew install helm
curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl \
&& sudo install kubectl /usr/local/bin && rm kubectl
curl https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3 | bash
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.10.0/kind-linux-amd64 && sudo install kind /usr/local/bin && rm ./kind
To run the demo, simply run start.sh
:
./start.sh
This will stand up Elasticsearch, Kibana, Grafana, Prometheus, Fluentd and Telegraf, all scoped, in Kubernetes. The demo automatically instruments those applications, feeding itself data from scoping itself. How meta! Inside the environment, there are dashboards in Grafana and Kibana that help you see the type of data we collect with AppScope.
Service | URL |
---|---|
Grafana | http://localhost:30003 |
Kibana | http://localhost:30001 |
Prometheus | http://localhost:30002 |
Check out the AppScope dashboards in Grafana and Kibana!