mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-22 12:48:14 -05:00
installer: fix some style issues (#441)
* installer: fix some style issues * translate * translate * replace cf-ns
This commit is contained in:
parent
aa81fc02ab
commit
e7837d8eaf
@ -4,7 +4,7 @@
|
|||||||
<br>
|
<br>
|
||||||
<small><i>LOGO designed by <a href="https://xio.ng" target="_blank">熊大</a> .</i></small>
|
<small><i>LOGO designed by <a href="https://xio.ng" target="_blank">熊大</a> .</i></small>
|
||||||
<br><br>
|
<br><br>
|
||||||
<img alt="GitHub release (with filter)" src="https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&style=for-the-badge&logo=github&label=Dashboard"> <img src="https://img.shields.io/github/v/release/nezhahq/agent?color=brightgreen&label=Agent&style=for-the-badge&logo=github"> <img src="https://img.shields.io/github/actions/workflow/status/nezhahq/agent/agent.yml?label=Agent%20CI&logo=github&style=for-the-badge"> <img src="https://img.shields.io/badge/Installer-v0.19.2-brightgreen?style=for-the-badge&logo=linux">
|
<img alt="GitHub release (with filter)" src="https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&style=for-the-badge&logo=github&label=Dashboard"> <img src="https://img.shields.io/github/v/release/nezhahq/agent?color=brightgreen&label=Agent&style=for-the-badge&logo=github"> <img src="https://img.shields.io/github/actions/workflow/status/nezhahq/agent/agent.yml?label=Agent%20CI&logo=github&style=for-the-badge"> <img src="https://img.shields.io/badge/Installer-v0.20.0-brightgreen?style=for-the-badge&logo=linux">
|
||||||
<br>
|
<br>
|
||||||
<br>
|
<br>
|
||||||
<p>:trollface: <b>Nezha Monitoring: Self-hostable, lightweight, servers and websites monitoring and O&M tool.</b></p>
|
<p>:trollface: <b>Nezha Monitoring: Self-hostable, lightweight, servers and websites monitoring and O&M tool.</b></p>
|
||||||
|
@ -51,7 +51,7 @@ if ([string]::IsNullOrWhiteSpace($agenttag)) {
|
|||||||
#Region判断
|
#Region判断
|
||||||
$ipapi = ""
|
$ipapi = ""
|
||||||
$region = "Unknown"
|
$region = "Unknown"
|
||||||
foreach ($url in ("https://dash.cloudflare.com/cdn-cgi/trace","https://cf-ns.com/cdn-cgi/trace","https://1.0.0.1/cdn-cgi/trace")) {
|
foreach ($url in ("https://dash.cloudflare.com/cdn-cgi/trace","https://developers.cloudflare.com/cdn-cgi/trace","https://1.0.0.1/cdn-cgi/trace")) {
|
||||||
try {
|
try {
|
||||||
$ipapi = Invoke-RestMethod -Uri $url -TimeoutSec 5 -UseBasicParsing
|
$ipapi = Invoke-RestMethod -Uri $url -TimeoutSec 5 -UseBasicParsing
|
||||||
if ($ipapi -match "loc=(\w+)" ) {
|
if ($ipapi -match "loc=(\w+)" ) {
|
||||||
|
@ -12,13 +12,13 @@ NZ_DASHBOARD_PATH="${NZ_BASE_PATH}/dashboard"
|
|||||||
NZ_AGENT_PATH="${NZ_BASE_PATH}/agent"
|
NZ_AGENT_PATH="${NZ_BASE_PATH}/agent"
|
||||||
NZ_DASHBOARD_SERVICE="/etc/systemd/system/nezha-dashboard.service"
|
NZ_DASHBOARD_SERVICE="/etc/systemd/system/nezha-dashboard.service"
|
||||||
NZ_DASHBOARD_SERVICERC="/etc/init.d/nezha-dashboard"
|
NZ_DASHBOARD_SERVICERC="/etc/init.d/nezha-dashboard"
|
||||||
NZ_VERSION="v0.19.2"
|
NZ_VERSION="v0.20.0"
|
||||||
|
|
||||||
red='\033[0;31m'
|
red='\033[0;31m'
|
||||||
green='\033[0;32m'
|
green='\033[0;32m'
|
||||||
yellow='\033[0;33m'
|
yellow='\033[0;33m'
|
||||||
plain='\033[0m'
|
plain='\033[0m'
|
||||||
export PATH=$PATH:/usr/local/bin
|
export PATH="$PATH:/usr/local/bin"
|
||||||
|
|
||||||
os_arch=""
|
os_arch=""
|
||||||
[ -e /etc/os-release ] && grep -i "PRETTY_NAME" /etc/os-release | grep -qi "alpine" && os_alpine='1'
|
[ -e /etc/os-release ] && grep -i "PRETTY_NAME" /etc/os-release | grep -qi "alpine" && os_alpine='1'
|
||||||
@ -45,20 +45,28 @@ check_systemd() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err() {
|
err() {
|
||||||
printf "${red}$*${plain}\n" >&2
|
printf "${red}%s${plain}\n" "$*" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
success() {
|
||||||
|
printf "${green}%s${plain}\n" "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
info() {
|
||||||
|
printf "${yellow}%s${plain}\n" "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
geo_check() {
|
geo_check() {
|
||||||
api_list="https://blog.cloudflare.com/cdn-cgi/trace https://dash.cloudflare.com/cdn-cgi/trace https://cf-ns.com/cdn-cgi/trace"
|
api_list="https://blog.cloudflare.com/cdn-cgi/trace https://dash.cloudflare.com/cdn-cgi/trace https://developers.cloudflare.com/cdn-cgi/trace"
|
||||||
ua="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0"
|
ua="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0"
|
||||||
set -- $api_list
|
set -- "$api_list"
|
||||||
for url in $api_list; do
|
for url in $api_list; do
|
||||||
text="$(curl -A "$ua" -m 10 -s $url)"
|
text="$(curl -A "$ua" -m 10 -s "$url")"
|
||||||
endpoint="$(echo $text | sed -n 's/.*h=\([^ ]*\).*/\1/p')"
|
endpoint="$(echo "$text" | sed -n 's/.*h=\([^ ]*\).*/\1/p')"
|
||||||
if echo $text | grep -qw 'CN'; then
|
if echo "$text" | grep -qw 'CN'; then
|
||||||
isCN=true
|
isCN=true
|
||||||
break
|
break
|
||||||
elif echo $url | grep -q $endpoint; then
|
elif echo "$url" | grep -q "$endpoint"; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -85,9 +93,9 @@ pre_check() {
|
|||||||
## China_IP
|
## China_IP
|
||||||
if [ -z "$CN" ]; then
|
if [ -z "$CN" ]; then
|
||||||
geo_check
|
geo_check
|
||||||
if [ ! -z "$isCN" ]; then
|
if [ -n "$isCN" ]; then
|
||||||
echo "根据geoip api提供的信息,当前IP可能在中国"
|
echo "根据geoip api提供的信息,当前IP可能在中国"
|
||||||
printf "是否选用中国镜像完成安装? [Y/n] (自定义镜像输入 3):"
|
printf "是否选用中国镜像完成安装? [Y/n] (自定义镜像输入 3):"
|
||||||
read -r input
|
read -r input
|
||||||
case $input in
|
case $input in
|
||||||
[yY][eE][sS] | [yY])
|
[yY][eE][sS] | [yY])
|
||||||
@ -180,7 +188,9 @@ installation_check() {
|
|||||||
|
|
||||||
select_version() {
|
select_version() {
|
||||||
if [ -z "$IS_DOCKER_NEZHA" ]; then
|
if [ -z "$IS_DOCKER_NEZHA" ]; then
|
||||||
printf "${yellow}请自行选择您的安装方式(如果你是安装Agent,输入哪个都是一样的):\n1. Docker\n2. 独立安装${plain}\n"
|
info "请自行选择您的安装方式(如果你是安装Agent,输入哪个都是一样的):"
|
||||||
|
info "1. Docker"
|
||||||
|
info "2. 独立安装"
|
||||||
while true; do
|
while true; do
|
||||||
printf "请输入选择 [1-2]:"
|
printf "请输入选择 [1-2]:"
|
||||||
read -r option
|
read -r option
|
||||||
@ -206,7 +216,7 @@ update_script() {
|
|||||||
|
|
||||||
curl -sL https://${GITHUB_RAW_URL}/script/install.sh -o /tmp/nezha.sh
|
curl -sL https://${GITHUB_RAW_URL}/script/install.sh -o /tmp/nezha.sh
|
||||||
new_version=$(grep "NZ_VERSION" /tmp/nezha.sh | head -n 1 | awk -F "=" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
new_version=$(grep "NZ_VERSION" /tmp/nezha.sh | head -n 1 | awk -F "=" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
||||||
if [ ! -n "$new_version" ]; then
|
if [ -z "$new_version" ]; then
|
||||||
echo "脚本获取失败,请检查本机能否链接 https://${GITHUB_RAW_URL}/script/install.sh"
|
echo "脚本获取失败,请检查本机能否链接 https://${GITHUB_RAW_URL}/script/install.sh"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -221,7 +231,7 @@ update_script() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
before_show_menu() {
|
before_show_menu() {
|
||||||
echo && printf "${yellow}* 按回车返回主菜单 *${plain}" && read temp
|
echo && info "* 按回车返回主菜单 *" && read temp
|
||||||
show_menu
|
show_menu
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -231,7 +241,7 @@ install_base() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install_arch() {
|
install_arch() {
|
||||||
printf "${green}提示: ${plain} Arch安装libselinux需添加nezha-agent用户,安装完会自动删除,建议手动检查一次\n"
|
info "提示:Arch安装libselinux需添加nezha-agent用户,安装完会自动删除,建议手动检查一次"
|
||||||
read -r -p "是否安装libselinux? [Y/n] " input
|
read -r -p "是否安装libselinux? [Y/n] " input
|
||||||
case $input in
|
case $input in
|
||||||
[yY][eE][sS] | [yY])
|
[yY][eE][sS] | [yY])
|
||||||
@ -255,11 +265,11 @@ install_arch() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install_soft() {
|
install_soft() {
|
||||||
(command -v yum >/dev/null 2>&1 && sudo yum makecache && sudo yum install $* selinux-policy -y) ||
|
(command -v yum >/dev/null 2>&1 && sudo yum makecache && sudo yum install "$@" selinux-policy -y) ||
|
||||||
(command -v apt >/dev/null 2>&1 && sudo apt update && sudo apt install $* selinux-utils -y) ||
|
(command -v apt >/dev/null 2>&1 && sudo apt update && sudo apt install "$@" selinux-utils -y) ||
|
||||||
(command -v pacman >/dev/null 2>&1 && sudo pacman -Syu $* base-devel --noconfirm && install_arch) ||
|
(command -v pacman >/dev/null 2>&1 && sudo pacman -Syu "$@" base-devel --noconfirm && install_arch) ||
|
||||||
(command -v apt-get >/dev/null 2>&1 && sudo apt-get update && sudo apt-get install $* selinux-utils -y) ||
|
(command -v apt-get >/dev/null 2>&1 && sudo apt-get update && sudo apt-get install "$@" selinux-utils -y) ||
|
||||||
(command -v apk >/dev/null 2>&1 && sudo apk update && sudo apk add $* -f)
|
(command -v apk >/dev/null 2>&1 && sudo apk update && sudo apk add "$@" -f)
|
||||||
}
|
}
|
||||||
|
|
||||||
install_dashboard() {
|
install_dashboard() {
|
||||||
@ -305,12 +315,10 @@ install_dashboard() {
|
|||||||
|
|
||||||
install_dashboard_docker() {
|
install_dashboard_docker() {
|
||||||
if [ ! "$FRESH_INSTALL" = 0 ]; then
|
if [ ! "$FRESH_INSTALL" = 0 ]; then
|
||||||
command -v docker >/dev/null 2>&1
|
if ! command -v docker >/dev/null 2>&1; then
|
||||||
if [ $? != 0 ]; then
|
|
||||||
echo "正在安装 Docker"
|
echo "正在安装 Docker"
|
||||||
if [ "$os_alpine" != 1 ]; then
|
if [ "$os_alpine" != 1 ]; then
|
||||||
curl -sL https://${Get_Docker_URL} | sudo bash -s ${Get_Docker_Argu}
|
if ! curl -sL https://${Get_Docker_URL} | sudo bash -s "${Get_Docker_Argu}"; then
|
||||||
if [ $? != 0 ]; then
|
|
||||||
err "下载脚本失败,请检查本机能否连接 ${Get_Docker_URL}"
|
err "下载脚本失败,请检查本机能否连接 ${Get_Docker_URL}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -321,7 +329,7 @@ install_dashboard_docker() {
|
|||||||
sudo rc-update add docker
|
sudo rc-update add docker
|
||||||
sudo rc-service docker start
|
sudo rc-service docker start
|
||||||
fi
|
fi
|
||||||
printf "${green}Docker${plain} 安装成功\n"
|
success "Docker 安装成功"
|
||||||
installation_check
|
installation_check
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -334,13 +342,11 @@ install_dashboard_standalone() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
selinux() {
|
selinux() {
|
||||||
#判断当前的状态
|
#Check SELinux
|
||||||
command -v getenforce >/dev/null 2>&1
|
if command -v getenforce >/dev/null 2>&1; then
|
||||||
if [ $? -eq 0 ]; then
|
if getenforce | grep '[Ee]nfor'; then
|
||||||
getenforce | grep '[Ee]nfor'
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "SELinux是开启状态,正在关闭!"
|
echo "SELinux是开启状态,正在关闭!"
|
||||||
sudo setenforce 0 &>/dev/null
|
sudo setenforce 0 >/dev/null 2>&1
|
||||||
find_key="SELINUX="
|
find_key="SELINUX="
|
||||||
sudo sed -ri "/^$find_key/c${find_key}disabled" /etc/selinux/config
|
sudo sed -ri "/^$find_key/c${find_key}disabled" /etc/selinux/config
|
||||||
fi
|
fi
|
||||||
@ -355,22 +361,23 @@ install_agent() {
|
|||||||
|
|
||||||
echo "正在获取监控Agent版本号"
|
echo "正在获取监控Agent版本号"
|
||||||
|
|
||||||
local version=$(curl -m 10 -sL "https://api.github.com/repos/nezhahq/agent/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
|
||||||
if [ ! -n "$version" ]; then
|
_version=$(curl -m 10 -sL "https://api.github.com/repos/nezhahq/agent/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
||||||
version=$(curl -m 10 -sL "https://gitee.com/api/v5/repos/naibahq/agent/releases/latest" | awk -F '"' '{for(i=1;i<=NF;i++){if($i=="tag_name"){print $(i+2)}}}')
|
if [ -z "$_version" ]; then
|
||||||
|
_version=$(curl -m 10 -sL "https://gitee.com/api/v5/repos/naibahq/agent/releases/latest" | awk -F '"' '{for(i=1;i<=NF;i++){if($i=="tag_name"){print $(i+2)}}}')
|
||||||
fi
|
fi
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/nezhahq/agent/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/nezhahq\/agent@/v/g')
|
_version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/nezhahq/agent/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/nezhahq\/agent@/v/g')
|
||||||
fi
|
fi
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/nezhahq/agent/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/nezhahq\/agent@/v/g')
|
_version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/nezhahq/agent/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/nezhahq\/agent@/v/g')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
err "获取版本号失败,请检查本机能否链接 https://api.github.com/repos/nezhahq/agent/releases/latest"
|
err "获取版本号失败,请检查本机能否链接 https://api.github.com/repos/nezhahq/agent/releases/latest"
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
echo "当前最新版本为: ${version}"
|
echo "当前最新版本为: ${_version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 哪吒监控文件夹
|
# 哪吒监控文件夹
|
||||||
@ -378,12 +385,13 @@ install_agent() {
|
|||||||
|
|
||||||
echo "正在下载监控端"
|
echo "正在下载监控端"
|
||||||
if [ -z "$CN" ]; then
|
if [ -z "$CN" ]; then
|
||||||
NZ_AGENT_URL="https://${GITHUB_URL}/nezhahq/agent/releases/download/${version}/nezha-agent_linux_${os_arch}.zip"
|
NZ_AGENT_URL="https://${GITHUB_URL}/nezhahq/agent/releases/download/${_version}/nezha-agent_linux_${os_arch}.zip"
|
||||||
else
|
else
|
||||||
NZ_AGENT_URL="https://${GITHUB_URL}/naibahq/agent/releases/download/${version}/nezha-agent_linux_${os_arch}.zip"
|
NZ_AGENT_URL="https://${GITHUB_URL}/naibahq/agent/releases/download/${_version}/nezha-agent_linux_${os_arch}.zip"
|
||||||
fi
|
fi
|
||||||
wget -t 2 -T 60 -O nezha-agent_linux_${os_arch}.zip $NZ_AGENT_URL >/dev/null 2>&1
|
|
||||||
if [ $? != 0 ]; then
|
_cmd="wget -t 2 -T 60 -O nezha-agent_linux_${os_arch}.zip $NZ_AGENT_URL >/dev/null 2>&1"
|
||||||
|
if ! eval "$_cmd"; then
|
||||||
err "Release 下载失败,请检查本机能否连接 ${GITHUB_URL}"
|
err "Release 下载失败,请检查本机能否连接 ${GITHUB_URL}"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -435,14 +443,14 @@ modify_agent_config() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo ${NZ_AGENT_PATH}/nezha-agent service install -s "$nz_grpc_host:$nz_grpc_port" -p $nz_client_secret $args >/dev/null 2>&1
|
_cmd="sudo ${NZ_AGENT_PATH}/nezha-agent service install -s $nz_grpc_host:$nz_grpc_port -p $nz_client_secret $args >/dev/null 2>&1"
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if ! eval "$_cmd"; then
|
||||||
sudo ${NZ_AGENT_PATH}/nezha-agent service uninstall >/dev/null 2>&1
|
sudo "${NZ_AGENT_PATH}"/nezha-agent service uninstall >/dev/null 2>&1
|
||||||
sudo ${NZ_AGENT_PATH}/nezha-agent service install -s "$nz_grpc_host:$nz_grpc_port" -p $nz_client_secret $args >/dev/null 2>&1
|
sudo "${NZ_AGENT_PATH}"/nezha-agent service install -s "$nz_grpc_host:$nz_grpc_port" -p "$nz_client_secret" "$args" >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "Agent配置 ${green}修改成功,请稍等重启生效${plain}\n"
|
success "Agent配置 修改成功,请稍等重启生效"
|
||||||
|
|
||||||
#if [[ $# == 0 ]]; then
|
#if [[ $# == 0 ]]; then
|
||||||
# before_show_menu
|
# before_show_menu
|
||||||
@ -453,10 +461,10 @@ modify_dashboard_config() {
|
|||||||
echo "> 修改面板配置"
|
echo "> 修改面板配置"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
if [ ! -z "$DOCKER_COMPOSE_COMMAND" ]; then
|
if [ -n "$DOCKER_COMPOSE_COMMAND" ]; then
|
||||||
echo "正在下载 Docker 脚本"
|
echo "正在下载 Docker 脚本"
|
||||||
wget -t 2 -T 60 -O /tmp/nezha-docker-compose.yaml https://${GITHUB_RAW_URL}/script/docker-compose.yaml >/dev/null 2>&1
|
_cmd="wget -t 2 -T 60 -O /tmp/nezha-docker-compose.yaml https://${GITHUB_RAW_URL}/script/docker-compose.yaml >/dev/null 2>&1"
|
||||||
if [ $? != 0 ]; then
|
if ! eval "$_cmd"; then
|
||||||
err "下载脚本失败,请检查本机能否连接 ${GITHUB_RAW_URL}"
|
err "下载脚本失败,请检查本机能否连接 ${GITHUB_RAW_URL}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -466,8 +474,8 @@ modify_dashboard_config() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wget -t 2 -T 60 -O /tmp/nezha-config.yaml https://${GITHUB_RAW_URL}/script/config.yaml >/dev/null 2>&1
|
_cmd="wget -t 2 -T 60 -O /tmp/nezha-config.yaml https://${GITHUB_RAW_URL}/script/config.yaml >/dev/null 2>&1"
|
||||||
if [ $? != 0 ]; then
|
if ! eval "$_cmd"; then
|
||||||
err "下载脚本失败,请检查本机能否连接 ${GITHUB_RAW_URL}"
|
err "下载脚本失败,请检查本机能否连接 ${GITHUB_RAW_URL}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -529,18 +537,18 @@ modify_dashboard_config() {
|
|||||||
if [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
||||||
echo "正在下载服务文件"
|
echo "正在下载服务文件"
|
||||||
if [ "$os_alpine" != 1 ]; then
|
if [ "$os_alpine" != 1 ]; then
|
||||||
sudo wget -t 2 -T 60 -O $NZ_DASHBOARD_SERVICE https://${GITHUB_RAW_URL}/script/nezha-dashboard.service >/dev/null 2>&1
|
_download="sudo wget -t 2 -T 60 -O $NZ_DASHBOARD_SERVICE https://${GITHUB_RAW_URL}/script/nezha-dashboard.service >/dev/null 2>&1"
|
||||||
else
|
else
|
||||||
sudo wget -t 2 -T 60 -O $NZ_DASHBOARD_SERVICERC https://${GITHUB_RAW_URL}/script/nezha-dashboard >/dev/null 2>&1
|
_download="sudo wget -t 2 -T 60 -O $NZ_DASHBOARD_SERVICERC https://${GITHUB_RAW_URL}/script/nezha-dashboard >/dev/null 2>&1"
|
||||||
sudo chmod +x $NZ_DASHBOARD_SERVICERC
|
if ! eval "$_download"; then
|
||||||
if [ $? != 0 ]; then
|
|
||||||
err "文件下载失败,请检查本机能否连接 ${GITHUB_RAW_URL}"
|
err "文件下载失败,请检查本机能否连接 ${GITHUB_RAW_URL}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
sudo chmod +x $NZ_DASHBOARD_SERVICERC
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "面板配置 ${green}修改成功,请稍等重启生效${plain}\n"
|
success "面板配置 修改成功,请稍等重启生效"
|
||||||
|
|
||||||
restart_and_update
|
restart_and_update
|
||||||
|
|
||||||
@ -553,14 +561,14 @@ restart_and_update() {
|
|||||||
echo "> 重启并更新面板"
|
echo "> 重启并更新面板"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
restart_and_update_docker
|
_cmd="restart_and_update_docker"
|
||||||
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
||||||
restart_and_update_standalone
|
_cmd="restart_and_update_standalone"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $? = 0 ]; then
|
if eval "$_cmd"; then
|
||||||
printf "${green}哪吒监控 重启成功${plain}\n"
|
success "哪吒监控 重启成功"
|
||||||
printf "默认管理面板地址:${yellow}域名:站点访问端口${plain}\n"
|
info "默认管理面板地址:域名:站点访问端口"
|
||||||
else
|
else
|
||||||
err "重启失败,可能是因为启动时间超过了两秒,请稍后查看日志信息"
|
err "重启失败,可能是因为启动时间超过了两秒,请稍后查看日志信息"
|
||||||
fi
|
fi
|
||||||
@ -571,21 +579,28 @@ restart_and_update() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
restart_and_update_docker() {
|
restart_and_update_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml pull
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml pull
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml up -d
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml up -d
|
||||||
}
|
}
|
||||||
|
|
||||||
restart_and_update_standalone() {
|
restart_and_update_standalone() {
|
||||||
local version=$(curl -m 10 -sL "https://api.github.com/repos/naiba/nezha/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
_version=$(curl -m 10 -sL "https://api.github.com/repos/naiba/nezha/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://gitee.com/api/v5/repos/naibahq/nezha/releases/latest" | awk -F '"' '{for(i=1;i<=NF;i++){if($i=="tag_name"){print $(i+2)}}}')
|
_version=$(curl -m 10 -sL "https://gitee.com/api/v5/repos/naibahq/nezha/releases/latest" | awk -F '"' '{for(i=1;i<=NF;i++){if($i=="tag_name"){print $(i+2)}}}')
|
||||||
fi
|
fi
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
|
_version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
|
||||||
fi
|
fi
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
|
_version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$_version" ]; then
|
||||||
|
err "获取版本号失败,请检查本机能否链接 https://api.github.com/repos/naiba/nezha/releases/latest"
|
||||||
|
return 1
|
||||||
|
else
|
||||||
|
echo "当前最新版本为: ${_version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$os_alpine" != 1 ]; then
|
if [ "$os_alpine" != 1 ]; then
|
||||||
@ -595,20 +610,13 @@ restart_and_update_standalone() {
|
|||||||
sudo rc-service nezha-dashboard stop
|
sudo rc-service nezha-dashboard stop
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -n "$version" ]; then
|
|
||||||
err "获取版本号失败,请检查本机能否链接 https://api.github.com/repos/naiba/nezha/releases/latest"
|
|
||||||
return 1
|
|
||||||
else
|
|
||||||
echo "当前最新版本为: ${version}"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ -z "$CN" ]; then
|
if [ -z "$CN" ]; then
|
||||||
NZ_DASHBOARD_URL="https://${GITHUB_URL}/naiba/nezha/releases/download/$version/dashboard-linux-$os_arch.zip"
|
NZ_DASHBOARD_URL="https://${GITHUB_URL}/naiba/nezha/releases/download/${_version}/dashboard-linux-${os_arch}.zip"
|
||||||
else
|
else
|
||||||
NZ_DASHBOARD_URL="https://${GITHUB_URL}/naibahq/nezha/releases/download/$version/dashboard-linux-$os_arch.zip"
|
NZ_DASHBOARD_URL="https://${GITHUB_URL}/naibahq/nezha/releases/download/${_version}/dashboard-linux-${os_arch}.zip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo wget -qO $NZ_DASHBOARD_PATH/app.zip $NZ_DASHBOARD_URL >/dev/null 2>&1 && sudo unzip -qq -o $NZ_DASHBOARD_PATH/app.zip -d $NZ_DASHBOARD_PATH && sudo mv $NZ_DASHBOARD_PATH/dashboard-linux-$os_arch $NZ_DASHBOARD_PATH/app && sudo rm $NZ_DASHBOARD_PATH/app.zip
|
sudo wget -qO $NZ_DASHBOARD_PATH/app.zip "$NZ_DASHBOARD_URL" >/dev/null 2>&1 && sudo unzip -qq -o $NZ_DASHBOARD_PATH/app.zip -d $NZ_DASHBOARD_PATH && sudo mv $NZ_DASHBOARD_PATH/dashboard-linux-$os_arch $NZ_DASHBOARD_PATH/app && sudo rm $NZ_DASHBOARD_PATH/app.zip
|
||||||
|
|
||||||
if [ "$os_alpine" != 1 ]; then
|
if [ "$os_alpine" != 1 ]; then
|
||||||
sudo systemctl enable nezha-dashboard
|
sudo systemctl enable nezha-dashboard
|
||||||
@ -623,13 +631,13 @@ start_dashboard() {
|
|||||||
echo "> 启动面板"
|
echo "> 启动面板"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
start_dashboard_docker
|
_cmd="start_dashboard_docker"
|
||||||
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
||||||
start_dashboard_standalone
|
_cmd="start_dashboard_standalone"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $? = 0 ]; then
|
if eval "$_cmd"; then
|
||||||
printf "${green}哪吒监控 启动成功${plain}\n"
|
success "哪吒监控 启动成功"
|
||||||
else
|
else
|
||||||
err "启动失败,请稍后查看日志信息"
|
err "启动失败,请稍后查看日志信息"
|
||||||
fi
|
fi
|
||||||
@ -640,7 +648,7 @@ start_dashboard() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
start_dashboard_docker() {
|
start_dashboard_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml up -d
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml up -d
|
||||||
}
|
}
|
||||||
|
|
||||||
start_dashboard_standalone() {
|
start_dashboard_standalone() {
|
||||||
@ -655,13 +663,13 @@ stop_dashboard() {
|
|||||||
echo "> 停止面板"
|
echo "> 停止面板"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
stop_dashboard_docker
|
_cmd="stop_dashboard_docker"
|
||||||
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
||||||
stop_dashboard_standalone
|
_cmd="stop_dashboard_standalone"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $? = 0 ]; then
|
if eval "$_cmd"; then
|
||||||
printf "${green}哪吒监控 停止成功${plain}\n"
|
success "哪吒监控 停止成功"
|
||||||
else
|
else
|
||||||
err "停止失败,请稍后查看日志信息"
|
err "停止失败,请稍后查看日志信息"
|
||||||
fi
|
fi
|
||||||
@ -672,7 +680,7 @@ stop_dashboard() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stop_dashboard_docker() {
|
stop_dashboard_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_dashboard_standalone() {
|
stop_dashboard_standalone() {
|
||||||
@ -698,7 +706,7 @@ show_dashboard_log() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_dashboard_log_docker() {
|
show_dashboard_log_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml logs -f
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml logs -f
|
||||||
}
|
}
|
||||||
|
|
||||||
show_dashboard_log_standalone() {
|
show_dashboard_log_standalone() {
|
||||||
@ -726,7 +734,7 @@ uninstall_dashboard() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uninstall_dashboard_docker() {
|
uninstall_dashboard_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
||||||
sudo rm -rf $NZ_DASHBOARD_PATH
|
sudo rm -rf $NZ_DASHBOARD_PATH
|
||||||
sudo docker rmi -f ghcr.io/naiba/nezha-dashboard >/dev/null 2>&1
|
sudo docker rmi -f ghcr.io/naiba/nezha-dashboard >/dev/null 2>&1
|
||||||
sudo docker rmi -f registry.cn-shanghai.aliyuncs.com/naibahq/nezha-dashboard >/dev/null 2>&1
|
sudo docker rmi -f registry.cn-shanghai.aliyuncs.com/naibahq/nezha-dashboard >/dev/null 2>&1
|
||||||
@ -815,7 +823,7 @@ show_usage() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_menu() {
|
show_menu() {
|
||||||
printf "
|
echo "
|
||||||
${green}哪吒监控管理脚本${plain} ${red}${NZ_VERSION}${plain}
|
${green}哪吒监控管理脚本${plain} ${red}${NZ_VERSION}${plain}
|
||||||
--- https://github.com/naiba/nezha ---
|
--- https://github.com/naiba/nezha ---
|
||||||
${green}1.${plain} 安装面板端
|
${green}1.${plain} 安装面板端
|
||||||
@ -836,7 +844,7 @@ show_menu() {
|
|||||||
————————————————-
|
————————————————-
|
||||||
${green}0.${plain} 退出脚本
|
${green}0.${plain} 退出脚本
|
||||||
"
|
"
|
||||||
echo && printf "请输入选择 [0-13]: " && read -r num
|
printf "请输入选择 [0-13]: " && read -r num
|
||||||
case "${num}" in
|
case "${num}" in
|
||||||
0)
|
0)
|
||||||
exit 0
|
exit 0
|
||||||
@ -940,4 +948,4 @@ if [ $# -gt 0 ]; then
|
|||||||
else
|
else
|
||||||
select_version
|
select_version
|
||||||
show_menu
|
show_menu
|
||||||
fi
|
fi
|
||||||
|
@ -12,13 +12,13 @@ NZ_DASHBOARD_PATH="${NZ_BASE_PATH}/dashboard"
|
|||||||
NZ_AGENT_PATH="${NZ_BASE_PATH}/agent"
|
NZ_AGENT_PATH="${NZ_BASE_PATH}/agent"
|
||||||
NZ_DASHBOARD_SERVICE="/etc/systemd/system/nezha-dashboard.service"
|
NZ_DASHBOARD_SERVICE="/etc/systemd/system/nezha-dashboard.service"
|
||||||
NZ_DASHBOARD_SERVICERC="/etc/init.d/nezha-dashboard"
|
NZ_DASHBOARD_SERVICERC="/etc/init.d/nezha-dashboard"
|
||||||
NZ_VERSION="v0.19.2"
|
NZ_VERSION="v0.20.0"
|
||||||
|
|
||||||
red='\033[0;31m'
|
red='\033[0;31m'
|
||||||
green='\033[0;32m'
|
green='\033[0;32m'
|
||||||
yellow='\033[0;33m'
|
yellow='\033[0;33m'
|
||||||
plain='\033[0m'
|
plain='\033[0m'
|
||||||
export PATH=$PATH:/usr/local/bin
|
export PATH="$PATH:/usr/local/bin"
|
||||||
|
|
||||||
os_arch=""
|
os_arch=""
|
||||||
[ -e /etc/os-release ] && grep -i "PRETTY_NAME" /etc/os-release | grep -qi "alpine" && os_alpine='1'
|
[ -e /etc/os-release ] && grep -i "PRETTY_NAME" /etc/os-release | grep -qi "alpine" && os_alpine='1'
|
||||||
@ -45,20 +45,28 @@ check_systemd() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
err() {
|
err() {
|
||||||
printf "${red}$*${plain}\n" >&2
|
printf "${red}%s${plain}\n" "$*" >&2
|
||||||
|
}
|
||||||
|
|
||||||
|
success() {
|
||||||
|
printf "${green}%s${plain}\n" "$*"
|
||||||
|
}
|
||||||
|
|
||||||
|
info() {
|
||||||
|
printf "${yellow}%s${plain}\n" "$*"
|
||||||
}
|
}
|
||||||
|
|
||||||
geo_check() {
|
geo_check() {
|
||||||
api_list="https://blog.cloudflare.com/cdn-cgi/trace https://dash.cloudflare.com/cdn-cgi/trace https://cf-ns.com/cdn-cgi/trace"
|
api_list="https://blog.cloudflare.com/cdn-cgi/trace https://dash.cloudflare.com/cdn-cgi/trace https://developers.cloudflare.com/cdn-cgi/trace"
|
||||||
ua="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0"
|
ua="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0"
|
||||||
set -- $api_list
|
set -- "$api_list"
|
||||||
for url in $api_list; do
|
for url in $api_list; do
|
||||||
text="$(curl -A "$ua" -m 10 -s $url)"
|
text="$(curl -A "$ua" -m 10 -s "$url")"
|
||||||
endpoint="$(echo $text | sed -n 's/.*h=\([^ ]*\).*/\1/p')"
|
endpoint="$(echo "$text" | sed -n 's/.*h=\([^ ]*\).*/\1/p')"
|
||||||
if echo $text | grep -qw 'CN'; then
|
if echo "$text" | grep -qw 'CN'; then
|
||||||
isCN=true
|
isCN=true
|
||||||
break
|
break
|
||||||
elif echo $url | grep -q $endpoint; then
|
elif echo "$url" | grep -q "$endpoint"; then
|
||||||
break
|
break
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
@ -85,7 +93,7 @@ pre_check() {
|
|||||||
## China_IP
|
## China_IP
|
||||||
if [ -z "$CN" ]; then
|
if [ -z "$CN" ]; then
|
||||||
geo_check
|
geo_check
|
||||||
if [ ! -z "$isCN" ]; then
|
if [ -n "$isCN" ]; then
|
||||||
echo "According to the information provided by various geoip api, the current IP may be in China"
|
echo "According to the information provided by various geoip api, the current IP may be in China"
|
||||||
printf "Will the installation be done with a Chinese Mirror? [Y/n] (Custom Mirror Input 3): "
|
printf "Will the installation be done with a Chinese Mirror? [Y/n] (Custom Mirror Input 3): "
|
||||||
read -r input
|
read -r input
|
||||||
@ -179,7 +187,9 @@ installation_check() {
|
|||||||
|
|
||||||
select_version() {
|
select_version() {
|
||||||
if [ -z "$IS_DOCKER_NEZHA" ]; then
|
if [ -z "$IS_DOCKER_NEZHA" ]; then
|
||||||
printf "${yellow}Select your installation method(Input anything is ok if you are installing agent):\n1. Docker\n2. Standalone${plain}\n"
|
info "Select your installation method(Input anything is ok if you are installing agent):"
|
||||||
|
info "1. Docker"
|
||||||
|
info "2. Standalone"
|
||||||
while true; do
|
while true; do
|
||||||
printf "Please enter [1-2]: "
|
printf "Please enter [1-2]: "
|
||||||
read -r option
|
read -r option
|
||||||
@ -205,7 +215,7 @@ update_script() {
|
|||||||
|
|
||||||
curl -sL https://${GITHUB_RAW_URL}/script/install_en.sh -o /tmp/nezha.sh
|
curl -sL https://${GITHUB_RAW_URL}/script/install_en.sh -o /tmp/nezha.sh
|
||||||
new_version=$(grep "NZ_VERSION" /tmp/nezha.sh | head -n 1 | awk -F "=" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
new_version=$(grep "NZ_VERSION" /tmp/nezha.sh | head -n 1 | awk -F "=" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
||||||
if [ ! -n "$new_version" ]; then
|
if [ -z "$new_version" ]; then
|
||||||
echo "Script failed to get, please check if the network can link https://${GITHUB_RAW_URL}/script/install.sh"
|
echo "Script failed to get, please check if the network can link https://${GITHUB_RAW_URL}/script/install.sh"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -220,7 +230,7 @@ update_script() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
before_show_menu() {
|
before_show_menu() {
|
||||||
echo && printf "${yellow}* Press Enter to return to the main menu *${plain}" && read temp
|
echo && info "* Press Enter to return to the main menu *" && read temp
|
||||||
show_menu
|
show_menu
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,7 +240,7 @@ install_base() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install_arch() {
|
install_arch() {
|
||||||
printf "${green}Info: ${plain} Archlinux needs to add nezha-agent user to install libselinux. It will be deleted automatically after installation. It is recommended to check manually\n"
|
info "Archlinux needs to add nezha-agent user to install libselinux. It will be deleted automatically after installation. It is recommended to check manually"
|
||||||
read -r -p "Do you need to install libselinux? [Y/n] " input
|
read -r -p "Do you need to install libselinux? [Y/n] " input
|
||||||
case $input in
|
case $input in
|
||||||
[yY][eE][sS] | [yY])
|
[yY][eE][sS] | [yY])
|
||||||
@ -254,11 +264,11 @@ install_arch() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install_soft() {
|
install_soft() {
|
||||||
(command -v yum >/dev/null 2>&1 && sudo yum makecache && sudo yum install $* selinux-policy -y) ||
|
(command -v yum >/dev/null 2>&1 && sudo yum makecache && sudo yum install "$@" selinux-policy -y) ||
|
||||||
(command -v apt >/dev/null 2>&1 && sudo apt update && sudo apt install $* selinux-utils -y) ||
|
(command -v apt >/dev/null 2>&1 && sudo apt update && sudo apt install "$@" selinux-utils -y) ||
|
||||||
(command -v pacman >/dev/null 2>&1 && sudo pacman -Syu $* base-devel --noconfirm && install_arch) ||
|
(command -v pacman >/dev/null 2>&1 && sudo pacman -Syu "$@" base-devel --noconfirm && install_arch) ||
|
||||||
(command -v apt-get >/dev/null 2>&1 && sudo apt-get update && sudo apt-get install $* selinux-utils -y) ||
|
(command -v apt-get >/dev/null 2>&1 && sudo apt-get update && sudo apt-get install "$@" selinux-utils -y) ||
|
||||||
(command -v apk >/dev/null 2>&1 && sudo apk update && sudo apk add $* -f)
|
(command -v apk >/dev/null 2>&1 && sudo apk update && sudo apk add "$@" -f)
|
||||||
}
|
}
|
||||||
|
|
||||||
install_dashboard() {
|
install_dashboard() {
|
||||||
@ -304,12 +314,10 @@ install_dashboard() {
|
|||||||
|
|
||||||
install_dashboard_docker() {
|
install_dashboard_docker() {
|
||||||
if [ ! "$FRESH_INSTALL" = 0 ]; then
|
if [ ! "$FRESH_INSTALL" = 0 ]; then
|
||||||
command -v docker >/dev/null 2>&1
|
if ! command -v docker >/dev/null 2>&1; then
|
||||||
if [ $? != 0 ]; then
|
|
||||||
echo "Installing Docker"
|
echo "Installing Docker"
|
||||||
if [ "$os_alpine" != 1 ]; then
|
if [ "$os_alpine" != 1 ]; then
|
||||||
curl -sL https://${Get_Docker_URL} | sudo bash -s ${Get_Docker_Argu}
|
if ! curl -sL https://${Get_Docker_URL} | sudo bash -s "${Get_Docker_Argu}"; then
|
||||||
if [ $? != 0 ]; then
|
|
||||||
err "Script failed to get, please check if the network can link ${Get_Docker_URL}"
|
err "Script failed to get, please check if the network can link ${Get_Docker_URL}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -320,7 +328,7 @@ install_dashboard_docker() {
|
|||||||
sudo rc-update add docker
|
sudo rc-update add docker
|
||||||
sudo rc-service docker start
|
sudo rc-service docker start
|
||||||
fi
|
fi
|
||||||
printf "${green}Docker${plain} installed successfully\n"
|
success "Docker installed successfully"
|
||||||
installation_check
|
installation_check
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
@ -334,12 +342,10 @@ install_dashboard_standalone() {
|
|||||||
|
|
||||||
selinux() {
|
selinux() {
|
||||||
#Check SELinux
|
#Check SELinux
|
||||||
command -v getenforce >/dev/null 2>&1
|
if command -v getenforce >/dev/null 2>&1; then
|
||||||
if [ $? -eq 0 ]; then
|
if getenforce | grep '[Ee]nfor'; then
|
||||||
getenforce | grep '[Ee]nfor'
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
echo "SELinux running, closing now!"
|
echo "SELinux running, closing now!"
|
||||||
sudo setenforce 0 &>/dev/null
|
sudo setenforce 0 >/dev/null 2>&1
|
||||||
find_key="SELINUX="
|
find_key="SELINUX="
|
||||||
sudo sed -ri "/^$find_key/c${find_key}disabled" /etc/selinux/config
|
sudo sed -ri "/^$find_key/c${find_key}disabled" /etc/selinux/config
|
||||||
fi
|
fi
|
||||||
@ -354,30 +360,37 @@ install_agent() {
|
|||||||
|
|
||||||
echo "Obtaining Agent version number"
|
echo "Obtaining Agent version number"
|
||||||
|
|
||||||
local version=$(curl -m 10 -sL "https://api.github.com/repos/nezhahq/agent/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
|
||||||
if [ ! -n "$version" ]; then
|
_version=$(curl -m 10 -sL "https://api.github.com/repos/nezhahq/agent/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
||||||
version=$(curl -m 10 -sL "https://gitee.com/api/v5/repos/naibahq/agent/releases/latest" | awk -F '"' '{for(i=1;i<=NF;i++){if($i=="tag_name"){print $(i+2)}}}')
|
if [ -z "$_version" ]; then
|
||||||
|
_version=$(curl -m 10 -sL "https://gitee.com/api/v5/repos/naibahq/agent/releases/latest" | awk -F '"' '{for(i=1;i<=NF;i++){if($i=="tag_name"){print $(i+2)}}}')
|
||||||
fi
|
fi
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/nezhahq/agent/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/nezhahq\/agent@/v/g')
|
_version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/nezhahq/agent/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/nezhahq\/agent@/v/g')
|
||||||
fi
|
fi
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/nezhahq/agent/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/nezhahq\/agent@/v/g')
|
_version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/nezhahq/agent/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/nezhahq\/agent@/v/g')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
err "Fail to obtaine agent version, please check if the network can link https://api.github.com/repos/nezhahq/agent/releases/latest"
|
err "Fail to obtain agent version, please check if the network can link https://api.github.com/repos/nezhahq/agent/releases/latest"
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
echo "The current latest version is: ${version}"
|
echo "The current latest version is: ${_version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Nezha Monitoring Folder
|
# Nezha Monitoring Folder
|
||||||
sudo mkdir -p $NZ_AGENT_PATH
|
sudo mkdir -p $NZ_AGENT_PATH
|
||||||
|
|
||||||
echo "Downloading Agent"
|
echo "Downloading Agent"
|
||||||
wget -t 2 -T 60 -O nezha-agent_linux_${os_arch}.zip https://${GITHUB_URL}/nezhahq/agent/releases/download/${version}/nezha-agent_linux_${os_arch}.zip >/dev/null 2>&1
|
if [ -z "$CN" ]; then
|
||||||
if [ $? != 0 ]; then
|
NZ_AGENT_URL="https://${GITHUB_URL}/nezhahq/agent/releases/download/${_version}/nezha-agent_linux_${os_arch}.zip"
|
||||||
|
else
|
||||||
|
NZ_AGENT_URL="https://${GITHUB_URL}/naibahq/agent/releases/download/${_version}/nezha-agent_linux_${os_arch}.zip"
|
||||||
|
fi
|
||||||
|
|
||||||
|
_cmd="wget -t 2 -T 60 -O nezha-agent_linux_${os_arch}.zip $NZ_AGENT_URL >/dev/null 2>&1"
|
||||||
|
if ! eval "$_cmd"; then
|
||||||
err "Fail to download agent, please check if the network can link ${GITHUB_URL}"
|
err "Fail to download agent, please check if the network can link ${GITHUB_URL}"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
@ -401,10 +414,10 @@ modify_agent_config() {
|
|||||||
echo "> Modify Agent Configuration"
|
echo "> Modify Agent Configuration"
|
||||||
|
|
||||||
if [ $# -lt 3 ]; then
|
if [ $# -lt 3 ]; then
|
||||||
echo "Please add Agent in the admin panel first, record the secret"
|
echo "Please add Agent in the Dashboard first, record the secret"
|
||||||
printf "Please enter a domain that resolves to the IP where the panel is located (no CDN): "
|
printf "Please enter a domain that resolves to the IP where Dashboard is located (no CDN): "
|
||||||
read -r nz_grpc_host
|
read -r nz_grpc_host
|
||||||
printf "Please enter the panel RPC port (default 5555): "
|
printf "Please enter Dashboard RPC port (default 5555): "
|
||||||
read -r nz_grpc_port
|
read -r nz_grpc_port
|
||||||
printf "Please enter the Agent secret: "
|
printf "Please enter the Agent secret: "
|
||||||
read -r nz_client_secret
|
read -r nz_client_secret
|
||||||
@ -429,14 +442,14 @@ modify_agent_config() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo ${NZ_AGENT_PATH}/nezha-agent service install -s "$nz_grpc_host:$nz_grpc_port" -p $nz_client_secret $args >/dev/null 2>&1
|
_cmd="sudo ${NZ_AGENT_PATH}/nezha-agent service install -s $nz_grpc_host:$nz_grpc_port -p $nz_client_secret $args >/dev/null 2>&1"
|
||||||
|
|
||||||
if [ $? -ne 0 ]; then
|
if ! eval "$_cmd"; then
|
||||||
sudo ${NZ_AGENT_PATH}/nezha-agent service uninstall >/dev/null 2>&1
|
sudo "${NZ_AGENT_PATH}"/nezha-agent service uninstall >/dev/null 2>&1
|
||||||
sudo ${NZ_AGENT_PATH}/nezha-agent service install -s "$nz_grpc_host:$nz_grpc_port" -p $nz_client_secret $args >/dev/null 2>&1
|
sudo "${NZ_AGENT_PATH}"/nezha-agent service install -s "$nz_grpc_host:$nz_grpc_port" -p "$nz_client_secret" "$args" >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "Agent configuration ${green} modified successfully, please wait for agent self-restart to take effect${plain}\n"
|
success "Agent configuration modified successfully, please wait for agent self-restart to take effect"
|
||||||
|
|
||||||
#if [[ $# == 0 ]]; then
|
#if [[ $# == 0 ]]; then
|
||||||
# before_show_menu
|
# before_show_menu
|
||||||
@ -447,21 +460,21 @@ modify_dashboard_config() {
|
|||||||
echo "> Modify Dashboard Configuration"
|
echo "> Modify Dashboard Configuration"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
if [ ! -z "$DOCKER_COMPOSE_COMMAND" ]; then
|
if [ -n "$DOCKER_COMPOSE_COMMAND" ]; then
|
||||||
echo "Download Docker Script"
|
echo "Download Docker Script"
|
||||||
wget -t 2 -T 60 -O /tmp/nezha-docker-compose.yaml https://${GITHUB_RAW_URL}/script/docker-compose.yaml >/dev/null 2>&1
|
_cmd="wget -t 2 -T 60 -O /tmp/nezha-docker-compose.yaml https://${GITHUB_RAW_URL}/script/docker-compose.yaml >/dev/null 2>&1"
|
||||||
if [ $? != 0 ]; then
|
if ! eval "$_cmd"; then
|
||||||
err "Script failed to get, please check if the network can link ${GITHUB_RAW_URL}"
|
err "Script failed to get, please check if the network can link ${GITHUB_RAW_URL}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
err "请手动安装 docker-compose。https://docs.docker.com/compose/install/linux/"
|
err "Please install docker-compose manually. https://docs.docker.com/compose/install/linux/"
|
||||||
before_show_menu
|
before_show_menu
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
wget -t 2 -T 60 -O /tmp/nezha-config.yaml https://${GITHUB_RAW_URL}/script/config.yaml >/dev/null 2>&1
|
_cmd="wget -t 2 -T 60 -O /tmp/nezha-config.yaml https://${GITHUB_RAW_URL}/script/config.yaml >/dev/null 2>&1"
|
||||||
if [ $? != 0 ]; then
|
if ! eval "$_cmd"; then
|
||||||
err "Script failed to get, please check if the network can link ${GITHUB_RAW_URL}"
|
err "Script failed to get, please check if the network can link ${GITHUB_RAW_URL}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
@ -523,18 +536,18 @@ modify_dashboard_config() {
|
|||||||
if [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
||||||
echo "Downloading service file"
|
echo "Downloading service file"
|
||||||
if [ "$os_alpine" != 1 ]; then
|
if [ "$os_alpine" != 1 ]; then
|
||||||
sudo wget -t 2 -T 60 -O $NZ_DASHBOARD_SERVICE https://${GITHUB_RAW_URL}/script/nezha-dashboard.service >/dev/null 2>&1
|
_download="sudo wget -t 2 -T 60 -O $NZ_DASHBOARD_SERVICE https://${GITHUB_RAW_URL}/script/nezha-dashboard.service >/dev/null 2>&1"
|
||||||
else
|
else
|
||||||
sudo wget -t 2 -T 60 -O $NZ_DASHBOARD_SERVICERC https://${GITHUB_RAW_URL}/script/nezha-dashboard >/dev/null 2>&1
|
_download="sudo wget -t 2 -T 60 -O $NZ_DASHBOARD_SERVICERC https://${GITHUB_RAW_URL}/script/nezha-dashboard >/dev/null 2>&1"
|
||||||
sudo chmod +x $NZ_DASHBOARD_SERVICERC
|
if ! eval "$_download"; then
|
||||||
if [ $? != 0 ]; then
|
|
||||||
err "File failed to get, please check if the network can link ${GITHUB_RAW_URL}"
|
err "File failed to get, please check if the network can link ${GITHUB_RAW_URL}"
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
|
sudo chmod +x $NZ_DASHBOARD_SERVICERC
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
printf "Dashboard configuration ${green} modified successfully, please wait for Dashboard self-restart to take effect${plain}\n"
|
success "Dashboard configuration modified successfully, please wait for Dashboard self-restart to take effect"
|
||||||
|
|
||||||
restart_and_update
|
restart_and_update
|
||||||
|
|
||||||
@ -544,17 +557,17 @@ modify_dashboard_config() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
restart_and_update() {
|
restart_and_update() {
|
||||||
echo "> Restart and Update the Panel"
|
echo "> Restart and Update Dashboard"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
restart_and_update_docker
|
_cmd="restart_and_update_docker"
|
||||||
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
||||||
restart_and_update_standalone
|
_cmd="restart_and_update_standalone"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $? = 0 ]; then
|
if eval "$_cmd"; then
|
||||||
printf "${green}Nezha Monitoring Restart Successful${plain}\n"
|
success "Nezha Monitoring Restart Successful"
|
||||||
printf "Default panel address: ${yellow}domain:Site_access_port${plain}\n"
|
info "Default Dashboard address: domain:site_access_port"
|
||||||
else
|
else
|
||||||
err "The restart failed, probably because the boot time exceeded two seconds, please check the log information later"
|
err "The restart failed, probably because the boot time exceeded two seconds, please check the log information later"
|
||||||
fi
|
fi
|
||||||
@ -565,28 +578,28 @@ restart_and_update() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
restart_and_update_docker() {
|
restart_and_update_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml pull
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml pull
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml up -d
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml up -d
|
||||||
}
|
}
|
||||||
|
|
||||||
restart_and_update_standalone() {
|
restart_and_update_standalone() {
|
||||||
local version=$(curl -m 10 -sL "https://api.github.com/repos/naiba/nezha/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
_version=$(curl -m 10 -sL "https://api.github.com/repos/naiba/nezha/releases/latest" | grep "tag_name" | head -n 1 | awk -F ":" '{print $2}' | sed 's/\"//g;s/,//g;s/ //g')
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://gitee.com/api/v5/repos/naibahq/nezha/releases/latest" | awk -F '"' '{for(i=1;i<=NF;i++){if($i=="tag_name"){print $(i+2)}}}')
|
_version=$(curl -m 10 -sL "https://gitee.com/api/v5/repos/naibahq/nezha/releases/latest" | awk -F '"' '{for(i=1;i<=NF;i++){if($i=="tag_name"){print $(i+2)}}}')
|
||||||
fi
|
fi
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
|
_version=$(curl -m 10 -sL "https://fastly.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
|
||||||
fi
|
fi
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
|
_version=$(curl -m 10 -sL "https://gcore.jsdelivr.net/gh/naiba/nezha/" | grep "option\.value" | awk -F "'" '{print $2}' | sed 's/naiba\/nezha@/v/g')
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ ! -n "$version" ]; then
|
if [ -z "$_version" ]; then
|
||||||
err "Fail to obtaine agent version, please check if the network can link https://api.github.com/repos/nezhahq/agent/releases/latest"
|
err "Fail to obtain agent version, please check if the network can link https://api.github.com/repos/nezhahq/agent/releases/latest"
|
||||||
return 1
|
return 1
|
||||||
else
|
else
|
||||||
echo "The current latest version is: ${version}"
|
echo "The current latest version is: ${_version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$os_alpine" != 1 ]; then
|
if [ "$os_alpine" != 1 ]; then
|
||||||
@ -597,12 +610,12 @@ restart_and_update_standalone() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$CN" ]; then
|
if [ -z "$CN" ]; then
|
||||||
NZ_DASHBOARD_URL="https://${GITHUB_URL}/naiba/nezha/releases/download/$version/dashboard-linux-$os_arch.zip"
|
NZ_DASHBOARD_URL="https://${GITHUB_URL}/naiba/nezha/releases/download/${_version}/dashboard-linux-${os_arch}.zip"
|
||||||
else
|
else
|
||||||
NZ_DASHBOARD_URL="https://${GITHUB_URL}/naibahq/nezha/releases/download/$version/dashboard-linux-$os_arch.zip"
|
NZ_DASHBOARD_URL="https://${GITHUB_URL}/naibahq/nezha/releases/download/${_version}/dashboard-linux-${os_arch}.zip"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
sudo wget -qO $NZ_DASHBOARD_PATH/app.zip $NZ_DASHBOARD_URL >/dev/null 2>&1 && sudo unzip -qq -o $NZ_DASHBOARD_PATH/app.zip -d $NZ_DASHBOARD_PATH && sudo mv $NZ_DASHBOARD_PATH/dashboard-linux-$os_arch $NZ_DASHBOARD_PATH/app && sudo rm $NZ_DASHBOARD_PATH/app.zip
|
sudo wget -qO $NZ_DASHBOARD_PATH/app.zip "$NZ_DASHBOARD_URL" >/dev/null 2>&1 && sudo unzip -qq -o $NZ_DASHBOARD_PATH/app.zip -d $NZ_DASHBOARD_PATH && sudo mv $NZ_DASHBOARD_PATH/dashboard-linux-$os_arch $NZ_DASHBOARD_PATH/app && sudo rm $NZ_DASHBOARD_PATH/app.zip
|
||||||
|
|
||||||
if [ "$os_alpine" != 1 ]; then
|
if [ "$os_alpine" != 1 ]; then
|
||||||
sudo systemctl enable nezha-dashboard
|
sudo systemctl enable nezha-dashboard
|
||||||
@ -614,16 +627,16 @@ restart_and_update_standalone() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
start_dashboard() {
|
start_dashboard() {
|
||||||
echo "> Start Panel"
|
echo "> Start Dashboard"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
start_dashboard_docker
|
_cmd="start_dashboard_docker"
|
||||||
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
||||||
start_dashboard_standalone
|
_cmd="start_dashboard_standalone"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $? = 0 ]; then
|
if eval "$_cmd"; then
|
||||||
printf "${green}Nezha Monitoring Start Successful${plain}\n"
|
success "Nezha Monitoring Start Successful"
|
||||||
else
|
else
|
||||||
err "Failed to start, please check the log message later"
|
err "Failed to start, please check the log message later"
|
||||||
fi
|
fi
|
||||||
@ -634,7 +647,7 @@ start_dashboard() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
start_dashboard_docker() {
|
start_dashboard_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml up -d
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml up -d
|
||||||
}
|
}
|
||||||
|
|
||||||
start_dashboard_standalone() {
|
start_dashboard_standalone() {
|
||||||
@ -646,16 +659,16 @@ start_dashboard_standalone() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stop_dashboard() {
|
stop_dashboard() {
|
||||||
echo "> Stop Panel"
|
echo "> Stop Dashboard"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
stop_dashboard_docker
|
_cmd="stop_dashboard_docker"
|
||||||
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
elif [ "$IS_DOCKER_NEZHA" = 0 ]; then
|
||||||
stop_dashboard_standalone
|
_cmd="stop_dashboard_standalone"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ $? = 0 ]; then
|
if eval "$_cmd"; then
|
||||||
printf "${green}Nezha Monitoring Stop Successful${plain}\n"
|
success "Nezha Monitoring Stop Successful"
|
||||||
else
|
else
|
||||||
err "Failed to stop, please check the log message later"
|
err "Failed to stop, please check the log message later"
|
||||||
fi
|
fi
|
||||||
@ -666,7 +679,7 @@ stop_dashboard() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
stop_dashboard_docker() {
|
stop_dashboard_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
||||||
}
|
}
|
||||||
|
|
||||||
stop_dashboard_standalone() {
|
stop_dashboard_standalone() {
|
||||||
@ -678,7 +691,7 @@ stop_dashboard_standalone() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_dashboard_log() {
|
show_dashboard_log() {
|
||||||
echo "> View Panel Log"
|
echo "> View Dashboard Log"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
show_dashboard_log_docker
|
show_dashboard_log_docker
|
||||||
@ -692,7 +705,7 @@ show_dashboard_log() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
show_dashboard_log_docker() {
|
show_dashboard_log_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml logs -f
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml logs -f
|
||||||
}
|
}
|
||||||
|
|
||||||
show_dashboard_log_standalone() {
|
show_dashboard_log_standalone() {
|
||||||
@ -704,7 +717,7 @@ show_dashboard_log_standalone() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uninstall_dashboard() {
|
uninstall_dashboard() {
|
||||||
echo "> Uninstall Panel"
|
echo "> Uninstall Dashboard"
|
||||||
|
|
||||||
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
if [ "$IS_DOCKER_NEZHA" = 1 ]; then
|
||||||
uninstall_dashboard_docker
|
uninstall_dashboard_docker
|
||||||
@ -720,7 +733,7 @@ uninstall_dashboard() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
uninstall_dashboard_docker() {
|
uninstall_dashboard_docker() {
|
||||||
sudo $DOCKER_COMPOSE_COMMAND -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
sudo "$DOCKER_COMPOSE_COMMAND" -f ${NZ_DASHBOARD_PATH}/docker-compose.yaml down
|
||||||
sudo rm -rf $NZ_DASHBOARD_PATH
|
sudo rm -rf $NZ_DASHBOARD_PATH
|
||||||
sudo docker rmi -f ghcr.io/naiba/nezha-dashboard >/dev/null 2>&1
|
sudo docker rmi -f ghcr.io/naiba/nezha-dashboard >/dev/null 2>&1
|
||||||
sudo docker rmi -f registry.cn-shanghai.aliyuncs.com/naibahq/nezha-dashboard >/dev/null 2>&1
|
sudo docker rmi -f registry.cn-shanghai.aliyuncs.com/naibahq/nezha-dashboard >/dev/null 2>&1
|
||||||
@ -791,13 +804,13 @@ show_usage() {
|
|||||||
echo "Nezha Monitor Management Script Usage: "
|
echo "Nezha Monitor Management Script Usage: "
|
||||||
echo "--------------------------------------------------------"
|
echo "--------------------------------------------------------"
|
||||||
echo "./nezha.sh - Show Menu"
|
echo "./nezha.sh - Show Menu"
|
||||||
echo "./nezha.sh install_dashboard - Install Panel"
|
echo "./nezha.sh install_dashboard - Install Dashboard"
|
||||||
echo "./nezha.sh modify_dashboard_config - Modify Panel Configuration"
|
echo "./nezha.sh modify_dashboard_config - Modify Dashboard Configuration"
|
||||||
echo "./nezha.sh start_dashboard - Start Panel"
|
echo "./nezha.sh start_dashboard - Start Dashboard"
|
||||||
echo "./nezha.sh stop_dashboard - Stop Panel"
|
echo "./nezha.sh stop_dashboard - Stop Dashboard"
|
||||||
echo "./nezha.sh restart_and_update - Restart and Update the Panel"
|
echo "./nezha.sh restart_and_update - Restart and Update the Dashboard"
|
||||||
echo "./nezha.sh show_dashboard_log - View Panel Log"
|
echo "./nezha.sh show_dashboard_log - View Dashboard Log"
|
||||||
echo "./nezha.sh uninstall_dashboard - Uninstall Panel"
|
echo "./nezha.sh uninstall_dashboard - Uninstall Dashboard"
|
||||||
echo "--------------------------------------------------------"
|
echo "--------------------------------------------------------"
|
||||||
echo "./nezha.sh install_agent - Install Agent"
|
echo "./nezha.sh install_agent - Install Agent"
|
||||||
echo "./nezha.sh modify_agent_config - Modify Agent Configuration"
|
echo "./nezha.sh modify_agent_config - Modify Agent Configuration"
|
||||||
@ -812,13 +825,13 @@ show_menu() {
|
|||||||
printf "
|
printf "
|
||||||
${green}Nezha Monitor Management Script${plain} ${red}${NZ_VERSION}${plain}
|
${green}Nezha Monitor Management Script${plain} ${red}${NZ_VERSION}${plain}
|
||||||
--- https://github.com/naiba/nezha ---
|
--- https://github.com/naiba/nezha ---
|
||||||
${green}1.${plain} Install Panel
|
${green}1.${plain} Install Dashboard
|
||||||
${green}2.${plain} Modify Panel Configuration
|
${green}2.${plain} Modify Dashbaord Configuration
|
||||||
${green}3.${plain} Start Panel
|
${green}3.${plain} Start Dashboard
|
||||||
${green}4.${plain} Stop Panel
|
${green}4.${plain} Stop Dashboard
|
||||||
${green}5.${plain} Restart and Update the Panel
|
${green}5.${plain} Restart and Update Dashboard
|
||||||
${green}6.${plain} View Panel Log
|
${green}6.${plain} View Dashboard Log
|
||||||
${green}7.${plain} Uninstall Panel
|
${green}7.${plain} Uninstall Dashboard
|
||||||
————————————————-
|
————————————————-
|
||||||
${green}8.${plain} Install Agent
|
${green}8.${plain} Install Agent
|
||||||
${green}9.${plain} Modify Agent Configuration
|
${green}9.${plain} Modify Agent Configuration
|
||||||
@ -934,4 +947,4 @@ if [ $# -gt 0 ]; then
|
|||||||
else
|
else
|
||||||
select_version
|
select_version
|
||||||
show_menu
|
show_menu
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user