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]