Uptime Kumaがいい感じだった
Table of Contents
自宅k8sにuptime robotクローンなOSS “Uptime Kuma"をリリースしてみた話
Uptime Kumaとは
Uptime Kumaはサーバの死活監視を行うOSSで、似たSaaSにUptimeRobotがある。
Uptime KumaはUptimeRobot同様、
- 死活監視
- 通知機能
- ステータスダッシュボード
等の機能を備えていて、Grafana+Prometheus+alertmanagerな死活監視スタックよりも軽量なオールインワン死活監視といった理解をしている。
実際UptimeRobotのほうはすでに活用していて、NASが死ぬとか、停電で自宅鯖が全滅するレベルの障害が起きたときにメールで通知が受けられるようにしてある。
今回はUptime Kumaを使って、podやNode単位での障害のステータスページを作ったり、discordへの通知を行うことにした。
manifests
さっそくだがマニフェストファイルは以下
Namespace
namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: uptime-kumaPV,PVC
pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-uptime-kuma
spec:
storageClassName: uptime-kuma
capacity:
storage: 5Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Retain
nfs:
server: xxx.xxx.xxx.xxx
path: /k8s/uptime-kumapvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: uptime-kuma-pvc
namespace: uptime-kuma
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
storageClassName: uptime-kumaService
service.yaml
apiVersion: v1
kind: Service
metadata:
name: uptime-kuma
namespace: uptime-kuma
labels:
app: uptime-kuma
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 3001
protocol: TCP
name: http
selector:
app: uptime-kumaDeployment
deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: uptime-kuma
namespace: uptime-kuma
labels:
app: uptime-kuma
spec:
replicas: 1
selector:
matchLabels:
app: uptime-kuma
template:
metadata:
labels:
app: uptime-kuma
spec:
containers:
- name: uptime-kuma
image: louislam/uptime-kuma:latest
ports:
- containerPort: 3001
name: http
volumeMounts:
- name: uptime-kuma-data
mountPath: /app/data
resources:
limits:
cpu: "500m"
memory: "512Mi"
requests:
cpu: "200m"
memory: "256Mi"
volumes:
- name: uptime-kuma-data
persistentVolumeClaim:
claimName: uptime-kuma-pvc省略するが、Ingressにもhostを記載しておく。
アクセスしてみる
ダッシュボード

こんな見た目。(落ちてるサーバは友人の公開しているサービス笑)
通知

Discord通知の様子。シンプルで良い。
ステータスページ
ログインが必要な監視画面とは別に、公開用のステータスページを作ることができる。
公開中のマイクラサーバのステータスページを作ってみた。

感想
UptimeRobotみたいな使用感で簡単に死活監視ができそうだった。自宅鯖ユースならGrafanaとか入れるより、こっちのほうが楽かなと思った。
個人的には組み込みでマイクラ鯖の死活監視ができたりするのが良かった。
Read other posts