
什么是 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/imagecontainer_name: kenerenvironment:- 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.yamlports:- '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 blogdescription: 老苏的博客,主要记录了各种折腾的过程。tag: "blog"image: "https://laosu.tech/images/laosu_wx.jpg"api:method: GETurl: 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/