使用kubernetes-event-exporter将k8s的事件导出到elasticsearch日志系统中

前提

版本
kubernetes v1.17.9
kubernetes-event-exporter v0.9
elasticsearch 7.3.0

部署

github地址:https://github.com/opsgenie/kubernetes-event-exporter

  1. git 克隆镜像仓库
# git clone https://github.com/opsgenie/kubernetes-event-exporter.git
Cloning into 'kubernetes-event-exporter'...
remote: Enumerating objects: 518, done.
remote: Counting objects: 100% (518/518), done.
remote: Compressing objects: 100% (426/426), done.
remote: Total 5759 (delta 56), reused 466 (delta 36), pack-reused 5241
Receiving objects: 100% (5759/5759), 7.65 MiB | 4.25 MiB/s, done.
Resolving deltas: 100% (2282/2282), done.
  1. 配置01-config.yaml

进到deploy目录,可以看到这三个yaml文件

# cd kubernetes-event-exporter/deploy/
# ls
00-roles.yaml 01-config.yaml 02-deployment.yaml

其中00-roles.yaml是设置rbac权限

# cat 00-roles.yaml
apiVersion: v1
kind: Namespace
metadata:
name: monitoring
---
apiVersion: v1
kind: ServiceAccount
metadata:
namespace: monitoring
name: event-exporter
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: event-exporter
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: view
subjects:
- kind: ServiceAccount
namespace: monitoring
name: event-exporter

01-config.yaml,配置接收者,默认是输出到本地路径

# cat 01-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: event-exporter-cfg
namespace: monitoring
data:
config.yaml: |
logLevel: error
logFormat: json
route:
routes:
- match:
- receiver: "dump"
receivers:
- name: "dump"
file:
path: "/dev/stdout"

02-deployment.yaml,具体部署的pod应用

# cat 02-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: event-exporter
namespace: monitoring
spec:
replicas: 1
template:
metadata:
labels:
app: event-exporter
version: v1
spec:
serviceAccountName: event-exporter
containers:
- name: event-exporter
image: opsgenie/kubernetes-event-exporter:0.9
imagePullPolicy: IfNotPresent
args:
- -conf=/data/config.yaml
volumeMounts:
- mountPath: /data
name: cfg
volumes:
- name: cfg
configMap:
name: event-exporter-cfg
selector:
matchLabels:
app: event-exporter
version: v1

这里有三个yaml,这里我们需要修改01-config.yaml,设置接收者为elasticsearch

# cat 01-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: event-exporter-cfg
namespace: monitoring
data:
config.yaml: |
logLevel: error
logFormat: json
route:
routes:
- match:
- receiver: "dump" # 与下面的name对应
receivers:
- name: "dump"
elasticsearch: # 设置接收者为es
hosts:
- http://10.43.62.184:9200 # es地址
index: kube-events
indexFormat: "kube-events-{2020-09-08}" # 索引格式
useEventID: true

如果是es设置了tls,请参考官方文档设置相关tls参数:https://github.com/opsgenie/kubernetes-event-exporter#elasticsearch

  1. 启动event-exporter

依次执行这三个文件

kubectl apply -f 00-roles.yaml
kubectl apply -f 01-config.yaml
kubectl apply -f 02-deployment.yaml
  1. 查看pod状态
# kubectl -n monitoring get pod
NAME READY STATUS RESTARTS AGE
event-exporter-7cfbbcff69-xxg9t 1/1 Running 0 48m
  1. 查看elasticsearch
# curl http://10.43.62.184:9200/_cat/indices?v
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
green open .kibana_task_manager Qb6qPAipQZiAb29B8VCJ3Q 1 1 2 0 59.2kb 29.6kb
green open kube-events-2020-09-08 gbrvIqevRAGGjxIbR993mA 1 1 16 0 129kb 56.2kb
green open .kibana_1 mVv0LHetQ1mcGbYnbaF3Fg 1 1 4 0 64.2kb 32.1kb

对接成功

最新文章

  1. C#委托理解(个人观点)
  2. 【SIGGRAPH】用【有说服力的照片真实】技术实现最终幻想15的视觉特效
  3. ModelAttribute注解
  4. codeforces 520 Pangram
  5. WebBrowser控件的高级定制+mshtml
  6. 前台框架的选择 EasyUI、DWZ、ligerui
  7. 第三十七节,hashlib加密模块
  8. 纯js实现html转pdf
  9. JAVA 练习 找出素数
  10. SpringBoot使用LomBok
  11. day28 staticmethod 装饰器
  12. u-boot移植(四)---修改前工作:代码流程分析3---代码重定位
  13. SVM学习笔记2-拉格朗日对偶
  14. Hibernate+maven+eclipse 实现自动建表
  15. python 二维list取列
  16. 【Linux】svn环境配置
  17. ajax方式上传图片到Django后台
  18. solaris之cpu
  19. mybatis与hibernate不同(重要)
  20. java catch 捕获异常后会产生一个实例对象 该对象能使用父类的方法

热门文章

  1. 002_HyperLedger Fabric安装部署
  2. Zabbix5 对接 SAML 协议 SSO
  3. 最适合做C/C++开发的IDE
  4. JS实例-01
  5. Hbase写入流程图
  6. golang目录
  7. 在string.replace中使用具名组匹配
  8. 关于ACID,BASE和CAP定理的探究
  9. WordCount (Python)
  10. Rethinking the performance comparison between SNNS and ANNS