add alert
This commit is contained in:
parent
0d7a853a9d
commit
718b5bb9a4
|
|
@ -0,0 +1,16 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: alertmanager-config
|
||||||
|
namespace: default
|
||||||
|
data:
|
||||||
|
alertmanager.yml: |
|
||||||
|
route:
|
||||||
|
group_by: ['alertname']
|
||||||
|
group_wait: 10s
|
||||||
|
group_interval: 10s
|
||||||
|
repeat_interval: 1h
|
||||||
|
receiver: 'default-receiver'
|
||||||
|
|
||||||
|
receivers:
|
||||||
|
- name: 'default-receiver'
|
||||||
|
|
@ -0,0 +1,51 @@
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: alertmanager
|
||||||
|
namespace: default
|
||||||
|
labels:
|
||||||
|
app: alertmanager
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
strategy:
|
||||||
|
type: Recreate
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: alertmanager
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: alertmanager
|
||||||
|
spec:
|
||||||
|
nodeSelector:
|
||||||
|
node-role.kubernetes.io/control-plane: "true"
|
||||||
|
containers:
|
||||||
|
- name: alertmanager
|
||||||
|
image: registry.t-aaron.com/prom/alertmanager:latest
|
||||||
|
ports:
|
||||||
|
- containerPort: 9093
|
||||||
|
args:
|
||||||
|
- "--config.file=/etc/alertmanager/alertmanager.yml"
|
||||||
|
- "--storage.path=/alertmanager/"
|
||||||
|
- "--web.external-url=http://alertmanager.example.com"
|
||||||
|
- "--web.route-prefix=/"
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
memory: "256Mi"
|
||||||
|
cpu: "250m"
|
||||||
|
limits:
|
||||||
|
memory: "512Mi"
|
||||||
|
cpu: "500m"
|
||||||
|
volumeMounts:
|
||||||
|
- name: alertmanager-config
|
||||||
|
mountPath: /etc/alertmanager/
|
||||||
|
- name: alertmanager-storage
|
||||||
|
mountPath: /alertmanager/
|
||||||
|
volumes:
|
||||||
|
- name: alertmanager-config
|
||||||
|
configMap:
|
||||||
|
name: alertmanager-config
|
||||||
|
- name: alertmanager-storage
|
||||||
|
hostPath:
|
||||||
|
path: /opt/alertmanager/data
|
||||||
|
type: DirectoryOrCreate
|
||||||
|
|
@ -0,0 +1,24 @@
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: alertmanager-ingress
|
||||||
|
namespace: default
|
||||||
|
annotations:
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
|
||||||
|
traefik.ingress.kubernetes.io/router.tls: "true"
|
||||||
|
spec:
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- alertmanager-ops.t-aaron.com
|
||||||
|
secretName: tls
|
||||||
|
rules:
|
||||||
|
- host: alertmanager-ops.t-aaron.com
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: alertmanager-service
|
||||||
|
port:
|
||||||
|
number: 9093
|
||||||
|
|
@ -0,0 +1,16 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: alertmanager-service
|
||||||
|
namespace: default
|
||||||
|
labels:
|
||||||
|
app: alertmanager
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
app: alertmanager
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
port: 9093
|
||||||
|
targetPort: 9093
|
||||||
|
protocol: TCP
|
||||||
|
type: ClusterIP
|
||||||
|
|
@ -0,0 +1,22 @@
|
||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo "开始安装 Alertmanager..."
|
||||||
|
|
||||||
|
# 创建数据目录并设置权限
|
||||||
|
sudo mkdir -p /opt/alertmanager/data
|
||||||
|
sudo chown -R 65534:65534 /opt/alertmanager/data
|
||||||
|
|
||||||
|
# 应用配置文件
|
||||||
|
kubectl apply -f alertmanager-configmap.yaml
|
||||||
|
kubectl apply -f alertmanager-deployment.yaml
|
||||||
|
kubectl apply -f alertmanager-service.yaml
|
||||||
|
kubectl apply -f alertmanager-ingress.yaml
|
||||||
|
|
||||||
|
echo "等待 Alertmanager 启动..."
|
||||||
|
kubectl wait --for=condition=available --timeout=300s deployment/alertmanager
|
||||||
|
|
||||||
|
echo "Alertmanager 安装完成!"
|
||||||
|
echo "查看状态: kubectl get pods -l app=alertmanager"
|
||||||
|
echo "查看服务: kubectl get svc alertmanager-service"
|
||||||
|
echo "访问地址: https://alertmanager.example.com"
|
||||||
|
|
@ -15,4 +15,5 @@ kubectl wait --for=condition=available --timeout=300s deployment/grafana
|
||||||
echo "Grafana 安装完成!"
|
echo "Grafana 安装完成!"
|
||||||
echo "查看状态: kubectl get pods -l app=grafana"
|
echo "查看状态: kubectl get pods -l app=grafana"
|
||||||
|
|
||||||
|
默认用户名:admin
|
||||||
|
默认密码:admin123
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue