极简服务器开源监控工具beszel

市场上各类服务器监控工具各种各样,老牌的zabbix、新兴的Prometheus等、以及各类云厂商自研的各类监控。公司的几个工厂里有几台服务器,上面部署了虚拟化,然后会再部署供应商的各类生产系统;面对这种少量机器,几台到十几台的情况,以简洁著称的beszel就特别适合。

  1. 服务中心安装
    非常简单,一条命令搞定。

    无论以哪种方式部署,最终都会在服务器8090端口上启动一个web服务,访问方式http://XX.XX.XX.XX:8090,首次登录会让你设置管理员密码

  2. 监控agent安装
    可以将第一步中的服务器也部署上agent服务,用来监控自己,输入名称和需要监控节点的IP地址后,即可参考下方的部署命令。依旧可以使用docker或者二进制的方式来安装agent。

    • 如果是linux系统,直接复制下方的安装命令去执行即可,会自己下载agent包,然后注册到系统服务中,并启动。

      curl -sL https://get.beszel.dev -o /tmp/install-agent.sh && chmod +x /tmp/install-agent.sh && /tmp/install-agent.sh -p 45876 -k "ssh-ed25519 AAAAC3NzaXXXXXXXXXXXGP3" -t "6ac1b-9XXXXXXXXXx657fe" -url "http://XXX.com" --china-mirrors

  • 如果是Windows系统,麻烦一点,Windows下部署依赖Winget和Scoop,并且需要从github上拉源码,这几个站都被大陆墙了,非常不稳定,可以自己找一些国内的源。

agent启动之后,会看到常见的CPU、内存、磁盘、磁盘IO、负载等指标

  1. 配置报警策略
    在机器列表页面,可以为每台监控的agent配置报警策略,如cpu idle、内存占用、宕机、负载等

  2. 配置报警通知

    • 配置邮件通知
      首先需要配置发送邮件的账号信息,地址http://XXXX:8090/_/#/settings/mail

      然后配置接收邮件报警的地址:
    • 配置报警webhook通知
      当有报警触发时,beszel会使用Shoutrrr协议,将报警信息推送出去,支持普通http服务、钉钉等常用工具;我是在本地启动了一个web服务,接收beszel推送的报警信息,然后再自己发送到指定的地方。
  3. 监控多个磁盘
    beszel的agent默认只监控跟路径,如果要监控多个分区,可以修改配置 vim /etc/systemd/system/beszel-agent.service,如下面的EXTRA_FILESYSTEMS参数,监听了根和/home两个挂载点

    [Unit]
    Description=Beszel Agent Service
    Wants=network-online.target
    After=network-online.target
    
    [Service]
    Environment="PORT=45876"
    Environment="KEY=ssh-ed25519 AAAAC3XXXXaR1zGP3"
    Environment="TOKEN=e0dc6-33XXXXc48"
    Environment="HUB_URL=http://XXXX:8090"
    Environment="EXTRA_FILESYSTEMS=/__主分区,/home__数据分区"
    ExecStart=/opt/beszel-agent/beszel-agent
    User=beszel
    Restart=on-failure
    RestartSec=5
    StateDirectory=beszel-agent
    。。。

原创文章,转载请注明: 转载自空空博客

本文链接地址: 极简服务器开源监控工具beszel

文章的脚注信息由WordPress的wp-posturl插件自动生成