
Introduction
This page is a place holder for the video Beginner's Guide to Application Performance Monitoring with Elasticsearch.
Testing Applications
All app code found here: App on GitHub
The instructions below are for instrumented applications you can test with in subsequent guides.
OPTIONAL - Install Docker
If you want to use docker instead of installing environments for nodejs, python, go etc... you can install docker with these commands:
apt-get install -y docker.io;
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
NodeJS App
Go to the ~/app/nodejs/app/.env
and update the variables if necessary.
Using Docker
cd ~/app/nodejs/
docker-compose up --build -d
Using NodeJS
Get NodeJS
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
nvm install node
Start the app:
cd ~/app/nodejs
npm install
node index.js
Visit the following urls in your browser:
http://ip.of.app.server:3030/demo
http://ip.of.app.server:3030/path/i-love-food
http://ip.of.app.server:3030/error
Go App
Go to the ~/app/go/app/.env
and update the variables if necessary.
Using Docker
cd ~/app/go/
docker-compose up --build -d
Using Go
Get Go:
curl -OL https://go.dev/dl/go1.24.1.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf go1.24.1.linux-amd64.tar.gz
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
/bin/bash
cd ~/app/go
go get
go run main.go
Visit the following urls in your browser:
http://ip.of.app.server:3031/
http://ip.of.app.server:3031/log/my-logging-golang
http://ip.of.app.server:3031/fatal/my-fatal-go
http://ip.of.app.server:3031/error/my-error-golang
fatal not captured?
Python App
Go to the ~/app/python/app/.env
and update the variables if necessary.
Using Docker
cd ~/app/python/
docker-compose up --build -d
Using Python
Get Python
apt-get install -y python3 python3-pip
Star the app:
cd ~/app/python
pip install -r requirements.txt
uvicorn main:app --host 0.0.0.0 --port 3032 --log-level info --workers 1
Visit http://ip.of.app.server:3032/
and click some of the buttons to send information to the apm service and logging server.