kubernetes 1.5安装 ELK(ElasticSearch, Logstash, Kibana)

【k8s管理--集群日志管理elk】 k8s安装elk 阅读详情

安装这东西还是比较麻烦,在网上的文章很多,要么难得不行,要不就是简单的不行,看完了也不知道怎么搞。按着他们的好不容易搞出来,也发现无法使用。


还有和原来一样,先把镜像和版本说明一下:

 

index.tenxcloud.com/docker_library/elasticsearch:2.3.0

index.tenxcloud.com/docker_library/kibana:latest

pires/logstash



##1:   安装elasticsearch集群

es-master.yaml 文件内容

[html]  view plain  copy
  1. [root@localhost github]# cat es-master.yaml   
  2. apiVersion: extensions/v1beta1  
  3. kind: Deployment  
  4. metadata:  
  5.   name: es-master  
  6.   labels:  
  7.     component: elasticsearch  
  8.     role: master  
  9. spec:  
  10.   template:  
  11.     metadata:  
  12.       labels:  
  13.         component: elasticsearch  
  14.         role: master  
  15.       annotations:  
  16.         pod.beta.kubernetes.io/init-containers: '[  
  17.           {  
  18.           "name": "sysctl",  
  19.             "image": "busybox",  
  20.             "imagePullPolicy": "IfNotPresent",  
  21.             "command": ["sysctl", "-w", "vm.max_map_count=262144"],  
  22.             "securityContext": {  
  23.               "privileged": true  
  24.             }  
  25.           }  
  26.         ]'  
  27.     spec:  
  28.       containers:  
  29.       - name: es-master  
  30.         securityContext:  
  31.           privileged: true  
  32.           capabilities:  
  33.             add:  
  34.               - IPC_LOCK  
  35.         image:  index.tenxcloud.com/docker_library/elasticsearch:2.3.0  
  36.         imagePullPolicy: Always  
  37.         env:  
  38.         - name: NAMESPACE  
  39.           valueFrom:  
  40.             fieldRef:  
  41.               fieldPath: metadata.namespace  
  42.         - name: "CLUSTER_NAME"  
  43.           value: "myesdb"  
  44.         - name: NODE_MASTER  
  45.           value: "true"  
  46.         - name: NODE_INGEST  
  47.           value: "false"  
  48.         - name: NODE_DATA  
  49.           value: "false"  
  50.         - name: HTTP_ENABLE  
  51.           value: "false"  
  52.         - name: "ES_JAVA_OPTS"  
  53.           value: "-Xms256m -Xmx256m"  
  54.         ports:  
  55.         - containerPort: 9300  
  56.           name: transport  
  57.           protocol: TCP  
  58.         volumeMounts:  
  59.         - name: storage  
  60.           mountPath: /data  
  61.       volumes:  
  62.           - emptyDir:  
  63.               medium: ""  
  64.             name: "storage"  

 es-client.yaml文件内容

[html]  view plain  copy
  1. apiVersion: extensions/v1beta1  
  2. kind: Deployment  
  3. metadata:  
  4.   name: es-client  
  5.   labels:  
  6.     component: elasticsearch  
  7.     role: client  
  8. spec:  
  9.   template:  
  10.     metadata:  
  11.       labels:  
  12.         component: elasticsearch  
  13.         role: client  
  14.       annotations:  
  15.         pod.beta.kubernetes.io/init-containers: '[  
  16.           {  
  17.           "name": "sysctl",  
  18.             "image": "busybox",  
  19.             "imagePullPolicy": "IfNotPresent",  
  20.             "command": ["sysctl", "-w", "vm.max_map_count=262144"],  
  21.             "securityContext": {  
  22.               "privileged": true  
  23.             }  
  24.           }  
  25.         ]'  
  26.     spec:  
  27.       containers:  
  28.       - name: es-client  
  29.         securityContext:  
  30.           privileged: true  
  31.           capabilities:  
  32.             add:  
  33.               - IPC_LOCK  
  34.         image: index.tenxcloud.com/docker_library/elasticsearch:2.3.0  
  35.         imagePullPolicy: Always  
  36.         env:  
  37.         - name: NAMESPACE  
  38.           valueFrom:  
  39.             fieldRef:  
  40.               fieldPath: metadata.namespace  
  41.         - name: "CLUSTER_NAME"  
  42.           value: "myesdb"  
  43.         - name: NODE_MASTER  
  44.           value: "false"  
  45.         - name: NODE_DATA  
  46.           value: "false"  
  47.         - name: HTTP_ENABLE  
  48.           value: "true"  
  49.         - name: "ES_JAVA_OPTS"  
  50.           value: "-Xms256m -Xmx256m"  
  51.         ports:  
  52.         - containerPort: 9200  
  53.           name: http  
  54.           protocol: TCP  
  55.         - containerPort: 9300  
  56.           name: transport  
  57.           protocol: TCP  
  58.         volumeMounts:  
  59.         - name: storage  
  60.           mountPath: /data  
  61.       volumes:  
  62.           - emptyDir:  
  63.               medium: ""  
  64.             name: "storage"  


