sidecar收集Tomcat日志-普通用户
1.logstash配置
[root@k8s pipeline]# cat test.conf input { file { path => ["/tmp/localhost_access_log.2020-01-04.txt"] type => "nodelog" } } filter { } output { elasticsearch { hosts => ["192.168.1.156:9200"] index => "lovelog-%{+YYY.MM.dd}" } stdout { codec => rubydebug } }
2.sidecar的配置
[root@k8s sidecar]# cat tomcat2logstash.yaml apiVersion: v1 kind: Pod metadata: name: tomcat01 spec: containers: - name: tomcat01 image: k8s.gcr.io/tomcat:centos714 volumeMounts: - name: varlog mountPath: /docker_home/local/tomcat8/logs - name: logstash01 image: k8s.gcr.io/eslogstash:7.5.1 volumeMounts: - name: varlog mountPath: /tmp - name: conffile mountPath: /usr/share/logstash/pipeline/ - name: yamlfile mountPath: /usr/share/logstash/config/ volumes: - name: varlog hostPath: path: /tmp/tomcatlog # emptyDir: {} - name: conffile hostPath: path: /usr/share/logstash/pipeline/ - name: yamlfile hostPath: path: /usr/share/logstash/config/
3.以普通用户起tomcat的Dockerfile
[root@k8s mnt]# cat Dockerfile FROM tomcat:8 #创建目录 RUN useradd -m -d /home/logstash -u 2019 -U logstash RUN mkdir -p /docker_home/local #把当前目录下的jdk文件夹添加到镜像 ADD --chown=logstash tomcat8 /docker_home/local/tomcat8 WORKDIR /docker_home/local/tomcat8/webapps USER logstash ENV CATALINA_HOME /docker_home/local/tomcat8 ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin RUN chmod -R 777 /docker_home/local/tomcat8/logs/ EXPOSE 8080 CMD ["/docker_home/local/tomcat8/bin/catalina.sh","run"]
用一个例子来演示会更加清晰
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
2019-01-04 keystore