tongyi007 发表于 2018-1-4 14:36:54

kubernetes部署Fluentd+Elasticsearch+kibana 日志收集系统

  一、介绍
  1. Fluentd 是一个开源收集事件和日志系统,用与各node节点日志数据的收集、处理等等。详细介绍移步-->官方地址:http://fluentd.org/
  2. Elasticsearch 是一个开源的,基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。详细介绍移步-->官方地址:http://www.elasticsearch.org/overview/
  3. Kibana 开源的用于数据可视化的web ui工具,可使用它对日志进行高效的搜索、可视化、分析等各种操作。详细介绍移步-->官方地址http://www.elasticsearch.org/overview/kibana/
  二、流程
  每个node节点上面的fluentd监控并收集该节点上面的系统日志,并将处理过后的日志信息发送给Elasticsearch,Elasticsearch汇总各个node节点的日志信息,最后结合Kibana 实现web ui界面的数据展示。
  三、安装实现
  1.确保k8s集群正常工作(当然这是必须的....)
  2.fluentd.yaml文件编写,这里要实现每个节点都能有fluentd跑起来,只需要将kind设置为DaemonSet即可。
  

extensions/v1beta1  

DaemonSet  

  
    fluentd-elasticsearch
  
    kube-system
  

  
   k8s- fluentd-logging
  

  

  

  

  
          fluentd-elasticsearch
  

  

  
       -fluentd-elasticsearch
  
          gcr.io/google-containers/fluentd-1.20
  

  

  
            200Mi
  

  
            100m
  
            200Mi
  

  
         -varlog
  
            /var/log
  
         -varlibdockercontainers
  
            /var/lib/docker/containers
  
            true
  
      30
  

  
       -varlog
  

  
            /var/log
  
       -varlibdockercontainers
  

  
            /var/lib/docker/containers
  

  3.elasticsearch-rc.yaml&elasticsearch-svc.yaml
  

v1  

ReplicationController  

  elasticsearch-logging-v1
  kube-system
  k8s- elasticsearch-logging
  v1
  kubernetes.io/cluster- "true"
  

  2
  k8s- elasticsearch-logging
  v1
  k8s- elasticsearch-logging
  v1
  kubernetes.io/cluster- "true"
  -gcr.io/google-containers/v2.4.1
  elasticsearch-logging

  # need more cpu upon initialization, therefore burstable>  1000m
  100m
  -9200
  db
  TCP
  -9300
  transport
  TCP
  -es-persistent-storage
  /data
  -es-persistent-storage
  {}
  

  

v1  

Service  

  elasticsearch-logging
  kube-system
  k8s- elasticsearch-logging
  kubernetes.io/cluster- "true"
  kubernetes.io/ "Elasticsearch"
  

  -9200
  TCP
  db
  k8s- elasticsearch-logging
  

  4.kibana-rc.yaml&kibana-svc.yaml
  

extensions/v1beta1  

Deployment  

  kibana-logging
  kube-system
  k8s- kibana-logging
  kubernetes.io/cluster- "true"
  

  1
  k8s- kibana-logging
  k8s- kibana-logging
  -kibana-logging
  gcr.io/google-containers/v4.6.1

  # keep request = limit to keep this container in guaranteed>  100m
  100m
  -"ELASTICSEARCH_URL"
  "http://elasticsearch-logging:9200"
  -"KIBANA_BASE_URL"
  "/api/v1/proxy/namespaces/kube-system/services/kibana-logging"
  -5601
  ui
  TCP
  

  

v1  

Service  

  kibana-logging
  kube-system
  k8s- kibana-logging
  kubernetes.io/cluster- "true"
  kubernetes.io/ "Kibana"
  

  -5601
  TCP
  ui
  k8s- kibana-logging
  

  5.kubectl create -f ****** ,这里就自己发挥吧。
  

镜像推荐使用最新的iamge,多去github/kubernetes看看 里面有详细的说明  
页: [1]
查看完整版本: kubernetes部署Fluentd+Elasticsearch+kibana 日志收集系统