es-data.yaml内容

[html]  view plain  copy
  1. [root@localhost github]# cat es-data.yaml   
  2. apiVersion: extensions/v1beta1  
  3. kind: Deployment  
  4. metadata:  
  5.   name: es-data  
  6.   labels:  
  7.     component: elasticsearch  
  8.     role: data  
  9. spec:  
  10.   template:  
  11.     metadata:  
  12.       labels:  
  13.         component: elasticsearch  
  14.         role: data  
  15.       annotations:  
  16.         pod.beta.kubernetes.io/init-containers: '[  
  17.           {  
  18.           "name": "sysctl",  
  19.             "image": "busybox",  
  20.             "imagePullPolicy": "IfNotPresent",  
  21.             "command": ["sysctl", "-w", "vm.max_map_count=262144"],  
  22.             "securityContext": {  
  23.               "privileged": true  
  24.             }  
  25.           }  
  26.         ]'  
  27.     spec:  
  28.       containers:  
  29.       - name: es-data  
  30.         securityContext:  
  31.           privileged: true  
  32.           capabilities:  
  33.             add:  
  34.               - IPC_LOCK  
  35.         image: index.tenxcloud.com/docker_library/elasticsearch:2.3.0  
  36.         imagePullPolicy: Always  
  37.         env:  
  38.         - name: NAMESPACE  
  39.           valueFrom:  
  40.             fieldRef:  
  41.               fieldPath: metadata.namespace  
  42.         - name: "CLUSTER_NAME"  
  43.           value: "myesdb"  
  44.         - name: NODE_MASTER  
  45.           value: "false"  
  46.         - name: NODE_INGEST  
  47.           value: "false"  
  48.         - name: HTTP_ENABLE  
  49.           value: "false"  
  50.         - name: "ES_JAVA_OPTS"  
  51.           value: "-Xms256m -Xmx256m"  
  52.         ports:  
  53.         - containerPort: 9300  
  54.           name: transport  
  55.           protocol: TCP  
  56.         volumeMounts:  
  57.         - name: storage  
  58.           mountPath: /data  
  59.       volumes:  
  60.           - emptyDir:  
  61.               medium: ""  
  62.             name: "storage"  



es-discovery-svc.yaml 内容:

[html]  view plain  copy
  1. [root@localhost github]# cat es-discovery-svc.yaml   
  2. apiVersion: v1  
  3. kind: Service  
  4. metadata:  
  5.   name: elasticsearch-discovery  
  6.   labels:  
  7.     component: elasticsearch  
  8.     role: master  
  9. spec:  
  10.   selector:  
  11.     component: elasticsearch  
  12.     role: master  
  13.   ports:  
  14.   - name: transport  
  15.     port: 9300  
  16.     protocol: TCP  


es-svc.yaml文件内容:

[html]  view plain  copy
  1. [root@localhost github]# cat es-svc.yaml   
  2. apiVersion: v1  
  3. kind: Service  
  4. metadata:  
  5.   name: elasticsearch  
  6.   labels:  
  7.     component: elasticsearch  
  8.     role: client  
  9. spec:  
  10.   type: LoadBalancer  
  11.   selector:  
  12.     component: elasticsearch  
  13.     role: client  
  14.   ports:  
  15.   - name: http  
  16.     port: 9200  
  17.     protocol: TCP  


es-svc-1.yaml

[html]  view plain  copy
  1. [root@localhost github]# cat es-svc-1.yaml   
  2. apiVersion: v1  
  3. kind: Service  
  4. metadata:  
  5.   name: elasticsearch-logging  
  6.   namespace: kube-system  
  7.   labels:  
  8.     k8s-app: elasticsearch  
  9.     kubernetes.io/name: "elasticsearch"  
  10. spec:  
  11.   type: ExternalName  
  12.   externalName: elasticsearch.default.svc.cluster.local  
  13.   ports:  
  14.     - port: 9200  
  15.       targetPort: 9200  


这几个文件创建完成以后,一个一个的kubecret create -f .....


[html]  view plain  copy
  1. kubecrt create -f  es-client.yaml -f  es-data.yaml -f  es-discovery-svc.yaml -f   es-master.yaml  -f  es-svc-1.yaml -f  es-svc.yaml  


完成以后,查看:

kubectl get pods

