1、系统日志
1、cat命令:<br>cat /var/log/messages:查看系统日志。<br>cat /var/log/auth.log:查看认证相关的。
2、tail命令:<br>tail -f /var/log/syslog:实时查看syslog日志的尾部内容。<br>tail -n 100 /var/log/apache2/access.log:查看Apache访问日志的最后100行。
3、less命令:<br>less /var/log/syslog:分页查看syslog日志。<br>less +F /var/log/syslog:实时查看syslog日志。
4、grep命令:<br>grep -i error /var/log/syslog:在syslog日志中搜索错误(不区分大小写)。<br>grep 'Failed password' /var/log/secure:在secure日志中搜索失败的登录尝试
5、awk和sed命令:<br>awk '/error/ {print}' /var/log/syslog:使用awk打印包含“error”关键词的行。<br>sed -n '/error/p' /var/log/syslog:使用sed打印包含“error”关键词的行。
6、journalctl命令(针对使用systemd的系统):<br>journalctl:查看整个系统日志。<br>journalctl -u nginx.service:查看特定服务的日志(例如nginx)。<br>journalctl -b -1:查看自上次启动以来的日志。<br><br>
7、find命令:<br>find /var/log -type f -name '*.log' -exec tail -n 10 {} \;:查找并显示所有以.log结尾的文件的内容。
2、Docker日志
未挂载
docker logs命令:<br>docker logs [OPTIONS] CONTAINER:查看指定容器的日志。<br>docker logs -f mycontainer:实时查看容器mycontainer的日志。<br>docker logs --since 30m mycontainer:查看过去30分钟内的日志。<br>docker logs --tail 100 mycontainer:只查看最后100条日志。<br>docker logs --timestamps mycontainer:查看日志时添加时间戳。<br>
docker-compose logs命令(适用于使用Docker Compose管理的容器):<br>docker-compose logs [SERVICE]:查看指定服务的日志。<br>docker-compose logs -f:实时查看所有服务的日志。<br>docker-compose logs --tail 50:查看所有服务的最后50条日志。
docker exec -it mycontainer cat /var/log/app.log----容器中的文件系统日志
已挂载2
docker run -d --name mycontainer -v /path/to/host/log:/var/log/app.log myimage--- 外部挂载的宿主机目录下查看<br>
3、K8s日志
使用kubectl logs命令:<br>kubectl logs POD_NAME:查看指定Pod的日志。<br>kubectl logs -f POD_NAME:实时跟踪Pod的日志输出。<br>kubectl logs POD_NAME -c CONTAINER_NAME:如果Pod中有多个容器,指定容器名称查看日志。<br>kubectl logs --since=1h POD_NAME:查看过去1小时内的日志。<br>kubectl logs --tail=100 POD_NAME:只查看日志的最后100行。
kubectl exec mypod -- cat /var/log/app.log:查看Pod中特定日志文件的内容。
kubectl describe pod podname:获取Pod的详细信息,包括事件和状态变化,
使用日志记录插件:<br>Kubernetes支持多种日志记录插件,如ELK栈、PLG栈、Fluentd、Stackdriver等。这些插件可以帮助您收集、存储和查询集群范围内的日志。
使用Kubernetes Dashboard:<br>Kubernetes Dashboard提供了一个Web界面,可以通过它查看Pod日志。