什么是 Kener ?
Kener
是开源的Node.js
状态页面工具,旨在轻松监控服务和处理事故。它提供了一个时尚且用户友好的界面,简化了对服务中断的跟踪,并改善了我们在事故期间的沟通方式。而最好的部分是,Kener
与GitHub
无缝集成,使事故管理成为团队合作的一部分,让我们更容易在协作友好的环境中一起跟踪和解决问题。Kener
使用文件来存储数据。其他适配器即将推出。
Kener
功能和老苏介绍的 Uptime Kuma
相似,用于监控网站是否在线
文章传送门:网站在线监控工具Uptime Kuma
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 rajnandan1/kener
,选择第一个 rajnandan1/kener
,版本选择 latest
。
本文写作时,
latest
版本对应为0.0.8
;
卷
在 docker
文件夹中,创建一个新文件夹 kener
,并在其中建一个子文件夹 config
文件夹 | 装载路径 | 说明 |
---|---|---|
docker/kener/config | /config | 存放设置文件、图片等 |
端口
本地端口不冲突就行,不确定的话可以用命令查一下
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 | 容器端口 |
---|---|
3212 | 3000 |
环境
可变 | 值 |
---|---|
TZ | 时区设置 |
下拉找到 TZ
,默认值为 Etc/GMT
改为 Asia/Shanghai
更多的环境变量设置请参考官方文档:https://kener.ing/docs#h2environment-variable
命令行安装
如果你熟悉命令行,可能用 docker cli
更快捷
# 新建文件夹 kener 和 子目录
mkdir -p /volume1/docker/kener/config
# 进入 kener 目录
cd /volume1/docker/kener
# 运行容器
docker run -d \
--restart unless-stopped \
--name kener \
-p 3212:3000 \
-v $(pwd)/config:/config \
-e TZ=Asia/Shanghai \
rajnandan1/kener:latest
也可以用 docker-compose
安装,将下面的内容保存为 docker-compose.yml
文件
version: '3.7'
services:
kener:
image: rajnandan1/kener:latest # assuming this is final namespace/image
container_name: kener
environment:
- TZ=Asia/Shanghai
#- GH_TOKEN=
#- API_TOKEN=
#- API_IP
# If running on a LINUX HOST and not podman rootless these MUST BE SET
# run "id $user" from command line and replace numbers below with output from command
#- PUID=1000 # gid
#- PGID=1000 # uid
### Most likely DO NOT need to change anything below this ###
#- PORT=3000 Port app listens on IN CONTAINER
### If any of the below are changed make sure the bound volume is correct as well ###
#- CONFIG_DIR=/config
#- PUBLIC_KENER_FOLDER=/config/static
#- MONITOR_YAML_PATH=/config/monitors.yaml
#- SITE_YAML_PATH=/config/site.yaml
ports:
- '3212:3000/tcp'
volumes:
- './config:/config:rw'
然后执行下面的命令
# 新建文件夹 kener 和 子目录
mkdir -p /volume1/docker/kener/config
# 进入 kener 目录
cd /volume1/docker/kener
# 将 docker-compose.yml 放入当前目录
# 一键启动
docker-compose up -d
运行
在浏览器中输入 http://群晖IP:3212
就能看到主界面
在 /config
目录中有两个文件,其中
monitors.yaml
:可以在这个文件中添加要监控的站点,但是需要注意,yaml
必须有效。site.yaml
:此文件包含了站点相关的设置,可以通过修改此文件以拥有自己的品牌
添加监控站点
需要修改 monitors.yaml
文件,但是修改之前要记得改权限,要给 Everyone
文件写入的权限
还是以老苏的博客为例,因为描述中有中文,所以编码必须是 UTF-8
格式
- name: laosu's blog
description: 老苏的博客,主要记录了各种折腾的过程。
tag: "blog"
image: "https://laosu.tech/images/laosu_wx.jpg"
api:
method: GET
url: https://laosu.tech
完整的参数介绍,请看官方文档:https://kener.ing/docs#h1add-monitors,当然页面上也有,地址是 http://群晖IP:3212/docs#h1add-monitors
名称 | 必填 | 说明 |
---|---|---|
name | 必填,唯一值 | 只是监视器的名称,会显示在界面上 |
description | 可选 | 简介,会显示在名字下面 |
tag | 必填,唯一值 | 用于使用评论在 GitHub 上标记创建的事故 |
image | 可选 | 显示在名字前面的 logo |
api.method | 可选 | HTTP 方法 |
api.url | 可选 | 需要监控站点的 HTTP 地址 |
上面只是一个最简单的示例,保存后还需要重启容器,使得设置生效。再次刷新网页就会看到设置生效了
名字下面有两个按钮,一个显示简介,另一个是分享
有兴趣可以改改 site.yaml
玩,道理和 monitors.yaml
是一样的。
目前的功能不多,从 Roadmap
看,后续应该还会增加数据库的监测和消息发送。
参考文档
rajnandan1/kener: Kener is a Modern Self hosted Status Page, batteries included
地址:https://github.com/rajnandan1/kener
Kener - Modern Open Source Status Page
地址:https://kener.ing/