[html]  view plain  copy
  1. [root@localhost github]# kubectl get pods  
  2. NAME                         READY     STATUS    RESTARTS   AGE  
  3. busybox                      1/1       Running   2          2h  
  4. es-client-1983128803-k0g83   1/1       Running   0          2h  
  5. es-data-4107927351-f621b     1/1       Running   0          2h  
  6. es-master-1554717905-pg6tv   1/1       Running   0          2h  

再查看:

[html]  view plain  copy
  1. kubectl logs es-master-1554717905-pg6tv  


[html]  view plain  copy
  1. [root@localhost github]# kubectl logs es-master-1554717905-pg6tv  
  2. [2016-12-28 04:27:01,727][INFO ][node                     ] [Vindicator] version[2.3.0], pid[1], build[8371be8/2016-03-29T07:54:48Z]  
  3. [2016-12-28 04:27:01,727][INFO ][node                     ] [Vindicator] initializing ...  
  4. [2016-12-28 04:27:02,154][INFO ][plugins                  ] [Vindicator] modules [reindex, lang-expression, lang-groovy], plugins [], sites []  
  5. [2016-12-28 04:27:02,174][INFO ][env                      ] [Vindicator] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/mapper/centos-root)]], net usable_space [92.2gb], net total_space [99.9gb], spins? [possibly], types [xfs]  
  6. [2016-12-28 04:27:02,174][INFO ][env                      ] [Vindicator] heap size [247.5mb], compressed ordinary object pointers [true]  
  7. [2016-12-28 04:27:03,441][INFO ][node                     ] [Vindicator] initialized  
  8. [2016-12-28 04:27:03,441][INFO ][node                     ] [Vindicator] starting ...  
  9. [2016-12-28 04:27:03,493][INFO ][transport                ] [Vindicator] publish_address {10.32.0.4:9300}, bound_addresses {[::]:9300}  
  10. [2016-12-28 04:27:03,497][INFO ][discovery                ] [Vindicator] elasticsearch/x5bP8CfuTNOjId9FnM0EWQ  
  11. [2016-12-28 04:27:06,538][INFO ][cluster.service          ] [Vindicator] new_master {Vindicator}{x5bP8CfuTNOjId9FnM0EWQ}{10.32.0.4}{10.32.0.4:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)  
  12. [2016-12-28 04:27:06,566][INFO ][http                     ] [Vindicator] publish_address {10.32.0.4:9200}, bound_addresses {[::]:9200}  
  13. [2016-12-28 04:27:06,566][INFO ][node                     ] [Vindicator] started  
  14. [2016-12-28 04:27:06,591][INFO ][gateway                  ] [Vindicator] recovered [0] indices into cluster_state  

[html]  view plain  copy
  1. kubectl logs es-data-4107927351-f621b   

[html]  view plain  copy
  1. [root@localhost github]# kubectl logs es-data-4107927351-f621b   
  2. [2016-12-28 04:26:23,791][INFO ][node                     ] [Cassandra Nova] version[2.3.0], pid[1], build[8371be8/2016-03-29T07:54:48Z]  
  3. [2016-12-28 04:26:23,791][INFO ][node                     ] [Cassandra Nova] initializing ...  
  4. [2016-12-28 04:26:24,219][INFO ][plugins                  ] [Cassandra Nova] modules [reindex, lang-expression, lang-groovy], plugins [], sites []  
  5. [2016-12-28 04:26:24,240][INFO ][env                      ] [Cassandra Nova] using [1] data paths, mounts [[/usr/share/elasticsearch/data (/dev/mapper/centos-root)]], net usable_space [42gb], net total_space [50gb], spins? [possibly], types [xfs]  
  6. [2016-12-28 04:26:24,240][INFO ][env                      ] [Cassandra Nova] heap size [247.5mb], compressed ordinary object pointers [true]  
  7. [2016-12-28 04:26:25,537][INFO ][node                     ] [Cassandra Nova] initialized  
  8. [2016-12-28 04:26:25,537][INFO ][node                     ] [Cassandra Nova] starting ...  
  9. [2016-12-28 04:26:25,585][INFO ][transport                ] [Cassandra Nova] publish_address {10.46.0.6:9300}, bound_addresses {[::]:9300}  
  10. [2016-12-28 04:26:25,589][INFO ][discovery                ] [Cassandra Nova] elasticsearch/hcnJzTAZRBK517ZsLt2LQw  
  11. [2016-12-28 04:26:28,626][INFO ][cluster.service          ] [Cassandra Nova] new_master {Cassandra Nova}{hcnJzTAZRBK517ZsLt2LQw}{10.46.0.6}{10.46.0.6:9300}, reason: zen-disco-join(elected_as_master, [0] joins received)  
  12. [2016-12-28 04:26:28,655][INFO ][http                     ] [Cassandra Nova] publish_address {10.46.0.6:9200}, bound_addresses {[::]:9200}  
  13. [2016-12-28 04:26:28,655][INFO ][node                     ] [Cassandra Nova] started  
  14. [2016-12-28 04:26:28,678][INFO ][gateway                  ] [Cassandra Nova] recovered [0] indices into cluster_state  



