mdserver-web/plugins/loki/versions/3.5.3/linux.sh

85 lines
2.1 KiB
Bash

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source
sysName=`uname`
SYS_VERSION_ID=`cat /etc/*-release | grep VERSION_ID | awk -F = '{print $2}' | awk -F "\"" '{print $2}'`
VERSION=$2
sysArch=`arch`
sysName=`uname`
ARCH_NAME=amd64
if [ "$sysArch" == "arm64" ];then
ARCH_NAME=arm64
elif [ "$sysArch" == "x86_64" ]; then
ARCH_NAME=amd64
elif [ "$sysArch" == "aarch64" ]; then
ARCH_NAME=aarch64
fi
FILE_TGZ=loki-linux-${ARCH_NAME}.zip
PT_FILE_TGZ=promtail-linux-${ARCH_NAME}.zip
# 检查是否通
Install_App()
{
SourceDir=$serverPath/source/grafana
InstallDir=$serverPath/loki
mkdir -p ${SourceDir}
mkdir -p ${InstallDir}
mkdir -p ${InstallDir}/bin
mkdir -p ${InstallDir}/logs
mkdir -p ${InstallDir}/data/{chunks,rules,boltdb-shipper-active,boltdb-shipper-cache}
if [ ! -f ${SourceDir}/${FILE_TGZ} ];then
wget --no-check-certificate -O ${SourceDir}/${FILE_TGZ} https://github.com/grafana/loki/releases/download/v${VERSION}/${FILE_TGZ}
fi
if [ ! -f ${SourceDir}/${PT_FILE_TGZ} ];then
wget --no-check-certificate -O ${SourceDir}/${PT_FILE_TGZ} https://github.com/grafana/loki/releases/download/v${VERSION}/${PT_FILE_TGZ}
fi
if [ ! -f $InstallDir/bin/loki ];then
cd ${SourceDir} && unzip ${FILE_TGZ}
cp -rf ./loki-linux-${ARCH_NAME} ${InstallDir}/bin/loki
rm -rf ./loki-linux-${ARCH_NAME}
fi
if [ ! -f $InstallDir/bin/promtail ];then
cd ${SourceDir} && unzip ${PT_FILE_TGZ}
cp -rf ./promtail-linux-${ARCH_NAME} ${InstallDir}/bin/promtail
rm -rf ./promtail-linux-${ARCH_NAME}
fi
}
Uninstall_App()
{
echo "卸载成功"
}
# StandardOutput=syslog
# StandardError=syslog
# SyslogIdentifier=loki
# # 资源限制 (根据服务器配置调整)
# MemoryLimit=1G
# CPUQuota=200%
curl -v -H "Content-Type: application/json" -XPOST "http://localhost:3100/loki/api/v1/push" \
-d "{\"streams\": [{\"stream\": {\"test\": \"test\"}, \"values\": [[\"$timestamp\", \"test message\"]]}]}"
action=${1}
if [ "${1}" == 'install' ];then
Install_App
else
Uninstall_App
fi