通过kubectl命令统计搜集统计ingress日志

tee ingress1.sh <<EOF
#!/bin/bash

POD_NAME=nginx-ingress-controller-85fccbb4-52tz5
KUBECTL_PID=`ps -ef | grep nginx-ingress-controller-85fccbb4-52tz5 | grep -v grep | awk '{print $2}'`
DATE=`date +%Y-%m-%d`
#pid为空启动日志搜集,pid不为空kill -9 pid
if [ "$KUBECTL_PID" == "" ]; then

 kubectl logs -f $POD_NAME -n kube-system > /home/logs/52tz5-$DATE 2>&1 &

else

kill -9 $KUBECTL_PID

fi
#pid为空不启动日志搜集,pid不为空启动服务
if [ "$KUBECTL_PID" == "" ]; then

 echo $KUBECTL_PID 0

else

 kubectl logs -f $POD_NAME -n kube-system > /home/logs/52tz5-$DATE 2>&1 &

fi

EOF
#!/bin/bash

POD_NAME=`kubectl get pods -n ingress-nginx | grep ingress-nginx-controller | awk '{print $1}'`
KUBECTL_PID=`ps -ef | grep kubectl | grep -v grep | awk '{print $2}'`
DATE=`date +%Y-%m-%d`


if [ "$KUBECTL_PID" == "" ]; then

for podname in $POD_NAME
do
 kubectl logs -f $podname -n ingress-nginx > /mnt/hgfs/$podname-$DATE 2>&1 &
done


else

for pid in $KUBECTL_PID
do
 kill -9 $pid

done


fi


if [ "$KUBECTL_PID" == "" ]; then

for podname in $POD_NAME
do
echo pid ok
done

else

for pid in $KUBECTL_PID
do
 kubectl logs -f $podname -n ingress-nginx > /mnt/hgfs/$podname-$DATE 2>&1 &
done


fi

基于/var/log/containers下的日志文件收集ingress日志

tee ingress1.sh <<EOF
#!/bin/bash

LOG_PATH=/data/logs/test/ingress
LOG_NAME=ingress-nginx-controller-78bcc5bd68-q5qvd_ingress-nginx_controller-4be8cd1fcb2fefbee0385886825f70923b170e78e283c387887cabff209558f6.log
LOG_PID=`ps -ef | grep $LOG_NAME | grep -v grep | awk '{print $2}'`
DATE=`date +%Y-%m-%d`
#pid为空启动日志搜集,pid不为空kill -9 pid
if [ "$LOG_PID" == "" ]; then

 nohup tail -f /var/log/containers/$LOG_NAME >> $LOG_PATH/nginx.log_$DATE &

else

kill -9 $LOG_PID

fi
#pid为空不启动日志搜集,pid不为空启动服务
if [ "$LOG_PID" == "" ]; then

 echo $KUBECTL_PID ok

else

 nohup tail -f /var/log/containers/$LOG_NAME >> $LOG_PATH/nginx.log_$DATE &

fi

EOF

你可能感兴趣的:(服务器,linux,kubernetes)