##2: 安装kibana和logstash


index.tenxcloud.com/docker_library/kibana:latest  现在的时间是:2016.12.28日的最新版本。也可以尝试别的版本

pires/logstash


继续看下yaml文件内容


kibana-controller.yaml 文件内容

[html]  view plain  copy
  1. [root@localhost elk]# cat kibana-controller.yaml   
  2. apiVersion: v1  
  3. kind: ReplicationController  
  4. metadata:  
  5.   name: kibana  
  6.   namespace: default  
  7.   labels:  
  8.     component: elk  
  9.     role: kibana  
  10. spec:  
  11.   replicas: 1  
  12.   selector:  
  13.     component: elk  
  14.     role: kibana  
  15.   template:  
  16.     metadata:  
  17.       labels:  
  18.         component: elk  
  19.         role: kibana  
  20.     spec:  
  21.       serviceAccount: elk  
  22.       containers:  
  23.       - name: kibana  
  24.         image: index.tenxcloud.com/docker_library/kibana:latest  
  25.         env:  
  26.         - name: KIBANA_ES_URL  
  27.           value: "http://elasticsearch.default.svc.cluster.local:9200"  
  28.         - name: KUBERNETES_TRUST_CERT  
  29.           value: "true"  
  30.         ports:  
  31.         - containerPort: 5601  
  32.           name: http  
  33.           protocol: TCP  


kibana-service.yaml 文件内容:

[html]  view plain  copy
  1. [root@localhost elk]# cat kibana-service.yaml   
  2. apiVersion: v1  
  3. kind: Service  
  4. metadata:  
  5.   name: kibana  
  6.   namespace: default  
  7.   labels:  
  8.     component: elk  
  9.     role: kibana  
  10. spec:  
  11.   selector:  
  12.     component: elk  
  13.     role: kibana  
  14.   type: NodePort  
  15.   ports:  
  16.   - name: http  
  17.     port: 80  
  18.     nodePort: 30080  
  19.     targetPort: 5601  
  20.     protocol: TCP  


 logstash-controller.yaml 文件内容:

[html]  view plain  copy
  1. [root@localhost elk]# cat logstash-controller.yaml   
  2. apiVersion: v1  
  3. kind: ReplicationController  
  4. metadata:  
  5.   name: logstash  
  6.   namespace: default  
  7.   labels:  
  8.     component: elk  
  9.     role: logstash  
  10. spec:  
  11.   replicas: 1  
  12.   selector:  
  13.     component: elk  
  14.     role: logstash  
  15.   template:  
  16.     metadata:  
  17.       labels:  
  18.         component: elk  
  19.         role: logstash  
  20.     spec:  
  21.       serviceAccount: elk  
  22.       containers:  
  23.       - name: logstash  
  24.         image: pires/logstash  
  25.         env:  
  26.         - name: KUBERNETES_TRUST_CERT  
  27.           value: "true"  
  28.         ports:  
  29.         - containerPort: 5043  
  30.           name: lumberjack  
  31.           protocol: TCP  
  32.         volumeMounts:  
  33.         - mountPath: /certs  
  34.           name: certs  
  35.       volumes:  
  36.       - emptyDir:  
  37.           medium: ""  
  38.         name: "storage"  
  39.       - hostPath:  
  40.           path: "/tmp"  
  41.         name: "certs"  


logstash-service.yaml 文件内容:

[html]  view plain  copy
  1. [root@localhost elk]# cat logstash-service.yaml   
  2. apiVersion: v1  
  3. kind: Service  
  4. metadata:  
  5.   name: logstash  
  6.   namespace: default  
  7.   labels:  
  8.     component: elk  
  9.     role: logstash  
  10. spec:  
  11.   selector:  
  12.     component: elk  
  13.     role: logstash  
  14.   ports:  
  15.   - name: lumberjack  
  16.     port: 5043  
  17.     protocol: TCP  


service-account.yaml 文件内容:


[html]  view plain  copy
  1. [root@localhost elk]# cat service-account.yaml   
  2. apiVersion: v1  
  3. kind: ServiceAccount  
  4. metadata:  
  5.   name: elk  


接下来安装:

[html]  view plain  copy
  1. kubectl create -f  service-account.yaml -f logstash-service.yaml -f  logstash-controller.yaml  -f   kibana-service.yaml -f   kibana-controller.yaml  



##3: 安装fluentd-elasticsearch

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

镜像还是先下载,最好在每一个节点都下载。

fluentd.yaml文件内容

