自托管状态页面工具Kener

在这里插入图片描述

什么是 Kener ?

Kener 是开源的 Node.js 状态页面工具,旨在轻松监控服务和处理事故。它提供了一个时尚且用户友好的界面,简化了对服务中断的跟踪,并改善了我们在事故期间的沟通方式。而最好的部分是,KenerGitHub 无缝集成,使事故管理成为团队合作的一部分,让我们更容易在协作友好的环境中一起跟踪和解决问题。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 端口号
本地端口容器端口
32123000

在这里插入图片描述

环境

可变
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/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/753880.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

hosts文件丢失了怎么办?

hosts文件的位置:C:\Windows\System32\drivers\etc 丢失了恢复的方法: 在“管理员:命令提示符中输入: (winR 然后cmd) for /f %P in (dir %windir%\WinSxS\hosts /b /s) do copy %P %windir%\System32\d…

天题赛座位分配(pta团体天梯题c++简易版)

天梯赛每年有大量参赛队员,要保证同一所学校的所有队员都不能相邻,分配座位就成为一件比较麻烦的事情。为此我们制定如下策略:假设某赛场有 N 所学校参赛,第 i 所学校有 M[i] 支队伍,每队 10 位参赛选手。令每校选手排…

超实用!免费软件站大盘点,总有一款适合你

相信用Mac电脑的同学都知道一个网站MacWK,可以白嫖几乎所有常用软件,不用付费,但不好的消息是在2022年10月宣布关站,小编从此走上了开源免费的道路,尽管不太好用,奈何口袋木有钱,经过小编的不断…

找出字符串中第一个匹配项的下标-力扣

