根据生产环境要求,需要采集K8Spod 日志,和开发协商之后,pod中应用会将日志输出到容器终端上,这时可以直接用filebeat 采集node节点上面的/var/log/containers/*.log日志,然后将日志输出到kafka消息队列中,经过kafka将日志写入logstash进行格式化,然后由logstash传入elasticsearch存储,然后kibana会连接elasticsearch展示索引数据. 数据传输流程:Pod -> /var/log/containers/*.log…
Filebeat收集Docker日志 1 安装docker [root@node4 ~]# yum install -y yum-utils device-mapper-persistent-data lvm2 [root@node4 ~]# yum update [root@node4 ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo [root@n…
此文记录资源预加载在我们项目的实践,技术难度不算高,重在介绍一套技术方案的诞生与实施,其中都进行了哪些思考,依据什么来做决策,如何进行效果评估,等等.为读者在制定技术方案时提供一定启示. 背景 资源预加载机制很好理解,即在用户访问页面之前,提前加载好相应的资源.这样用户在访问页面的时候,省去了加载资源的时间,达到“秒开”的效果. 资源预加载的方案很多,本文所述的是纯web下的资源预加载,区别于利用容器做资源预置.所以采用的技术都是纯web方案. 另外还有一个背景:项目是SPA架构,webpack…
filebeat收集tomcat日志 1 安装tomcat [root@node4 ~]# yum -y install tomcat tomcat-webapps tomcat-admin-webapps tomcat-docs-webapp tomcat-javadoc [root@node4 ~]# systemctl start tomcat [root@node4 ~]# systemctl status tomcat [root@node4 ~]# netstat -ntlp|gre…
对于 K8S 内的容器日志收集,业内一般有两种常用的方式: 使用 DaemonSet 在每台 Node 上部署一个日志收集容器,用于收集当前 Node 上所有容器挂载到宿主机目录下的日志 使用 SideCar 模式将日志收集容器与业务容器部署在同一个 Pod 中,只收集对应容器的日志 这两种方式各有优缺点.使用 DaemonSet 方式部署日志收集服务,管理起来简单,但是如果一个 Node 中运行了过多的 Pod,那么日志收集会存在性能瓶颈.使用 SideCar 模式可以更有针对性的收集容器的日…
上一篇中我们介绍了为什么需要一个日志系统.为什么云原生下的日志系统如此重要以及云原生下日志系统的建设难点,相信DevOps.SRE.运维等同学看了是深有体会的.本篇文章单刀直入,会直接跟大家分享一下如何在云原生的场景下搭建一个灵活.功能强大.可靠.可扩容的日志系统. 需求驱动架构设计 技术架构,是将产品需求转变为技术实现的过程.对于所有的架构师而言,能够将产品需求分析透彻是非常基本也是非常重要的一点.很多系统刚建成没多久就要被推翻,最根本的原因还是没有解决好产品真正的需求. 我所在的日志服务团队…
本文的试验环境为CentOS 7.3,Kubernetes集群为1.11.2,安装步骤参见kubeadm安装kubernetes V1.11.1 集群 1. 环境准备 Elasticsearch运行时要求vm.max_map_count内核参数必须大于262144,因此开始之前需要确保这个参数正常调整过. $ sysctl -w vm.max_map_count=262144 也可以在ES的的编排文件中增加一个initContainer来修改内核参数,但这要求kublet启动的时候必须添加了--…
技术栈:1. 构建系统2. 镜像仓库3. 宿主机管理4. 配置管理5. 部署6. 编排7. 日志8. 监控 镜像:1. 如果用户像往常一样运行包安装命令,这些永远也用不上的缓存包文件将会永远地成为镜像的一部分.不过,如果用户在同一条安装命令中删除它们,这些文件就会像从未存在过一样.RUN xxxxxxxxxxxxxxxxxxx \&& xxxxxxxxxxxxxxxxxxx \&& rm -f ...... 通过环境变量将配置传递给容器内部 当用户需要包装一个无法通过环境变…
1.生成镜像 见https://www.cnblogs.com/mushou/p/9713741.html,把测试成熟的应用添加到tomcat镜像生成新的镜像,用ansible部署到集群的几点服务器中. 2.部署环境 1)安装docker-ce 2)安装k8s 一定记得kubectl,kubeadm,kubelet,kubernetes-cni版本与使用的kube-apiserver,kube-schedule,etcd,kube-controll-manager的版本相同 见https://w…
1.IP规划 10.0.0.33:filebeat+tomcat,filebeat收集系统日志.tomcat日志发送到logstash 10.0.0.32:logstash,将日志写入reids(input.output) 10.0.0.31:redis,大量缓存数据 10.0.0.30:logstash,从redis取出数据写入es(input.output) 10.0.0.29:es+kibana,es接收传来的数据写入磁盘,等待kibana来取 a.10.0.0.33:filebeat输出…