event-exporter
This commit is contained in:
parent
d861411e41
commit
e3db103efd
|
|
@ -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: ["*"]
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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"
|
||||||
Loading…
Reference in New Issue