Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
92d3fff6e1 | |||
548dc03a78 | |||
9c12e3d800 |
3 changed files with 25 additions and 43 deletions
13
README.md
13
README.md
|
@ -1,7 +1,12 @@
|
||||||
|
<center>
|
||||||
|
|
||||||
# Netweak Agent
|
# Netweak Agent
|
||||||
|
|
||||||
[![netweak.com](https://netweak.com/img/logo/256h/logo-dark.png)](https://netweak.com)
|
Netweak provides simple linux server monitoring. [Create a free account](https://netweak.com/register).
|
||||||
|
|
||||||
Netweak provides simple linux server monitoring. [Create a free account](https://netweak.com/register)
|
|
||||||
|
|
||||||
The Netweak agent sends monitoring data from your linux server to our API on a regular basis.
|
The Netweak agent sends monitoring data from your linux server to our API on a regular basis.
|
||||||
|
|
||||||
|
___
|
||||||
|
|
||||||
|
This fork of Netweak Agent is built for the unofficial Docker Image for Netweak Agent.
|
||||||
|
|
||||||
|
</center>
|
24
agent.sh
24
agent.sh
|
@ -99,8 +99,8 @@ i*86)
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# CPU details
|
# CPU details
|
||||||
cpu_name=$(prep "$(cat /proc/cpuinfo | grep 'model name' | awk -F\: '{ print $2 }')")
|
cpu_name=$(env | grep CPU_NAME | grep -oe '[^=]*$');
|
||||||
cpu_cores=$(prep "$(($(cat /proc/cpuinfo | grep 'model name' | awk -F\: '{ print $2 }' | sed -e :a -e '$!N;s/\n/\|/;ta' | tr -cd \| | wc -c)+1))")
|
cpu_cores=$(env | grep CPU_CORE | grep -oe '[^=]*$');
|
||||||
|
|
||||||
if [ -z "$cpu_name" ]
|
if [ -z "$cpu_name" ]
|
||||||
then
|
then
|
||||||
|
@ -115,23 +115,23 @@ then
|
||||||
cpu_freq=$(prep $(num "$(lscpu | grep 'CPU MHz' | awk -F\: '{ print $2 }' | sed -e 's/^ *//g' -e 's/ *$//g')"))
|
cpu_freq=$(prep $(num "$(lscpu | grep 'CPU MHz' | awk -F\: '{ print $2 }' | sed -e 's/^ *//g' -e 's/ *$//g')"))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# RAM usage (in bytes)
|
# RAM usage
|
||||||
ram_total=$(prep $(num "$(cat /proc/meminfo | grep ^MemTotal: | awk '{ print $2 }')"))
|
ram_total=$(prep $(num "$(cat /proc/meminfo | grep ^MemTotal: | awk '{ print $2 }')"))
|
||||||
ram_free=$(prep $(num "$(cat /proc/meminfo | grep ^MemFree: | awk '{ print $2 }')"))
|
ram_free=$(prep $(num "$(cat /proc/meminfo | grep ^MemFree: | awk '{ print $2 }')"))
|
||||||
ram_cached=$(prep $(num "$(cat /proc/meminfo | grep ^Cached: | awk '{ print $2 }')"))
|
ram_cached=$(prep $(num "$(cat /proc/meminfo | grep ^Cached: | awk '{ print $2 }')"))
|
||||||
ram_buffers=$(prep $(num "$(cat /proc/meminfo | grep ^Buffers: | awk '{ print $2 }')"))
|
ram_buffers=$(prep $(num "$(cat /proc/meminfo | grep ^Buffers: | awk '{ print $2 }')"))
|
||||||
ram_usage=$((($ram_total-($ram_free+$ram_cached+$ram_buffers)) * 1024))
|
ram_usage=$((($ram_total-($ram_free+$ram_cached+$ram_buffers))*1024))
|
||||||
ram_total=$(($ram_total * 1024))
|
ram_total=$(($ram_total*1024))
|
||||||
|
|
||||||
# Swap usage (in bytes)
|
# Swap usage
|
||||||
swap_total=$(prep $(num "$(cat /proc/meminfo | grep ^SwapTotal: | awk '{ print $2 }')"))
|
swap_total=$(prep $(num "$(cat /proc/meminfo | grep ^SwapTotal: | awk '{ print $2 }')"))
|
||||||
swap_free=$(prep $(num "$(cat /proc/meminfo | grep ^SwapFree: | awk '{ print $2 }')"))
|
swap_free=$(prep $(num "$(cat /proc/meminfo | grep ^SwapFree: | awk '{ print $2 }')"))
|
||||||
swap_usage=$((($swap_total-$swap_free) * 1024))
|
swap_usage=$((($swap_total-$swap_free)*1024))
|
||||||
swap_total=$(($swap_total * 1024))
|
swap_total=$(($swap_total*1024))
|
||||||
|
|
||||||
# Disk usage (in bytes)
|
# Disk usage
|
||||||
disk_total=$(prep $(num "$(($(df --output=size,source -B 1 | grep ' /' | awk '{ print $1 }' | sed -e :a -e '$!N;s/\n/+/;ta')))"))
|
disk_total=$(prep $(num "$(($(df -P -B 1 | grep '^/' | awk '{ print $2 }' | sed -e :a -e '$!N;s/\n/+/;ta')))"))
|
||||||
disk_usage=$(prep $(num "$(($(df --output=used,source -B 1 | grep ' /' | awk '{ print $1 }' | sed -e :a -e '$!N;s/\n/+/;ta')))"))
|
disk_usage=$(prep $(num "$(($(df -P -B 1 | grep '^/' | awk '{ print $3 }' | sed -e :a -e '$!N;s/\n/+/;ta')))"))
|
||||||
|
|
||||||
# Disk array
|
# Disk array
|
||||||
disk_array=$(prep "$(df -P -B 1 | grep '^/' | awk '{ print $1" "$2" "$3";" }' | sed -e :a -e '$!N;s/\n/ /;ta' | awk '{ print $0 } END { if (!NR) print "N/A" }')")
|
disk_array=$(prep "$(df -P -B 1 | grep '^/' | awk '{ print $1" "$2" "$3";" }' | sed -e :a -e '$!N;s/\n/ /;ta' | awk '{ print $0 } END { if (!NR) print "N/A" }')")
|
||||||
|
@ -145,7 +145,7 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Network interface
|
# Network interface
|
||||||
nic=$(prep "$(ip route get 1.1.1.1 | grep dev | awk -F'dev' '{ print $2 }' | awk '{ print $1 }')")
|
nic=$(prep "$(ip route get 8.8.8.8 | grep dev | awk -F'dev' '{ print $2 }' | awk '{ print $1 }')")
|
||||||
|
|
||||||
if [ -z $nic ]
|
if [ -z $nic ]
|
||||||
then
|
then
|
||||||
|
|
31
install.sh
31
install.sh
|
@ -14,31 +14,13 @@ then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Required parameter
|
# Parameters required
|
||||||
if [ $# -lt 1 ]
|
if [ $# -lt 1 ]
|
||||||
then
|
then
|
||||||
echo -e "| Usage: bash $0 'token'\n|"
|
echo -e "| Usage: bash $0 'token'\n|"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Exchange JIT token for agent token
|
|
||||||
if [[ $1 == jit-* ]]; then
|
|
||||||
# POST request to retrieve token
|
|
||||||
response=$(curl -s -X POST -d "token=$1" https://api.netweak.com/agent/get-token)
|
|
||||||
|
|
||||||
# Check if there's an error
|
|
||||||
if [[ $? -ne 0 ]]; then
|
|
||||||
echo -e "|\n| Error: Failed to retrieve token from API. Make sure your installation command is correct.\n|"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Extracting token from response
|
|
||||||
token=$(echo "$response" | tr -d '\n')
|
|
||||||
else
|
|
||||||
# Token doesn't start with "jit-", using it as is
|
|
||||||
token=$1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Check if crontab is installed
|
# Check if crontab is installed
|
||||||
if [ ! -n "$(command -v crontab)" ]
|
if [ ! -n "$(command -v crontab)" ]
|
||||||
then
|
then
|
||||||
|
@ -137,15 +119,13 @@ mkdir -p /etc/netweak
|
||||||
mkdir -p /etc/netweak/log
|
mkdir -p /etc/netweak/log
|
||||||
|
|
||||||
# Download agent
|
# Download agent
|
||||||
echo -e "| Downloading agent.sh to /etc/netweak\n|\n| + $(curl -JLso /etc/netweak/agent.sh https://github.com/netweak/agent/raw/main/agent.sh)"
|
echo -e "| Downloading agent.sh to /etc/netweak\n|\n| + $(curl -JLso /etc/netweak/agent.sh https://ark.sudovanilla.org/Korbs/netweak-agent/raw/branch/main/agent.sh)"
|
||||||
|
echo -e "| Downloading heartbeat.sh to /etc/netweak\n|\n| + $(curl -JLso /etc/netweak/heartbeat.sh https://ark.sudovanilla.org/Korbs/netweak-agent/raw/branch/main/heartbeat.sh)"
|
||||||
# Download heartbeat
|
|
||||||
echo -e "| Downloading heartbeat.sh to /etc/netweak\n|\n| + $(curl -JLso /etc/netweak/heartbeat.sh https://github.com/netweak/agent/raw/main/heartbeat.sh)"
|
|
||||||
|
|
||||||
if [ -f /etc/netweak/agent.sh ]
|
if [ -f /etc/netweak/agent.sh ]
|
||||||
then
|
then
|
||||||
# Create auth file
|
# Create auth file
|
||||||
echo "$token" > /etc/netweak/token.conf
|
echo $(env | grep TOKEN | grep -oe '[^=]*$'); > /etc/netweak/token.conf
|
||||||
|
|
||||||
# Create user
|
# Create user
|
||||||
useradd netweak -r -d /etc/netweak -s /bin/false
|
useradd netweak -r -d /etc/netweak -s /bin/false
|
||||||
|
@ -160,9 +140,6 @@ then
|
||||||
crontab -u netweak -l 2>/dev/null | { cat; echo "* * * * * bash /etc/netweak/heartbeat.sh > /etc/netweak/log/cron.log 2>&1"; } | crontab -u netweak -
|
crontab -u netweak -l 2>/dev/null | { cat; echo "* * * * * bash /etc/netweak/heartbeat.sh > /etc/netweak/log/cron.log 2>&1"; } | crontab -u netweak -
|
||||||
crontab -u netweak -l 2>/dev/null | { cat; echo "* * * * * bash /etc/netweak/agent.sh > /etc/netweak/log/cron.log 2>&1"; } | crontab -u netweak -
|
crontab -u netweak -l 2>/dev/null | { cat; echo "* * * * * bash /etc/netweak/agent.sh > /etc/netweak/log/cron.log 2>&1"; } | crontab -u netweak -
|
||||||
|
|
||||||
# Initial run of agent
|
|
||||||
bash /etc/netweak/agent.sh
|
|
||||||
|
|
||||||
# Show success
|
# Show success
|
||||||
echo -e "|\n| Success: The Netweak agent has been installed\n|"
|
echo -e "|\n| Success: The Netweak agent has been installed\n|"
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue