Monitoring
1. Install Docker & Docker Compose
nano install-docker.sh
chmod +x install-docker.sh
#!/bin/bash
export DOCKER_API_VERSION=1.41
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
bash install-docker.sh
2. Install Node-exporter
nano node-exporter.sh
chmod +x node-exporter.sh
#!/usr/bin/env bash
echo -e "\e[1m\e[32m2. Installing node-exporter... \e[0m" && sleep 1
# install node-exporter
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar xvfz node_exporter-*.*-amd64.tar.gz
sudo mv node_exporter-*.*-amd64/node_exporter /usr/local/bin/
rm node_exporter-* -rf
sudo useradd -rs /bin/false node_exporter
sudo tee <<EOF >/dev/null /etc/systemd/system/node_exporter.service
[Unit]
Description=Node Exporter
After=network.target
[Service]
User=node_exporter
Group=node_exporter
Type=simple
ExecStart=/usr/local/bin/node_exporter
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable node_exporter
sudo systemctl start node_exporter
echo -e "\e[1m\e[32mInstallation finished... \e[0m" && sleep 1
echo -e "\e[1m\e[32mPlease make sure ports 9100 and 9300 are open \e[0m" && sleep 1
node-exporter.sh
3. Install Near-Exporter
mkdir $HOME/near-exporter
cd $HOME/near-exporter
nano docker-compose.yml
version: '3.8'
services:
near_exporter:
image: lavender5/near_prometheus_exporter:master
container_name: near_exporter
restart: always
command:
- '/bin/near_exporter'
- '-accountId=${NEAR_ACCOUNT_ID}'
- '-external-rpc=${NEAR_NODE_URL}'
- '-url=${NEAR_NODE_URL}'
ports:
- "9333:9333"
nano .env
# Full pool-id account below
NEAR_ACCOUNT_ID=example.pool.near
NEAR_NODE_URL=http://host.docker.internal:3030
docker compose up -d
docker compose logs -f