dev #3
21
install.sh
21
install.sh
@@ -15,7 +15,7 @@ if [[ $EUID -ne 0 ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo " Installing Server Monitor Agent..."
|
echo " Installing Server Monitor Agent (IPv4 only)..."
|
||||||
|
|
||||||
# ============================
|
# ============================
|
||||||
# CREATE DIR
|
# CREATE DIR
|
||||||
@@ -65,9 +65,9 @@ DISK_TOTAL=$(df -k / | awk 'NR==2 {print $2}')
|
|||||||
DISK_USED=$(df -k / | awk 'NR==2 {print $3}')
|
DISK_USED=$(df -k / | awk 'NR==2 {print $3}')
|
||||||
|
|
||||||
# ============================
|
# ============================
|
||||||
# NETWORK (bytes)
|
# NETWORK (IPv4 ONLY)
|
||||||
# ============================
|
# ============================
|
||||||
IFACE=$(ip route get 1 | awk '{print $5; exit}')
|
IFACE=$(ip -4 route get 1.1.1.1 2>/dev/null | awk '{print $5; exit}')
|
||||||
RX_BYTES=$(cat /sys/class/net/$IFACE/statistics/rx_bytes)
|
RX_BYTES=$(cat /sys/class/net/$IFACE/statistics/rx_bytes)
|
||||||
TX_BYTES=$(cat /sys/class/net/$IFACE/statistics/tx_bytes)
|
TX_BYTES=$(cat /sys/class/net/$IFACE/statistics/tx_bytes)
|
||||||
|
|
||||||
@@ -83,9 +83,9 @@ PROC_ZOMBIE=$(ps axo stat | grep -c Z || true)
|
|||||||
FAILED_SERVICES=$(systemctl --failed --no-legend 2>/dev/null | wc -l)
|
FAILED_SERVICES=$(systemctl --failed --no-legend 2>/dev/null | wc -l)
|
||||||
|
|
||||||
# ============================
|
# ============================
|
||||||
# NETWORK PORTS
|
# NETWORK PORTS (IPv4 ONLY)
|
||||||
# ============================
|
# ============================
|
||||||
OPEN_PORTS=$(ss -lntu | tail -n +2 | wc -l)
|
OPEN_PORTS=$(ss -4 -lntu | tail -n +2 | wc -l)
|
||||||
|
|
||||||
# ============================
|
# ============================
|
||||||
# OS / KERNEL
|
# OS / KERNEL
|
||||||
@@ -100,9 +100,9 @@ ARCH=$(uname -m)
|
|||||||
UPTIME=$(uptime -p)
|
UPTIME=$(uptime -p)
|
||||||
|
|
||||||
# ============================
|
# ============================
|
||||||
# SEND DATA
|
# SEND DATA (IPv4 FORCED)
|
||||||
# ============================
|
# ============================
|
||||||
curl -s -X POST "$API_URL" \
|
curl -4 -s -X POST "$API_URL" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "{
|
-d "{
|
||||||
\"hostname\": \"$HOSTNAME\",
|
\"hostname\": \"$HOSTNAME\",
|
||||||
@@ -139,16 +139,17 @@ EOF
|
|||||||
chmod +x "$AGENT"
|
chmod +x "$AGENT"
|
||||||
|
|
||||||
# ============================
|
# ============================
|
||||||
# CRON (free duplicate)
|
# CRON (no duplicates)
|
||||||
# ============================
|
# ============================
|
||||||
( crontab -l 2>/dev/null | grep -v "$AGENT" || true
|
(
|
||||||
|
crontab -l 2>/dev/null | grep -v "$AGENT" || true
|
||||||
echo "* * * * * $CRON_CMD"
|
echo "* * * * * $CRON_CMD"
|
||||||
) | crontab -
|
) | crontab -
|
||||||
|
|
||||||
# ============================
|
# ============================
|
||||||
# FINAL
|
# FINAL
|
||||||
# ============================
|
# ============================
|
||||||
echo " Server Monitor installed successfully"
|
echo " Server Monitor installed successfully (IPv4 only)"
|
||||||
echo " Reporting to: $API_URL"
|
echo " Reporting to: $API_URL"
|
||||||
echo " Interval: every 1 minute"
|
echo " Interval: every 1 minute"
|
||||||
echo " Test manual: $AGENT"
|
echo " Test manual: $AGENT"
|
||||||
|
|||||||
Reference in New Issue
Block a user