[html]  view plain  copy
  1. [root@localhost elk]# cat fluentd.yaml   
  2. apiVersion: extensions/v1beta1  
  3. kind: DaemonSet  
  4. metadata:  
  5.   name: fluentd-elasticsearch  
  6.   namespace: kube-system  
  7.   labels:  
  8.     k8s-app: fluentd-logging  
  9. spec:  
  10.   template:  
  11.     metadata:  
  12.       labels:  
  13.         name: fluentd-elasticsearch  
  14.     spec:  
  15.       containers:  
  16.       - name: fluentd-elasticsearch  
  17.         image: gcr.io/google-containers/fluentd-elasticsearch:1.20  
  18.         resources:  
  19.           limits:  
  20.             memory: 200Mi  
  21.           requests:  
  22.             cpu: 100m  
  23.             memory: 200Mi  
  24.         volumeMounts:  
  25.         - name: varlog  
  26.           mountPath: /var/log  
  27.         - name: varlibdockercontainers  
  28.           mountPath: /var/lib/docker/containers  
  29.           readOnly: true  
  30.       terminationGracePeriodSeconds: 30  
  31.       volumes:  
  32.       - name: varlog  
  33.         hostPath:  
  34.           path: /var/log  
  35.       - name: varlibdockercontainers  
  36.         hostPath:  
  37.           path: /var/lib/docker/containers  


[html]  view plain  copy
  1. kubectl create -f fluentd.yaml   

安装完成。


##4: 验证

[html]  view plain  copy
  1. kubectl  get pods --all-namespaces  


[html]  view plain  copy
  1. [root@localhost elk]# kubectl  get pods --all-namespaces  
  2. NAMESPACE     NAME                                    READY     STATUS    RESTARTS   AGE  
  3. default       busybox                                 1/1       Running   3          3h  
  4. default       es-client-1983128803-k0g83              1/1       Running   0          2h  
  5. default       es-data-4107927351-f621b                1/1       Running   0          2h  
  6. default       es-master-1554717905-pg6tv              1/1       Running   0          2h  
  7. default       kibana-39wgw                            1/1       Running   0          2h  
  8. default       logstash-18k38                          1/1       Running   0          2h  
  9. kube-system   dummy-2088944543-xjj21                  1/1       Running   0          1d  
  10. kube-system   etcd-centos-master                      1/1       Running   0          1d  
  11. kube-system   fluentd-elasticsearch-1mln9             1/1       Running   0          2h  
  12. kube-system   fluentd-elasticsearch-qrl81             1/1       Running   0          2h  
  13. kube-system   fluentd-elasticsearch-wkw0n             1/1       Running   0          2h  
  14. kube-system   heapster-2193675300-j1jxn               1/1       Running   0          1d  
  15. kube-system   kube-apiserver-centos-master            1/1       Running   0          1d  
  16. kube-system   kube-controller-manager-centos-master   1/1       Running   0          1d  
  17. kube-system   kube-discovery-1769846148-c45gd         1/1       Running   0          1d  
  18. kube-system   kube-dns-2924299975-96xms               4/4       Running   0          1d  
  19. kube-system   kube-proxy-33lsn                        1/1       Running   0          1d  
  20. kube-system   kube-proxy-jnz6q                        1/1       Running   0          1d  
  21. kube-system   kube-proxy-vfql2                        1/1       Running   0          1d  
  22. kube-system   kube-scheduler-centos-master            1/1       Running   0          1d  
  23. kube-system   kubernetes-dashboard-3000605155-8mxgz   1/1       Running   0          1d  
  24. kube-system   monitoring-grafana-810108360-h92v7      1/1       Running   0          1d  
  25. kube-system   monitoring-influxdb-3065341217-q2445    1/1       Running   0          1d  
  26. kube-system   weave-net-k5tlz                         2/2       Running   0          1d  
  27. kube-system   weave-net-q3n89                         2/2       Running   0          1d  
  28. kube-system   weave-net-x57k7                         2/2       Running   0          1d  


再执行查看日志的命令:

[html]  view plain  copy
  1. kubectl --namespace=kube-system logs fluentd-elasticsearch-1mln9  


有以下成功的日志:

2016-12-28 05:48:08 +0000 [info]: Connection opened to Elasticsearch cluster => {:host=>"elasticsearch-logging", :port=>9200, :scheme=>"http"}
2016-12-28 05:48:08 +0000 [warn]: retry succeeded. plugin_id="object:3fa39c8a7e2c"










 2017-01-12 07:04:48 +0000 [warn]: suppressed same stacktrace
