前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >monitoror/monitoror 最轻量的监控大屏

monitoror/monitoror 最轻量的监控大屏

作者头像
LinkinStar
发布2022-09-01 14:40:11
8790
发布2022-09-01 14:40:11
举报
文章被收录于专栏:LinkinStar's Blog

一提到监控大屏,那第一想法就是 grafana 对吧,各种样式图形都非常好看,而且支持各种数据源。而今天要分享的是一个更加轻量的监控大屏 monitoror/monitoror

有了它能帮你快读构建一个的对于网站或者应用的监控页面,特别是在小应用数量多的时候非常简单易用,作为一个大屏展示时它我觉得它足够简洁

demo & repo

https://demo.monitoror.com/

https://github.com/monitoror/monitoror

优点

  • 部署轻量
  • 配置简单
  • 大屏简洁

部署

二进制部署

https://monitoror.com/documentation/get-started/

非常简单,只需要将二进制文件下载,然后按照要求配置对应的配置文件,就可以了

代码语言:javascript
复制
chmod +x monitoror
./monitoror

配置文件.env

代码语言:javascript
复制
MO_CONFIG="./config.json"

配置文件config.json

代码语言:javascript
复制
{
  "version": "2.0",
  "columns": 2,
  "tiles": [
    {
      "type": "PORT",
      "label": "Welcome config example",
      "params": {
        "hostname": "127.0.0.1",
        "port": 8080
      }
    },
    {
      "type": "HTTP-RAW",
      "label": "Monitoror stars",
      "params": {
        "url": "https://github.com/monitoror/monitoror",
        "regex": "(\\d+) users starred"
      }
    }
  ]
}

k8s 部署

代码语言:javascript
复制
apiVersion: apps/v1
kind: Deployment
metadata:
  name: monitoror
  namespace: monitoror
  labels:
    app: monitoror
spec:
  replicas: 1
  selector:
    matchLabels:
      app: monitoror
  template:
    metadata:
      labels:
        app: monitoror
    spec:
      containers:
      - name: monitoror
        image: monitoror/monitoror:latest
        env:
        - name: MO_CONFIG
          value: "/conf/monitoror.json"
        volumeMounts:
        - name: config-volume
          mountPath: "/conf"
        ports:
        - name: web
          containerPort: 32000
        resources:
          limits:
            cpu: 100m
            memory: 200Mi
      volumes:
        - name: config-volume
          configMap:
            name: monitoror-config
            items: 
            - key: monitoror.json
              path: monitoror.json

其中需要注意的就是配置文件 configmap 挂载的位置

还有环境变量 MO_CONFIG 需要指定对应的配置文件路径

配置

https://monitoror.com/documentation/#configuration

monitoror 的配置很简单

监控端口

只需要填入对应的地址和端口即可

代码语言:javascript
复制
{
  "type": "PORT",
  "label": "Welcome config example",
  "params": {
    "hostname": "127.0.0.1",
    "port": 8080
  }
}

监控HTTP

只需要填入对应的地址,然后还可以做简单的处理,还有可能监控对应的 http code 状态码

代码语言:javascript
复制
{
  "type": "HTTP-RAW",
  "label": "Monitoror stars",
  "params": {
    "url": "https://github.com/monitoror/monitoror",
    "regex": "(\\d+) users starred"
  }
}

多平台

https://monitoror.com/guides/

甚至可以将这个安装到树莓派上去,这个就很有意思了,因为轻量的关系,这个作为一个监控随便插到哪里,还蛮有意思的

总结

如果你需要最快速的搭建一个可用的监控大屏,或许这就是一个不错的选择;当然如果你需要更多的数据监控,需要一些流量数值等等还需要一些图表,那么或许它还没有那么强大。

后记

当前这个监控还没有通知模块,也就是说,也只能大屏盯着看,emmm…,这个还是有点小鸡肋的,因为确实不可能一直盯着看。当然已经有人提 issue 了,但是官方的 roadmap 里面还没有这个计划,于是我自己先加了一个钉钉的监控意思一下,这样至少能保证出现问题的时候有个反应提醒。比较隔壁的 grafana 做了那么久 alert 模块应该能直接抄过来吧。

dingding
dingding

地址:https://github.com/LinkinStars/monitoror/tree/add-notification

可以直接拿下来编译使用,注意需要配置:.env 文件

代码语言:javascript
复制
MO_CONFIG="./config.json"

# 钉钉的 webhook 地址
MO_MONITORABLE_DINGDING_WEBHOOK="https://oapi.dingtalk.com/robot/send?access_token=xxxxx"
# 钉钉的 secret 如果不配置 secret 使用 monitoror 关键字应该也可以
MO_MONITORABLE_DINGDING_SECRET="SECxxxxxx"

当前通知规则:

最大连续出错通知 3 次,超过这个次数不会继续通知,当服务恢复后计数清零,再次出现异常时会重新通知,同样是 3 次;(这个是临时设置的规则,等全部写完之后会抽离为配置或者调整为更加合适的规则)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • demo & repo
  • 优点
  • 部署
    • 二进制部署
      • k8s 部署
      • 配置
        • 监控端口
          • 监控HTTP
          • 多平台
          • 总结
          • 后记
          相关产品与服务
          Grafana 服务
          Grafana 服务(TencentCloud Managed Service for Grafana,TCMG)是腾讯云基于社区广受欢迎的开源可视化项目 Grafana ,并与 Grafana Lab 合作开发的托管服务。TCMG 为您提供安全、免运维 Grafana 的能力,内建腾讯云多种数据源插件,如 Prometheus 监控服务、容器服务、日志服务 、Graphite 和 InfluxDB 等,最终实现数据的统一可视化。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档