Kubernetes上安装ELK监控

Kubernetes上安装ELK监控

安装elk operator自定义的resource

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

kubectl apply -f https://download.elastic.co/downloads/eck/1.3.1/all-in-one.yaml

在这里插入图片描述

安装elasticsearch

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

开放端口

kubectl port-forward service/quickstart-es-http 9200

默认用户名:elastic,密码:

PASSWORD=$(kubectl get secret quickstart-es-elastic-user -o go-template='{
    {.data.elastic | base64decode}}')
echo $PASSWORD

测试访问

curl -u "elastic:$PASSWORD" -k "https://localhost:9200"

在这里插入图片描述

部署Kibana

创建kibana

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

在这里插入图片描述

开放端口

kubectl port-forward service/quickstart-kb-http 5601

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

kubectl get secret quickstart-es-elastic-user -o=jsonpath='{.data.elastic}' | base64 --decode; echo

访问kibana,注意是https

https://localhost:5601

在这里插入图片描述
kibana已经可以访问了,要收集containers日志还要创建filebeat。

filebeat 测试

k create -f https://raw.githubusercontent.com/chenjiangtao/spring-boot-on-kubernetes/main/kubernetes/elk/all-in-one/filebeat.yaml

在这里插入图片描述
在kibana中创建filebeat索引,已经可以看到k8s的日志了
在这里插入图片描述

使用busybox模拟应用打印日志

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.net/100335.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Cocos2d-x-lua游戏两个场景互相切换MainScene01切换到MainScene02「建议收藏」

    Cocos2d-x-lua游戏两个场景互相切换MainScene01切换到MainScene02

    2022年1月21日
    34
  • 隐形数字水印_Android 实现图片水印与隐形数字水印

    隐形数字水印_Android 实现图片水印与隐形数字水印在使用知乎,微博的时候,我们经常可以看到自己上传的图片被加上了文字水印,在实际的应用开发过程中,很多客户端都需要开发者自己编写Canvs绘制图形水印的方法,今天我想在这里介绍一个轻量级的开源Android图片水印框架来避免开发过程中编写复杂的绘图代码:AndroidWM,并且剖析它的实现过程和特色用法。水印这个框架最大程度上简化了图片水印绘制的问题,暴露了灵活的接口给用户使用。在绘制水印的…

    2025年5月29日
    0
  • shell编程入门_unix编程

    shell编程入门_unix编程1.Shell的概念shell是一个命令行解释器,它为客户提供了一个Linux内核发送请求一边运行程序界面系统级程序,用汉语可以通过shell启动、挂起、停止甚至编写一些程序。shell还是一个功能强大的编程语言,易于编辑,易于调试,灵活性强,shell是结识知识性的脚本语言,在我们shell中直接调用Linux的系统命令操作即可。2.Shell的分类(1)BourneShell(bshell)从1979年在unix系统就开始使用了。它的主要…

    2025年6月19日
    0
  • 北航校赛2014 预赛 题解

    北航校赛2014 预赛 题解

    2022年1月28日
    34
  • 端口timewait如何解决_如何检测端口状态

    端口timewait如何解决_如何检测端口状态网上查了一下端口状态的资料,我下面总结了一下,自己学习学习:TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中,最值得注意的状态有两个:C……

    2022年9月7日
    0
  • 树,二叉树,查找算法总结

    树,二叉树,查找算法总结

    2021年10月6日
    62

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号