2017-01-12 07:04:48 +0000 [warn]: record_reformer: Fluent::BufferQueueLimitError queue size exceeds limit /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.12.12/lib/fluent/buffer.rb:189:in `block in emit'
2017-01-12 07:04:48 +0000 [warn]: emit transaction failed: error_class=Fluent::BufferQueueLimitError error="queue size exceeds limit" tag="var.log.containers.tomcat-apr-dm-1449051961-shb7d_default_tomcat-apr-a251826108724b4265bd92b7fcf48177d82d6527c1185818129f62d2c24b7442.log"
  2017-01-12 07:04:48 +0000 [warn]: suppressed same stacktrace
2017-01-12 07:04:48 +0000 [warn]: record_reformer: Fluent::BufferQueueLimitError queue size exceeds limit /opt/td-agent/embedded/lib/ruby/gems/2.1.0/gems/fluentd-0.12.12/lib/fluent/buffer.rb:189:in `block in emit'
^C


Kubernetes中部署ELK Stack日志收集平台 kubelet会在/var/log/pods和/var/log/containers下面建立软链接,指向/var/lib/docker/containers/$CONTAINERID目录下的容器日志文件。- dissect: #参考https://www.elastic.co/guide/en/beats/filebeat/current/dissect.html。创建一个软链接/var/log/pods指向数据盘挂载点下的某个目录(ln -s /data/var/log/pods /var/log/) 阅读详情

相关推荐

ELK 圣经:Elasticsearch、Logstash、Kibana 从入门到精通

ELK指的是Elastic公司下面Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。Elasticsearch、Logstash、Kibana三大开源框架首字母大写简称。是一个用于将 Java 应用程序的日志输出转换为 Logstash 可解析的 JSON 格式的库。

架构师尼恩 1373

Kubernetes进阶-4Kubernetes集群的日志及监控-更新版

Kubernetes集群的日志及监控 k8s日志收集架构 https://kubernetes.io/docs/concepts/cluster-administration/logging/ 总体分为三种方式: 使用在每个节点上运行的节点级日志记录代理。 在应用程序的 pod 中,包含专门记录日志的 sidecar 容器。 将日志直接从应用程序中推送到日志记录后端。 使用节点级日志代理 容器日志驱动: https://docs.docker.com/config/containers/logging

m0_63086381的博客 2092

Ubuntu 14.04 ELK部署实战:Logstash 2.4.1+Elasticsearch 2.4.6+Kibana 4.6.6

日志集中化分析是运维可观测性的基础能力,其核心在于日志采集、结构化处理与搜索可视化三阶段闭环。Logstash作为成熟稳定的日志管道工具,提供丰富的输入/过滤/输出插件,支持正则解析(grok)、时间戳提取和多源日志归一化;Elasticsearch则以分布式倒排索引实现毫秒级全文检索与聚合分析;Kibana提供低资源占用的Web交互界面,适配老旧环境。该技术组合在工业控制、嵌入式网关、遗留业务系统等存量基础设施中仍具不可替代性,尤其适用于Ubuntu 14.04等已停止常规维护但仍在运行的操作系统。本文聚

weixin_33695450的博客 526

kibana搭建(windows&linux)

搭建kibana方便查询es库,本文分别对windows和linux版本进行安装,因为es集群版本是7.4.1,所以配套的kibana也是选择相同版本。其中server.host: "0.0.0.0" 类似访问白名单,配置允许的ip即可,访问地址http://虚拟机IP或服务器IP:5601。/bin/kibana.bat 双击启动即可,默认端口5601,访问地址http://localhost:5601。下载zip包,解压文件到固定目录,进入解压目录的config目录,编辑kibana.yml。

m0_37615458的博客 1044

ZBrush 2021来了

这次给大家带来的是:zbrush2021.1.1 win安装教程 1.下载压缩包之后解压到文件夹当中,然后打开ZBrush_2021_Installer.exe进行软件安装, 如下图 2.在这里我们保持默认的简体中文版即可,然后点击确认,如下图 3.第三步我们点击前进即可,如下图 4.第四步我们来到许可协议,在这里我们点击我接受此协议,然后点击前进,如下图 5.第五步我们来到安装目录,在这里我们可以设置安装路径,如下图 6.在这里我将安装目录修改安装到E盘为例,然后点击下一

3D游戏建模 1190

C语言 在合并编译 ( 多.c文件 ) 情况下 实现 linked list ( 链表 ) 教程 . 更新ing

写在前面  依旧是参考借鉴了 浙江大学 温老师 的视频教程,很不错,在中国大学MOOC上,强力推荐!  虽说有借鉴,但是能保证的是每一行代码都是我自己经过理解后手敲出来的,所以才来做了这部分的教程。  最后,带 * 字符是我个人觉得可以添加的功能,按理来讲是可以不看的,而且大概率是可以有更好的改进的。  PS: 文章还在更新,如果文字蓝了(有超链接),说明写完了,如果没蓝,说明我在开军舰.jpg 源代码:  这里→源代码. 第一步:前置工作  先说一下每一篇都会出现 main 函数的,stage1 只是给没

weixin_47287635的博客 527

kibana几次崩溃问题引发的探索

