6-6 实现容器内置进程日志收集

本文档介绍了如何在基于tomcat-base的镜像中添加filebeat,用于收集容器内的业务日志。通过部署Deployment和Service,配置logstash,实现了将filebeat收集的日志发送到ELK环境。在Kafka、Elasticsearch和Kibana中观察并分析filebeat收集的日志数据。
摘要由CSDN通过智能技术生成

前言

在前面我们准备好日志收集环境 6-4 搭建ELK及Kafka日志收集环境

也介绍了日志源可以通过node节点收集,或者使用sidecar容器收集。

还有一种日志源可以通过在容器内置日志收集服务进程,收集当前容器的业务容器日志等。该容器内置进程为filebeat。



镜像准备

基于tomcat-base镜像,添加并安装filebeat软件。

# tomcat-filebeat
FROM easzlab.io.local:5000/myhub/tomcat-base:v8.5.43 

ADD catalina.sh /apps/tomcat/bin/catalina.sh
ADD server.xml /apps/tomcat/conf/server.xml
ADD myapp.tar.gz /data/tomcat/webapps/myapp/
ADD run_tomcat.sh /apps/tomcat/bin/run_tomcat.sh
ADD filebeat.yml /etc/filebeat/filebeat.yml 
RUN chown  -R tomcat.tomcat /data/ /apps/
ADD filebeat-7.12.1-x86_64.rpm /tmp/
RUN cd /tmp && yum localinstall -y filebeat-7.12.1-x86_64.rpm

EXPOSE 8080 8443

CMD ["/apps/tomcat/bin/run_tomcat.sh"]
nerdctl build -t easzlab.io.local:5000/myhub/tomcat-filebeat:v1 .
nerdctl push easzlab.io.local:5000/myhub/tomcat-filebeat:v1

集群角色

为filebeat添加集群角色并绑定:

---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: filebeat-serviceaccount-clusterrole
  labels:
    k8s-app: filebeat-serviceaccount-clusterrole
rules:
- apiGroups: [""] # "" indicates the core API group
  resources:
  - namespaces
  - pods
  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值