09-5.部署 EFK 插件

09-5.部署 EFK 插件

EFK 对应的目录:kubernetes/cluster/addons/fluentd-elasticsearch

$ cd /opt/k8s/kubernetes/cluster/addons/fluentd-elasticsearch
$ ls *.yaml
es-service.yaml  es-statefulset.yaml  fluentd-es-configmap.yaml  fluentd-es-ds.yaml  kibana-deployment.yaml  kibana-service.yaml

修改定义文件

$ cp es-statefulset.yaml{,.orig}
$ diff es-statefulset.yaml{,.orig}
76c76
<       - image: longtds/elasticsearch:v5.6.4
---
>       - image: k8s.gcr.io/elasticsearch:v5.6.4

$ cp fluentd-es-ds.yaml{,.orig}
$ diff fluentd-es-ds.yaml{,.orig}
79c79
<         image: netonline/fluentd-elasticsearch:v2.0.4
---
>         image: k8s.gcr.io/fluentd-elasticsearch:v2.0.4

给 Node 设置标签

DaemonSet fluentd-es 只会调度到设置了标签 beta.kubernetes.io/fluentd-ds-ready=true 的 Node,需要在期望运行 fluentd 的 Node 上设置该标签;

$ kubectl get nodes
NAME         STATUS    ROLES     AGE       VERSION
kube-node1   Ready     <none>    3d        v1.10.4
kube-node2   Ready     <none>    3d        v1.10.4
kube-node3   Ready     <none>    3d        v1.10.4

$ kubectl label nodes kube-node3 beta.kubernetes.io/fluentd-ds-ready=true
node "kube-node3" labeled

执行定义文件

$ pwd
/opt/k8s/kubernetes/cluster/addons/fluentd-elasticsearch
$ ls *.yaml
es-service.yaml  es-statefulset.yaml  fluentd-es-configmap.yaml  fluentd-es-ds.yaml  kibana-deployment.yaml  kibana-service.yaml
$ kubectl create -f .

检查执行结果

$ kubectl get pods -n kube-system -o wide|grep -E ‘elasticsearch|fluentd|kibana‘
elasticsearch-logging-0                  1/1       Running   0          5m        172.30.81.7   kube-node1
elasticsearch-logging-1                  1/1       Running   0          2m        172.30.39.8   kube-node3
fluentd-es-v2.0.4-hntfp                  1/1       Running   0          5m        172.30.39.6   kube-node3
kibana-logging-7445dc9757-pvpcv          1/1       Running   0          5m        172.30.39.7   kube-node3

$ kubectl get service  -n kube-system|grep -E ‘elasticsearch|kibana‘
elasticsearch-logging   ClusterIP   10.254.50.198    <none>        9200/TCP        5m
kibana-logging          ClusterIP   10.254.255.190   <none>        5601/TCP        5m

kibana Pod 第一次启动时会用较长时间(0-20分钟)来优化和 Cache 状态页面,可以 tailf 该 Pod 的日志观察进度:

[[email protected] fluentd-elasticsearch]$ kubectl logs kibana-logging-7445dc9757-pvpcv -n kube-system -f
{"type":"log","@timestamp":"2018-06-16T11:36:18Z","tags":["info","optimize"],"pid":1,"message":"Optimizing and caching bundles for graph, ml, kibana, stateSessionStorageRedirect, timelion and status_page. This may take a few minutes"}
{"type":"log","@timestamp":"2018-06-16T11:40:03Z","tags":["info","optimize"],"pid":1,"message":"Optimization of bundles for graph, ml, kibana, stateSessionStorageRedirect, timelion and status_page complete in 224.57 seconds"}

注意:只有当的 Kibana pod 启动完成后,才能查看 kibana dashboard,否则会提示 refuse。

访问 kibana

  1. 通过 kube-apiserver 访问:

     $ kubectl cluster-info|grep -E ‘Elasticsearch|Kibana‘
     Elasticsearch is running at https://192.168.1.106:6443/api/v1/namespaces/kube-system/services/elasticsearch-logging/proxy
     Kibana is running at https://192.168.1.106:6443/api/v1/namespaces/kube-system/services/kibana-logging/proxy
    

    浏览器访问 URL: https://192.168.1.106:6443/api/v1/namespaces/kube-system/services/kibana-logging/proxy
    对于 virtuabox 做了端口映射: https://127.0.0.1:8080/api/v1/namespaces/kube-system/services/kibana-logging/proxy

  2. 通过 kubectl proxy 访问:

    创建代理

     $ kubectl proxy --address=‘192.168.1.106‘ --port=8086 --accept-hosts=‘^*$‘
     Starting to serve on 192.168.1.80:8086
    

    浏览器访问 URL:https://192.168.1.106:8086/api/v1/namespaces/kube-system/services/kibana-logging/proxy
    对于 virtuabox 做了端口映射: https://127.0.0.1:8086/api/v1/namespaces/kube-system/services/kibana-logging/proxy

