event-exporter

This commit is contained in:
root 2025-09-15 15:15:32 +09:00
parent d861411e41
commit e3db103efd
4 changed files with 166 additions and 0 deletions

View File

@ -0,0 +1,30 @@
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: event-exporter
subjects:
- kind: ServiceAccount
namespace: monitoring
name: event-exporter
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: event-exporter
rules:
- apiGroups: ["*"]
resources: ["*"]
verbs: ["get", "watch", "list"]
- apiGroups: ["coordination.k8s.io"]
resources: ["leases"]
verbs: ["*"]

View File

@ -0,0 +1,26 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: event-exporter-cfg
namespace: monitoring
data:
config.yaml: |
logLevel: warn
logFormat: json
metricsNamePrefix: event_exporter_
route:
routes:
- match:
- receiver: "dump"
- match:
- kind: "Pod|Deployment|ReplicaSet"
namespace: "org.*"
receiver: "loki-stack"
receivers:
- name: "dump"
stdout: {}
- name: "loki-stack"
loki:
streamLabels: # Loki에 보낼 기본 라벨
source: event-exporter
url: http://loki-stack.loki-monitoring.svc.cluster.local:3100/loki/api/v1/push

View File

@ -0,0 +1,45 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: event-exporter
namespace: monitoring
spec:
replicas: 1
template:
metadata:
labels:
app: event-exporter
version: v1
annotations:
prometheus.io/scrape: 'true'
prometheus.io/port: '2112'
prometheus.io/path: '/metrics'
spec:
serviceAccountName: event-exporter
securityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
containers:
- name: event-exporter
# The good practice would be to pin the version. This is just a reference so that we don't
# have to update this file in each release.
image: ghcr.io/resmoio/kubernetes-event-exporter:latest
imagePullPolicy: IfNotPresent
args:
- -conf=/data/config.yaml
volumeMounts:
- mountPath: /data
name: cfg
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop: [ALL]
volumes:
- name: cfg
configMap:
name: event-exporter-cfg
selector:
matchLabels:
app: event-exporter
version: v1

65
event-exporter/test.yaml Normal file
View File

@ -0,0 +1,65 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: event-exporter-cfg
namespace: monitoring
data:
config.yaml: |
logLevel: warn
logFormat: json
metricsNamePrefix: event_exporter_
route:
routes:
- match:
- receiver: "dump"
- match:
- kind: "Pod|Deployment|ReplicaSet"
namespace: "org.*"
type: "Normal"
receiver: "my-dooray-Normal"
- match:
- kind: "Pod|Deployment|ReplicaSet"
namespace: "org.*"
type: "Warning"
receiver: "my-dooray-Warning"
receivers:
- name: "dump"
stdout: {}
- name: "my-dooray-Normal"
webhook:
endpoint: "https://nhnent.dooray.com/services/3407365765389747827/4142374041543123369/IxIWPFPMRzG37T-EMU_QMQ"
headers:
Content-Type: "application/json"
layout:
botName: "K8s Event Bot"
botIconImage: "https://static.dooray.com/static_images/dooray-bot.png"
text: "[{{ .Type }}] {{ .Namespace }}/{{ .InvolvedObject.Kind }}/{{ .InvolvedObject.Name }}"
attachments:
- title: "Information"
text: "{{ index .InvolvedObject.Labels \"project-name\" }}/{{ index .InvolvedObject.Labels \"workload-name\" }}"
color: "green"
- title: "Reason"
text: "{{ .Reason }}"
color: "green"
- title: "Message"
text: "{{ .Message }}"
color: "green"
- name: "my-dooray-Warning"
webhook:
endpoint: "https://nhnent.dooray.com/services/3407365765389747827/4142374041543123369/IxIWPFPMRzG37T-EMU_QMQ"
headers:
Content-Type: "application/json"
layout:
botName: "K8s Event Bot"
botIconImage: "https://static.dooray.com/static_images/dooray-bot.png"
text: "[{{ .Type }}] {{ .Namespace }}/{{ .InvolvedObject.Kind }}/{{ .InvolvedObject.Name }}"
attachments:
- title: "Information"
text: "{{ index .InvolvedObject.Labels \"project-name\" }}/{{ index .InvolvedObject.Labels \"workload-name\" }}"
color: "red"
- title: "Reason"
text: "{{ .Reason }}"
color: "red"
- title: "Message"
text: "{{ .Message }}"
color: "red"