前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >Kubernetes上安装ELK监控

Kubernetes上安装ELK监控

作者头像
全栈程序员站长
发布2021-05-19 16:27:27
发布2021-05-19 16:27:27
95500
代码可运行
举报
运行总次数:0
代码可运行

安装elk operator自定义的resource

里面包含了es,kibana,filebeat等资源的定义,以及RBAC

代码语言:javascript
代码运行次数:0
复制
kubectl apply -f https://download.elastic.co/downloads/eck/1.3.1/all-in-one.yaml

安装elasticsearch

代码语言:javascript
代码运行次数:0
复制
cat <<EOF | kubectl apply -f -
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch
metadata:
  name: quickstart
spec:
  version: 7.10.2
  nodeSets:
    - name: default
      count: 1
      config:
        node.store.allow_mmap: false
EOF

开放端口

代码语言:javascript
代码运行次数:0
复制
kubectl port-forward service/quickstart-es-http 9200

默认用户名:elastic,密码:

代码语言:javascript
代码运行次数:0
复制
PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o go-template='{
    {.data.elastic | base64decode}}')
echo $PASSWORD

测试访问

代码语言:javascript
代码运行次数:0
复制
curl -u "elastic:$PASSWORD" -k "https://localhost:9200"

部署Kibana

创建kibana

代码语言:javascript
代码运行次数:0
复制
cat <<EOF | kubectl apply -f -
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
  name: quickstart
spec:
  version: 7.10.2
  count: 1
  elasticsearchRef:
    name: quickstart
EOF

开放端口

代码语言:javascript
代码运行次数:0
复制
kubectl port-forward service/quickstart-kb-http 5601

默认用户名:elastic,获取密码(同es密码)

代码语言:javascript
代码运行次数:0
复制
kubectl get secret quickstart-es-elastic-user -o=jsonpath='{.data.elastic}' | base64 --decode; echo

访问kibana,注意是https

代码语言:javascript
代码运行次数:0
复制
https://localhost:5601

kibana已经可以访问了,要收集containers日志还要创建filebeat。

filebeat 测试

代码语言:javascript
代码运行次数:0
复制
k create -f https://raw.githubusercontent.com/chenjiangtao/spring-boot-on-kubernetes/main/kubernetes/elk/all-in-one/filebeat.yaml

在kibana中创建filebeat索引,已经可以看到k8s的日志了

使用busybox模拟应用打印日志

代码语言:javascript
代码运行次数:0
复制
cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: Pod
metadata:
  name: counter
spec:
  containers:
  - name: count
    image: busybox
    # 输出hello world 
    args: [/bin/sh, -c,
            'i=0; while true; do echo "hello world: $i: $(date)"; i=$((i+1)); sleep 3; done']
EOF        

可以看到filebeat已经收集到了

参考: quickstart https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-quickstart.html 演示代码位置:https://github.com/chenjiangtao/spring-boot-on-kubernetes/tree/main/kubernetes/elk/all-in-one

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/100335.html原文链接:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装elk operator自定义的resource
  • 安装elasticsearch
  • 部署Kibana
  • filebeat 测试
  • 使用busybox模拟应用打印日志
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档