在 Settings -> Indices 页面创建一个 index(相当于 mysql 中的一个 database),选中 Index contains time-based events,使用默认的 logstash-* pattern,点击 Create ;

创建 Index 后,稍等几分钟就可以在 Discover 菜单下看到 ElasticSearch logging 中汇聚的日志;

链接:https://www.orchome.com/662
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文地址:https://www.cnblogs.com/linux20190409/p/10977012.html

时间: 2024-08-01 08:35:27

09-5.部署 EFK 插件的相关文章

在kubernetes1.17.2上结合ceph部署efk

简绍 应用程序和系统日志可以帮助我们了解集群内部的运行情况,日志对于我们调试问题和监视集群情况也是非常有用的.而且大部分的应用都会有日志记录,对于传统的应用大部分都会写入到本地的日志文件之中.对于容器化应用程序来说则更简单,只需要将日志信息写入到 stdout 和 stderr 即可,容器默认情况下就会把这些日志输出到宿主机上的一个 JSON 文件之中,同样也可以通过 docker logs 或者 kubectl logs 来查看到对应的日志信息. Kubernetes 中比较流行的日志收集解决

安装IntelliJ IDEA热部署tomcat插件JreBel

最近试着使用IntelliJ IDEA这款IDE,网上说它是最好用的java开发工具~但奈何国内ecilpse市场占有率实在稳固,所以国内这个工具也就少数人在使用 当然使用起来跟ecilpse还是有很大差别的,特别的它新建一个project就是相对ecilpse的一个工作空间,这个到现在我还是不习惯~目测越扯越扯远了-,- 不过最不习惯的还是它用tomcat部署工程的时候,不能实现热部署,不说更改java文件,就是在页面更改一点东西加个标签什么的,都得重启tomcat才能刷新...天啊,这得浪费

使用Ant打包部署STAF插件

打包部署STAF插件,简单来说,分为清理.初始化.编译.打包.部署.测试几个部分 1.清理 此处为删除文件及删除文件夹操作,使用ant中的delete标签来实现 2.初始化 由于STAF插件的打包需要的目录层次为 STAF-INF STAF-INF/classes ...用户包及类的相关层次 META-INF META-INF/MANIFEST.MF 其中 META-INF在jar打包过程中会自动生成,可以不用管 故设计目录层次结构为 build build/STAF-INF build/STA

Kubernetes 1.11.3上使用动态PV部署EFK 6.4.0

Kubernetes 上部署 efk 日志收集系统 环境版本:OS:CentOS 7.4(1804)Kubernetes:1.11.3Elasticsearch:5.4.0Fuentd-elasticsearch:2.0.2Kibana:6.4.0 本地镜像仓库:192.168.22.8NFS-Server:192.168.22.8 部署顺序:Kibana -> NFS动态存储 -> Elasticsearch -> Fuentd-es ->设置节点label Kibana初始化要

09-3.部署 heapster 插件

09-3.部署 heapster 插件 Heapster是一个收集者,将每个Node上的cAdvisor的数据进行汇总,然后导到第三方工具(如InfluxDB). Heapster 是通过调用 kubelet 的 http API 来获取 cAdvisor 的 metrics 数据的. 由于 kublet 只在 10250 端口接收 https 请求,故需要修改 heapster 的 deployment 配置.同时,需要赋予 kube-system:heapster ServiceAccoun

09-1.部署 coredns 插件

09-1.部署 coredns 插件 修改配置文件 将下载的 kubernetes-server-linux-amd64.tar.gz 解压后,再解压其中的 kubernetes-src.tar.gz 文件. coredns 对应的目录是:cluster/addons/dns. $ pwd /opt/k8s/kubernetes/cluster/addons/dns $ cp coredns.yaml.base coredns.yaml $ diff coredns.yaml.base core

09-2.部署 dashboard 插件

09-2.部署 dashboard 插件 修改配置文件 将下载的 kubernetes-server-linux-amd64.tar.gz 解压后,再解压其中的 kubernetes-src.tar.gz 文件. dashboard 对应的目录是:cluster/addons/dashboard. $ pwd /opt/k8s/kubernetes/cluster/addons/dashboard $ cp dashboard-controller.yaml{,.orig} $ diff das

09-4.部署 metrics-server 插件

09-4.部署 metrics-server 插件 创建 metrics-server 使用的证书 创建 metrics-server 证书签名请求: cat > metrics-server-csr.json <<EOF { "CN": "aggregator", "hosts": [], "key": { "algo": "rsa", "size"

kubernetes 1.14安装部署metrics-server插件

简单介绍: 如果使用kubernetes的自动扩容功能的话,那首先得有一个插件,然后该插件将收集到的信息(cpu.memory..)与自动扩容的设置的值进行比对,自动调整pod数量.关于该插件,在kubernetes的早些版本中采用的是heapster,1.13版本正式发布后,丢弃了heapster,官方推荐采用metrics-sever. 测试环境: 同之前部署的集群环境,如下: System Hostname IP CentOS 7.6 k8s-master 138.138.82.14 Ce