写在最前此文仅作为本人网络日志,记录工作学习经验以备忘。并非教程、论文或心得。问题近两天每天早上回来发现测试机上kibana的进程消失了假设因为之前在1G内存的机器上跑ELK时,如果安装了x-pack就会导致启动kibana时elasticsearch崩溃掉,并且在扩大内存之后问题解决,因此假设问题在于out of memory目的elasticsearch占用内存比较大,网上大多优化配置是加大el

墨的博客 6217

别再只怪贴片厂了!从MLCC内部裂纹,看懂物料质量与工艺应力的博弈

本文深入分析了MLCC内部裂纹的失效原因,提供了从裂纹形态学到生产全流程的失效风险地图的完整分析框架。通过实战案例和检测技术组合,帮助工程师精准锁定MLCC失效背后的真凶,优化物料质量和工艺应力管理。

weixin_33122947的博客 293

K8s日志收集--fluentd事件流的生命周期(K8s Log Collection--The Lifecycle of Fluentd Event Flow)

Fluentd 是一个开源的数据收集器,致力于为用户搭建统一的日志收集层,它可以让你统一日志的收集和消费,以便更好地使用和理解日志,统一的日志记录层可让你和你的团队更好地利用数据并更快地迭代你的应用。本章详细介绍使用fluentd实现业务应用日志的收

Linux运维老纪的博客 1289

6.4 构网型储能的需求与配置

摘要: 构网型储能是新型电力系统的关键支撑技术,通过提供电压/频率形成、惯性和稳定控制能力,解决同步机退出导致的系统稳定性问题。其配置需遵循三大原则:1)容量配置以支撑需求为主导,兼顾能量服务;2)优先布局于电网薄弱点、稳定问题突出区域;3)采用自适应控制策略实现全工况优化。核心应用场景包括新能源送出通道稳定、负荷中心调频、黑启动电源等。规划方法需结合系统分析、量化指标和成本效益评估,实现技术经济最优。未来需重点关注构网/跟网混合系统的临界容量占比及自适应控制技术发展。

技术工作者 1142

Supreme小程序自动化抢购终端——源码架构与执行流程全解析

本系统是一套基于开发的桌面端小程序自动化抢购终端。把只有开发者能跑的脚本,包装成普通用户也能操作的桌面工具。参数自动捕获 → 商品多关键词检索 → sku/尺码/库存映射 → 多商品任务队列 → 定时/立即抢购 → 订单创建 → 支付参数拉取 → 本地服务生成支付链接 → 手机微信扫码付款这套 Supreme 抢购终端,表面上看是一个"下单工具"。但从工程角度审视,它已经具备了一个小型桌面自动化系统GUI 层:CustomTkinter 现代化界面,线程安全业务层:多商品队列、定时调度、任务编排。

猫敷雪 208

Elasticsearch之kubernetes集群搭建

1、镜像清单docker pull jinyidong/es-ik-pinyin:6.2.3

jinyidong的博客 3575

10、智慧变电站 - 加载vue大屏元素(整体效果)

这一篇文章非常简单,但是也非常出效果阅读前面几篇文章,都可以看到有顶部、左侧、右侧的面板,主要我不会录gif图片,大屏元素面板还有一些动态加载的效果。 vue的transition标签 Vue 提供了 transition 的封装组件,可以给任何元素和组件添加进入/离开过渡;在进入/离开的过渡中,会有 6 个 class 切换:v-enter 、v-enter-active 、v-enter-to 、v-leave 、v-leave-active 、v-leave-to。我们正好使用这个特性来达到面板进入

github_39988036的博客 1041

K8S搭建ELK(Elasticsearch,Kibana,Logstash和Filebeat)

K8S环境从零搭建ELK(Elasticsearch,Kibana,Logstash和Filebeat),详细、完整的操作步骤,手把手教你搭建自己的ELK日志收集系统。

Soft_Engneer的专栏 1万+

DBeaver配置本地mysql-connector驱动文件

本文摘要:介绍了数据库驱动管理的基本操作步骤:1)新建驱动管理器,填写MySQL驱动名称、类名和类型;2)添加本地MySQL驱动文件;3)创建数据库连接并测试。适用于MySQL5.x和8.x版本,帮助用户快速配置数据库连接。

litlit023的专栏 1700

15、远程操作水下航行器(ROV)的非线性控制系统设计

本文探讨了远程操作水下航行器(ROV)的非线性控制系统设计,重点介绍了多变量PID控制、改进的PD控制和滑模控制三种方法。详细阐述了各控制策略的原理、建模与仿真过程,并通过对比分析其在稳态误差、振荡、抖振及跟踪效果等方面的性能表现。文章还提出了针对不同控制方法的优化建议,并给出了选择合适控制策略的决策流程,为ROV高精度运动控制提供了系统性解决方案。

