78 lines
3.0 KiB
Bash
78 lines
3.0 KiB
Bash
|
#!/bin/bash
|
|||
|
# скрипт сбора информации о лицензии
|
|||
|
# версия от 27/05/24
|
|||
|
|
|||
|
PLATFORM="";for ONE in vm dci;do test -d /opt/ispsystem/${ONE} && PLATFORM=${ONE};done
|
|||
|
test -z "${PLATFORM}" && (echo "No ISPsystem Software found" && exit)
|
|||
|
LOGDIR="${HOME}/license-logs" && mkdir -p ${LOGDIR}
|
|||
|
PRMT="[$(whoami)@$(hostname -s) ]"
|
|||
|
|
|||
|
newlog() {
|
|||
|
LOGINFO=${LOGDIR}/$1 && date > ${LOGINFO}
|
|||
|
}
|
|||
|
|
|||
|
cmdlog() {
|
|||
|
test -z "${LOGINFO}" && return
|
|||
|
local CMD=$*;(echo "${PRMT} ${CMD}";echo;eval ${CMD};echo) >> ${LOGINFO}
|
|||
|
}
|
|||
|
|
|||
|
newlog hostinfo_${PLATFORM}.log
|
|||
|
cmdlog hostnamectl
|
|||
|
cmdlog cat /etc/*release
|
|||
|
cmdlog cat /etc/astra_version /etc/astra_license
|
|||
|
|
|||
|
cmdlog "${PLATFORM} --version"
|
|||
|
cmdlog lscpu
|
|||
|
cmdlog timedatectl
|
|||
|
cmdlog free -m
|
|||
|
cmdlog df -h --exclude tmpfs --exclude devtmpfs --exclude squashfs --exclude overlay
|
|||
|
cmdlog ip -br a
|
|||
|
cmdlog ip route
|
|||
|
cmdlog "docker exec -it vm_box bash -c 'printenv LICENSE_AUTH_TOKEN'"
|
|||
|
cmdlog docker version
|
|||
|
cmdlog docker ps
|
|||
|
cmdlog "docker inspect --format ' {{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)"
|
|||
|
cmdlog docker exec -it vm_license_1 supervisorctl status
|
|||
|
|
|||
|
|
|||
|
#check internet settings
|
|||
|
cmdlog ping -c 1 google.com
|
|||
|
cmdlog ping -c 1 license6.ispsystem.com
|
|||
|
cmdlog ping -c 1 download.ispsystem.com
|
|||
|
cmdlog cat /etc/resolv.conf
|
|||
|
cmdlog "env | grep proxy"
|
|||
|
cmdlog curl --connect-timeout 60 ifconfig.me
|
|||
|
|
|||
|
#get license container name
|
|||
|
license=$(docker ps --format '{{.Names}}' --filter name=license)
|
|||
|
vault=$(docker ps --format '{{.Names}}' --filter name=vault)
|
|||
|
|
|||
|
cmdlog docker exec -it $vault supervisorctl status
|
|||
|
vault_dir="${LOGDIR}/vault" && mkdir -p ${vault_dir}
|
|||
|
docker cp ${vault}:/var/log/. ${vault_dir}
|
|||
|
|
|||
|
docker exec -it ${license} curl -k -# -X GET -H "internal-auth: on" -H "service: support" -H "content-type: application/json" -o- "http://localhost:1500/vault/v4/value/license_token" >${LOGDIR}/license_info.log 2>&1
|
|||
|
|
|||
|
TOKEN=$(docker exec -it ${license} curl -k -# -X GET -H "internal-auth: on" -H "service: support" -H "content-type: application/json" -o- "http://localhost:1500/vault/v4/value/license_token" | sed 's/{\"value\"\://' | sed 's/}//')
|
|||
|
|
|||
|
curl --connect-timeout 60 -vvv -k "https://license6.ispsystem.com/lic6/check" -H "X-auth-token:$TOKEN" >> ${LOGDIR}/license_info.log 2>&1
|
|||
|
|
|||
|
docker exec -it ${license} curl -k -X GET -H "Internal-Auth: on" -o- "http://127.0.0.1:1500/license/v4/license" >> ${LOGDIR}/license_info.log 2>&1
|
|||
|
lic_dir="${LOGDIR}/${PLATFORM}_license_1" && mkdir -p ${lic_dir}
|
|||
|
|
|||
|
|
|||
|
cp -r /opt/ispsystem/license/. ${lic_dir}
|
|||
|
docker logs ${license} > ${lic_dir}/license_1_stdout.log 2>&1
|
|||
|
journalctl CONTAINER_NAME=${license} > ${lic_dir}/journalctl_license.log 2>&1
|
|||
|
journalctl CONTAINER_NAME=${vault} > ${vault_dir}/journalctl_vault.log 2>&1
|
|||
|
|
|||
|
|
|||
|
cp /opt/ispsystem/${PLATFORM}/config.json ${LOGDIR}
|
|||
|
cp /opt/ispsystem/${PLATFORM}/install.log ${LOGDIR}
|
|||
|
cp /opt/ispsystem/${PLATFORM}/docker-compose.yaml ${LOGDIR}
|
|||
|
|
|||
|
ARCNAME=$(date +"${HOME}/${PLATFORM}_license_logs_%Y_%m_%d_%H_%M_%S.tar.gz")
|
|||
|
tar --remove-files -cvzf ${ARCNAME} -C ${LOGDIR} .
|
|||
|
echo -e "\nPlease send this logs archive to ISP system support\n"
|
|||
|
du -h ${ARCNAME}
|