纯自己手写 int strStr(char* haystack, char* needle) {int haylenstrlen(haystack);int nelenstrlen(needle);if(strlen(haystack)<strlen(needle)) return -1;int slow0;//用于标记从haystack哪个字符开始比较int fast0;//用于标记haystack中正在进行比较的字符int ne…

力扣日记3.18-【贪心算法篇】122. 买卖股票的最佳时机 II

力扣日记&#xff1a;【贪心算法篇】122. 买卖股票的最佳时机 II 日期&#xff1a;2024.3.18 参考&#xff1a;代码随想录、力扣 122. 买卖股票的最佳时机 II 题目描述 难度&#xff1a;中等 给你一个整数数组 prices &#xff0c;其中 prices[i] 表示某支股票第 i 天的价格。…

AI大模型额外学习一:斯坦福AI西部世界小镇笔记(包括部署和源码分析)

文章目录 一、简单介绍1&#xff09;项目代码介绍2&#xff09;重新播放模拟3&#xff09;适当修改分叉模拟 二、部署斯坦福小镇Demo1&#xff09;准备工作2&#xff09;解决遇到的bug3&#xff09;启动服务器和前端 三、源码剖析1&#xff09;主题顺序 github链接 一、简单介…

08|记忆:通过Memory记住客户上次买花时的对话细节

无论是LLM还是代理都是无状态的&#xff0c;每次模型的调用都是独立于其他交互的。也就是说&#xff0c;我们每次通过API开始和大语言模型展开一次新的对话&#xff0c;它都不知道你其实昨天或者前天曾经和它聊过天了。 使用ConversationChain from langchain import OpenAI…

1.gradle编译和运行

1.在Windows 项目的根目录下使用.\gradlew.bat build命令进行编译。 如果出错的原因是连接超时&#xff1a; Exception in thread “main” java.io.IOException: Downloading from https://services.gradle.org/distributions/gradle-8.6-bin.zip failed: timeout (10000ms) a…

【华为OD机试】找座位【C卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 在一个大型体育场内举办了一场大型活动,由于疫情防控的需要, 要求每位观众的必须间隔至少一个空位才允许落座。 现在给出一排观众座位分布图,座位中存在已落座的观众,请计算出, 在不移…

嵌入式会越来越卷吗?

嵌入式会越来越卷吗? 当谈及嵌入式系统时&#xff0c;我们探究的不仅是一种科技&#xff0c;更是一个日益多元与普及的趋势。嵌入式系统&#xff0c;作为一种融入更大系统中的计算机硬件和软件&#xff0c;旨在执行特定功能或任务。但这个看似特定的系统概念&#xff0c;却在发…

黑马程序员——javase进阶——day09——线程安全,死锁,状态,通讯,线程池

目录&#xff1a; 线程安全 线程安全产生的原因线程的同步同步代码块同步方法Lock锁线程死锁 概述:产生条件:代码实践线程的状态线程通信线程池 线程使用存在的问题线程池的介绍线程池使用的大致流程线程池的好处Java提供好的线程池线程池处理Runnable任务线程池处理Callable任…

LeetCode刷题记录:(11)组合(初识回溯算法)

leetcode传送通道 暂时记录&#xff0c;这篇没啥营养&#xff0c;不用看了 class Solution {List<List<Integer>> result new ArrayList<>(); // 存所有组合List<Integer> path new LinkedList<>(); //存每一个组合public List<List<Int…

世界第一个AI软件工程师问世!

2024年3月13日&#xff0c;科技公司Cognition推出了世界上第一位人工智能软件工程师Devin AI。这项创新有望利用人工智能编码和机器学习的力量加快发展。Devin AI不仅仅是帮助&#xff1b;它是一个成熟的队友&#xff0c;发挥智能编码自动化和自主人工智能编码的魔力&#xff0…

SQL注入无回显,利用DNSlog构造方式

没有回显的情况下&#xff0c;一般编写脚本&#xff0c;进行自动化注入。但与此同时&#xff0c;由于 防火墙的存在&#xff0c;容易被封禁 IP&#xff0c;可以尝试调整请求频率&#xff0c;有条件的使用代理池进行请求。 此时也可以使用 DNSlog 注入&#xff0c;原理就是把服…

salesforce生产环境如何删除触发器

由于生产环境不能直接删除触发器&#xff0c;所以需要在sandbox中先让触发器inactive再部署到生产环境&#xff0c;就可以让触发器失效了。

C++基础6:面向对象程序设计思想和类(上)

此专栏为移动机器人知识体系下的编程语言中的 C {\rm C} C从入门到深入的专栏&#xff0c;参考书籍&#xff1a;《深入浅出 C {\rm C} C》(马晓锐)和《从 C {\rm C} C到 C {\rm C} C精通面向对象编程》(曾凡锋等)。 6.面向对象程序设计思想和类 6.1 程序设计思想 6.1.1 结构化…

春招第一面-京东

宝子们&#xff0c;卷起来吧&#xff01; 1、自我介绍 2、实习项目 3、实习项目分库分表怎么做的&#xff1f; 4、分布式主键用的是什么&#xff1f;雪花ID是怎么样的&#xff0c;有什么问题&#xff1f; 5、实习业务具体是干嘛 6、你们这个业务为啥不用es&#xff0c;如…

vscode中自动生成python的UML类图的插件

需求&#xff1a; 阅读一些源码时&#xff0c;想直观的看一下它的UML类关系图。 搜索发现已有相关的软件可以实现这个功能。 Linux系统&#xff1a; 安装pylint pip3 install pylint 使用pyreverse命令 pyreverse -ASmy -o png test.py 生成名为classes.png的UML类图 参考…

苍穹外卖-day08:导入地址簿功能代码(单表crud)、用户下单(业务逻辑)、订单支付(业务逻辑,cpolar软件)

苍穹外卖-day08 课程内容 导入地址簿功能代码用户下单订单支付 功能实现&#xff1a;用户下单、订单支付 用户下单效果图&#xff1a; 订单支付效果图&#xff1a; 1. 导入地址簿功能代码&#xff08;单表crud&#xff09; 1.1 需求分析和设计 1.1.1 产品原型&#xff08…

苍穹外卖-day04:项目实战-套餐管理(新增套餐,分页查询套餐,删除套餐,修改套餐,起售停售套餐)业务类似于菜品模块

苍穹外卖-day04 课程内容 新增套餐套餐分页查询删除套餐修改套餐起售停售套餐 要求&#xff1a; 根据产品原型进行需求分析&#xff0c;分析出业务规则设计接口梳理表之间的关系&#xff08;分类表、菜品表、套餐表、口味表、套餐菜品关系表&#xff09;根据接口设计进行代…