Chinaunix首页 | 论坛 | 博客
  • 博客访问: 350406
  • 博文数量: 52
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 577
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-27 14:21
个人简介

知道自己该干嘛,知道自己能干嘛

文章分类

全部博文(52)

文章存档

2019年(1)

2018年(8)

2017年(2)

2016年(11)

2015年(3)

2014年(10)

2013年(17)

我的朋友

分类: 系统运维

2018-01-26 11:30:40


          当我们把业务跑在了k8s里,日志的收集就不像以往那么简单了,在比较了集中日志收集方案后,我决定采用 volume 共享方式是比较合适的,具体方式就是 app 的日志目录,挂载 volume, 再把此 volume挂载到 filebeat 内,这样就解决了日志来源的问题,就可以发送至es集群,kibana展现,啥都不说了直接上 yaml.

deployment.yaml

  1. apiVersion: extensions/v1beta1
  2. kind: Deployment
  3. metadata:
  4.   name: app-heartbeat-filebeat
  5.   namespace: default
  6. spec:
  7.   replicas: 3
  8.   template:
  9.     metadata:
  10.       labels:
  11.         app: app-heartbeat
  12.     spec:
  13.       imagePullSecrets:
  14.       - name: beijing-vpc-registry
  15.       containers:
  16.       - image: registry-vpc.cn-beijing.aliyuncs.com/app/filebeat:0.8
  17.         name: app-heartbeat-filebeat
  18.         volumeMounts:
  19.         - name: logdir
  20.           mountPath: /logs
  21.         - name: app-heartbeat-filebeat-config
  22.           mountPath: /etc/filebeat/filebeat-config/
  23.       - image: registry-vpc.cn-beijing.aliyuncs.com/app/app-heartbeat:9
  24.         name : app-heartbeat
  25.         ports:
  26.         - containerPort: 8080
  27.         volumeMounts:
  28.         - name: logdir
  29.           mountPath: /data/logs/app-heartbeat/
  30.       volumes:
  31.       - name: logdir
  32.         emptyDir: {}
  33.       - name: app-heartbeat-filebeat-config
  34.         configMap:
  35.           name: app-heartbeat-filebeat-configmap

configmap.yaml

  1. apiVersion: v1
  2. kind: ConfigMap
  3. metadata:
  4.   name: app-heartbeat-filebeat-configmap
  5. data:
  6.   filebeat.yml: |
  7.     filebeat.prospectors:
  8.     - input_type: log
  9.       paths:
  10.         - "/logs/app.log"
  11.       multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
  12.       multiline.negate: true
  13.       multiline.match: after
  14.     output.elasticsearch:
  15.       hosts: ["10.6.45.233:9200", "10.6.26.57:9200","10.6.32.176:9200"]
  16.       template.enabled: false
  17.       index: "app-heartbeat-%{+yyyy.MM.dd}"
  

     es端上传一些,索引对应的模板,filebeat 就会自动创建索引, 我们登陆 es-head 查看索引是否建立成功。head上索引建立成功,在 es 里建立 相应的Index Pattren即可。

         日志展示:
         

       日志条目整合效果

             通过设置,我们已经把容器的日志,输入到了es中,完成了任务。
      
阅读(5375) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~