sun99的博客 158

企业级日志系统架构——ELK(Elasticsearch、Filebeat、Kafka、Logstash、Kibana)

文章目录一、概述1)Elasticsearch 存储2)Filebeat 日志数据采集3)Kafka4)Logstash 过滤5)Kibana 展示filebeat和logstash的关系二、ELK相关的备份组件和备份方式1)Elasticsearch的snapshot快照备份2)elasticdump备份迁移es数据3)esm备份迁移es数据 一、概述 大致流程图如下: 1)Elasticsearch 存储 Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有

匠人精神,持之以恒! 6291

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

快速搞定docker部署Filebeat、Elasticsearch、Logstash与Kibana

本文介绍使用docker安装部署Filebeat与Elasticsearch、Logstash、Kibana(简称ELK)全家桶7.5.1。如果熟悉框架的话,直接copy配置文件与docker命令,简单删减和修改路径,即可快速启动整个链路。 安装docker环境以及常用docker命令,请点击跳转查看 简单的ELK数据平台是这样的流程: 由于Kafka并不是ELK中必须的组件,所以本博客跳过部署...

全菜工程师小辉的博客 6014

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

kubernetes中使用ELK进行日志收集

我们这里底层的容器引擎使用的是Docker,且宿主机上的systemd服务可用。因此,我们这里k8s集群系统的日志文件在宿主机的“/var/log”目录下。

weixin_39941298的博客 3436

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Springboot/Springcloud整合ELK平台,(Filebeat方式)日志采集及管理(Elasticsearch+Logstash+Filebeat+Kibana)

前言 最近在搞一套完整的云原生框架,详见 spring-cloud-alibaba专栏,目前已经整合的log4j2,但是想要一套可以实时观察日志的系统,就想到了ELK,然后上一篇文章是socket异步发送给logstash,logstash再输出到elasticsearch索引库中。 logstash是java应用,解析日志是非的消耗cpu和内存,logstash安装在应用部署的机器上显得非常的笨重。最常见的做法是用filebeat部署在应用的机器上,logstash单独部署,然后由filebeat将日志输

weixin_43627706的博客 8743

1、ELK的架构和安装

elk:elasticsearch logstash kibana,统一日志收集系统。elasticsearch:分布式的全文索引引擎的非关系数据库,json格式,在elk中存储所有的日志信息,架构有主和从,最少需要2台。logstash:动态的从各种指定的数据源,获取数据,而且对数据进行过滤,分析。按照统一的格式发送到es。kibana:把es的数据进行展示,进行客户端可以理解的操作,汇总、分析和搜索数据的平台。

qq_44894108的博客 1375

使用ELK收集k8s日志

前言:ELK是目前主流的日志解决方案,尤其是容器化集群的今天,ELK几乎是集群必备的一部分能力;ELK在K8S落地有多种组合模式: 比如:fluentd+ELK或filebeat+ELK或log-pilot+ELK而本文采用的是功能更强大的后者:log-pilot 采集--->logstash过滤加工--->ES存储与索引--->Kibana展示的方案,日志量大的集群建议再加一层kafka提升吞吐,降低logstash的负载。 那么,ELK 到底是什么呢? “ELK”是三个开...

荏苒化蝶 4054

k8s集群部署elk

k8s集群部署elk

ApexPredator的博客 5416

k8s学习--基于k8s的ELK日志收集的详细过程

ELK 是 Elasticsearch、Logstash 和 Kibana 三个开源工具的组合,常用于数据搜索、日志管理和数据可视化Elasticsearch 是一个分布式搜索和分析引擎,基于 Apache Lucene 构建,主要用于存储、搜索和分析大量数据。Logstash 是一个数据收集引擎,能够从多个来源收集数据,进行过滤和转换,然后将数据发送到存储引擎(如 Elasticsearch)。Kibana 是一个数据可视化和分析平台,专为与 Elasticsearch 一起使用而设计。

lwxvgdv的博客 3950

ELK+FileBeat 7.14.0版本安装、部署及使用

Elasticsearch 开源分布式搜索引擎,提供存储、分析、搜索功能。特点:分布式、基于reasful风格、支持海量高并发的准实时搜索场景、稳定、可靠、快速、使用方便等。 接收搜集的海量结构化日志数据,并提供给Kibana查询分析。 Logstash 开源日志搜集、分析、过滤框架,支持多种数据输入输出方式。 用于收集日志,对日志进行过滤形成结构化数据,并转发到Elasticsearch中。 Kibana 开源日志报表系统,对Elasticsearch以及Logstash有良好的web页面支持。 对Ela

Java资料站 896
上一篇: Prometheus 初探
下一篇: Linux系统中sysctl命令详解 sysctl -p、sysctl -a、sysctl -w
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值