47 lines
2.2 KiB
Bash
47 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
if [[ -n "$RECEIVING_IP" && -n "$RECEIVING_USER" && -n "$RECEIVING_PORT" ]]; then
|
|
if ssh -p $RECEIVING_PORT -q -o BatchMode=yes -o ConnectTimeout=5 $RECEIVING_USER@$RECEIVING_IP exit; then
|
|
install_pkg ufw
|
|
node_exporter_port="9100"
|
|
ufw allow $node_exporter_port
|
|
|
|
node_exporter_version="1.8.1"
|
|
wget https://github.com/prometheus/node_exporter/releases/download/v${node_exporter_version}/node_exporter-${node_exporter_version}.linux-amd64.tar.gz
|
|
tar tar xvfz node_exporter-*.*-amd64.tar.gz
|
|
rm node_exporter-*.*-amd64.tar.gz
|
|
|
|
install_pkg tmux
|
|
tmux new-session -d -s node-exporter
|
|
tmux send-keys -t node-exporter "cd node_exporter-*.*-amd64 && ./node_exporter" C-m
|
|
|
|
get_ip
|
|
|
|
ssh -p $RECEIVING_PORT $RECEIVING_USER@$RECEIVING_IP << EOF
|
|
if command -v yq >/dev/null 2>&1; then
|
|
cd prometheus/prometheus
|
|
|
|
if [ -z "$(yq '.scrape_configs[] | select(.job_name == "node-exporter") | .static_configs[] | select(.targets[] == "${ip}:${node_exporter_port}")' prometheus.yml)" ]; then
|
|
yq '(.scrape_configs[] | select(.job_name == "node-exporter") | .static_configs) += [{"targets": ["${ip}:${node_exporter_port}"]}]' prometheus.yml -y > prometheus.temp.yml && mv prometheus.temp.yml prometheus.yml
|
|
else
|
|
echo "the node exporter config is already operational"
|
|
fi
|
|
|
|
if [ -z "$(yq '.scrape_configs[] | select(.job_name == "blackbox-http") | .static_configs[] | select(.targets[] == "https://${DOMAIN_NAME}")' prometheus.yml)" ]; then
|
|
yq '(.scrape_configs[] | select(.job_name == "blackbox-http") | .static_configs) += [{"targets": ["https://${DOMAIN_NAME}"]}]' prometheus.yml -y > prometheus.temp.yml && mv prometheus.temp.yml prometheus.yml
|
|
else
|
|
echo "the html prober config is already operational"
|
|
fi
|
|
else
|
|
echo "yq is not installed on the receiving server."
|
|
fi
|
|
|
|
EOF
|
|
else
|
|
. bin/setup_ssh_keys.sh
|
|
. bin/setup_node_exporter
|
|
fi
|
|
else
|
|
. bin/setup_ssh_keys.sh
|
|
. bin/setup_node_exporter
|
|
fi |