KubeSphere-03-Logging 日志插件的使用
一、简单介绍
KubeSphere Logging 是 KubeSphere 平台的可观测性日志插件,提供企业级日志管理解决方案。它基于 Elasticsearch 或者 OpenSearch 构建存储后端,支持多租户日志收集、查询和分析。该插件能够自动采集容器、工作负载和平台审计日志,通过内置的 Fluent Bit 进行日志收集和预处理,并配备直观的日志查询界面。支持灵活的日志保留策略(默认7天)、Sidecar 模式增强日志可靠性,以及外部日志系统集成。具备完整的权限控制和多维度日志检索能力,帮助企业快速定位问题并满足合规要求。
二、开启插件
编辑 ks-installer 的配置文件
tianxiang@k8s-master1:~$ kubectl edit cc -n kubesphere-system ks-installer
# 可以选择性开启 opensearch 或者是 elasticsearch ,两者只能开启一个
opensearch:
basicAuth:
enabled: true
password: admin
username: admin
dashboard:
enabled: true
enabled: true
externalOpensearchHost: ""
externalOpensearchPort: ""
logMaxAge: 7
opensearchPrefix: whizard
# 开启 logging
logging:
containerruntime: docker
enabled: true
logsidecar:
enabled: true
replicas: 2保存退出后 ks-installer 将会重启
三、日志插件的使用
企业空间中开启日志收集功能后,此项目下的 pod 会被收集日志






四、日志告警插件部署
项目地址:https://github.com/zhentianxiang/opensearch-alert
一款基于 Go 的 OpenSearch 告警与可视化系统,支持 Web 管理台、规则管理、配置管理、历史告警查看及多种通知渠道。内置 SQLite/MySQL 双数据库支持,可在 Kubernetes 环境以多副本运行,内置分布式锁与去重,避免重复告警。
1. 下载源代码本地构建
$ cd opensearch-alert-main
$ docker build -t opensearch-alert:latest .2. k8s 启动告警插件
修改 configmap 配置信息
$ vim k8s/configmap.yaml
# 我这里只贴一部分关键信息
notifications:
email:
enabled: false
smtp_server: smtp.qq.com
smtp_port: 587
username: 209963XXXX@qq.com
password: xxxxxxxxx
from_email: 209963XXXX@qq.com
to_emails: [209963XXXX@qq.com]
use_tls: true
dingtalk:
enabled: false
webhook_url: https://oapi.dingtalk.com/robot/send?access_token=3b270c49f421b589749d4ce9deaxxxxxxxxxxxxxxxxxxxxxx
secret: SECbd1123d0b434ac3dbd4f1f118f614xxxxxxxxxxxxxxxxxxxxxx
at_mobiles:
- "1833282xxxx"
at_all: false
wechat:
enabled: false
webhook_url: https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=5f7c6145-47f9-441cxxxxxxxxxxxxxxxxxxxxxx
mentioned_list: []
mentioned_mobile_list:
- "1833282xxxx"
at_all: false
feishu:
enabled: true
webhook_url: https://open.feishu.cn/open-apis/bot/v2/hook/a06d5b36-a9d2-4408-xxxxxxxxxxxxxxxxxxxxxx
secret: ""
at_mobiles: []
at_all: true启动插件
$ kubectl apply -f k8s/configmap.yaml
$ kubectl apply -f k8s/deployment.yaml
$ kubectl apply -f k8s/service.yaml查看启动情况
$ kubectl get pod -n k8s-app3. 查看效果


License:
CC BY 4.0