get-logs/lic_log_new.sh

115 lines
4.3 KiB
Bash
Raw Permalink Normal View History

2024-11-27 14:00:51 +00:00
#!/bin/bash
# скрипт сбора информации о лицензии
2025-02-07 15:09:27 +00:00
# версия от 07/02/25
2024-11-27 14:00:51 +00:00
PLATFORM="";for ONE in vm dci;do test -d /opt/ispsystem/${ONE} && PLATFORM=${ONE};done
test -z "${PLATFORM}" && (echo "No ISPsystem Software found" && exit)
2025-02-07 15:09:27 +00:00
LOGDIR="${HOME}/license-logs" && rm -rf ${LOGDIR} && mkdir -p ${LOGDIR}
2024-11-27 14:00:51 +00:00
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}
}
2025-02-07 15:09:27 +00:00
#about host
2024-11-27 14:00:51 +00:00
newlog hostinfo_${PLATFORM}.log
cmdlog hostnamectl
2025-02-07 15:09:27 +00:00
#about astra
if [ -e '/etc/astra_version' ]; then
cmdlog cat /etc/*release
cmdlog cat /etc/astra_version /etc/astra_license
astra-modeswitch getname
fi
#about host
2024-11-27 14:00:51 +00:00
cmdlog lscpu
cmdlog timedatectl
cmdlog free -m
cmdlog df -h --exclude tmpfs --exclude devtmpfs --exclude squashfs --exclude overlay
2025-02-07 15:09:27 +00:00
cmdlog lsblk
cmdlog cat /etc/fstab
cmdlog cat /etc/hosts
2024-11-27 14:00:51 +00:00
cmdlog ip -br a
cmdlog ip route
2025-02-07 15:09:27 +00:00
#about docker
2024-11-27 14:00:51 +00:00
cmdlog "docker exec -it vm_box bash -c 'printenv LICENSE_AUTH_TOKEN'"
2025-02-07 15:09:27 +00:00
cmdlog "docker exec -it vm_box bash -c 'env | grep -i proxy'"
2024-11-27 14:00:51 +00:00
cmdlog docker version
2025-02-07 15:09:27 +00:00
cmdlog docker info
cmdlog docker system df
cmdlog docker images
2024-11-27 14:00:51 +00:00
cmdlog docker ps
cmdlog "docker inspect --format ' {{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)"
#check internet settings
2025-02-07 15:09:27 +00:00
cmdlog ping -c 3 ya.ru
cmdlog ping -c 3 license6.ispsystem.com
cmdlog ping -c 3 download.ispsystem.com
cmdlog curl -k -o /dev/null https://speedtest.selectel.ru/10MB
2024-11-27 14:00:51 +00:00
cmdlog cat /etc/resolv.conf
2025-02-07 15:09:27 +00:00
cmdlog "env | grep -i proxy"
cmdlog curl -s --connect-timeout 60 ifconfig.me
installer=$(which ${PLATFORM})
cmdlog stat $installer
cmdlog md5sum $installer
2024-11-27 14:00:51 +00:00
2025-02-07 15:09:27 +00:00
cmdlog "${PLATFORM} -v"
cmdlog "systemctl status ${PLATFORM}"
2024-11-27 14:00:51 +00:00
2025-02-07 15:09:27 +00:00
#about vault
vault=$(docker ps --format '{{.Names}}' --filter name=vault)
2024-11-27 14:00:51 +00:00
vault_dir="${LOGDIR}/vault" && mkdir -p ${vault_dir}
2025-02-07 15:09:27 +00:00
cmdlog docker exec -it ${vault} supervisorctl status
journalctl CONTAINER_NAME=${vault} > ${vault_dir}/journalctl_vault.log 2>&1
2024-11-27 14:00:51 +00:00
docker cp ${vault}:/var/log/. ${vault_dir}
2025-02-07 15:09:27 +00:00
#about license
license=$(docker ps --format '{{.Names}}' --filter name=license)
cmdlog docker exec -it ${license} supervisorctl status
2024-11-27 14:00:51 +00:00
2025-02-07 15:09:27 +00:00
lic_dir="${LOGDIR}/${PLATFORM}_license_files" && mkdir -p ${lic_dir}
2024-11-27 14:00:51 +00:00
2025-02-07 15:09:27 +00:00
echo -e "\nlicense logs\n" >> ${LOGDIR}/license_info.log
${PLATFORM} license logs >> ${LOGDIR}/license_logs.log 2>&1
${PLATFORM} license info >> ${LOGDIR}/license_info.log 2>&1
${PLATFORM} license check >> ${LOGDIR}/license_info.log 2>&1
2024-11-27 14:00:51 +00:00
2025-02-07 15:09:27 +00:00
cp -r /opt/ispsystem/license/. ${lic_dir}
2024-11-27 14:00:51 +00:00
2025-02-07 15:09:27 +00:00
docker cp ${license}:/var/log/. ${lic_dir}
2024-11-27 14:00:51 +00:00
2025-02-07 15:09:27 +00:00
echo -e "\nvault/v4/value/license_token\n" >> ${LOGDIR}/license_info.log
docker exec -it ${license} curl --connect-timeout 60 -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" 2>&1 | sed 's/{\"value\"\://' | sed 's/}//')
echo -e "\ncurl https://license6.ispsystem.com/lic6/check\n" >> ${LOGDIR}/license_info.log 2>&1
curl --connect-timeout 60 -vvv -k "https://license6.ispsystem.com/lic6/check" -H "X-auth-token:$TOKEN" >> ${LOGDIR}/license_info.log 2>&1
echo -e "\ncurl http://127.0.0.1:1500/license/v4/license\n" >> ${LOGDIR}/license_info.log
docker exec -it ${license} curl --connect-timeout 60 -k -X GET -H "Internal-Auth: on" -o- "http://127.0.0.1:1500/license/v4/license" >> ${LOGDIR}/license_info.log 2>&1
echo -e "\ncurl http://127.0.0.1:1500/vm/v3/get_license\n" >> ${LOGDIR}/license_info.log
docker exec -it ${license} curl --connect-timeout 60 -k -H GET -H "Internal-Auth: on" -o- "http://127.0.0.1:1500/vm/v3/get_license" >> ${LOGDIR}/license_info.log 2>&1
2024-11-27 14:00:51 +00:00
journalctl CONTAINER_NAME=${license} > ${lic_dir}/journalctl_license.log 2>&1
2025-02-07 15:09:27 +00:00
docker logs ${license} > ${lic_dir}/license_stdout.log 2>&1
2024-11-27 14:00:51 +00:00
cp /opt/ispsystem/${PLATFORM}/config.json ${LOGDIR}
cp /opt/ispsystem/${PLATFORM}/install.log ${LOGDIR}
cp /opt/ispsystem/${PLATFORM}/docker-compose.yaml ${LOGDIR}
2025-02-07 15:09:27 +00:00
ARCNAME=$(date +"${HOME}/license-logs-%Y_%m_%d_%H_%M_%S.tar.gz")
tar -cvzf ${ARCNAME} -C ${LOGDIR} .
echo -e "\nPlease send this logs archive to technical support\n"
2024-11-27 14:00:51 +00:00
du -h ${ARCNAME}