Ubuntu 服务器搭建 Netdata

陈华 ⋅ 2023-01-07

Netdata 如同电脑的资源管理器,可以实时监控系统的资源占用。本文介绍 Netdata 在 Linux 服务器中的安装方法,并通过 Apache 设置反向代理,通过 htpasswd 设置网站认证登录。

  1. 直接安装 Netdata,安装目录为 /etc/netdata/

    1
    
    sudo apt install netdata
    
  2. 打开配置文件 vim /etc/netdata/netdata.conf,取消注释并修改如下部分:

    1
    2
    3
    4
    5
    6
    
    [web]
    default port = 19999 # 自定义端口
    allow connections from = localhost
    allow dashboard from = localhost
    allow netdata.conf from localhost
    allow management from = localhost
    
  3. 此时,在服务器上可以访问 http://localhost:19999。将其反向代理到域名 domain.com,并开启 SSL。方法见前文

  4. 为安全起见,通过 htpasswd 设置密码认证,即需登录才能访问 https://domain.com/

    1
    2
    
    sudo htpasswd -c 密码存储路径 用户名
    # 然后输入两次密码
    
  5. 打开第 3 步中设置的 apache2 配置文件,并修改如下:

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    
    <IfModule mod_ssl.c>
    <VirtualHost *:443>
    ServerName domain.com # 修改为自己的域名
    
    # certbot --apache -d domian.com 生成证书目录
    SSLCertificateFile /etc/letsencrypt/live/domain.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/domain.com/privkey.pem
    Include /etc/letsencrypt/options-ssl-apache.conf
    
    # 反向代理
    ProxyPreserveHost On
    ProxyRequests Off
    <Proxy *>
        Order allow,deny
        Allow From all
    </Proxy>
    ProxyPass / http://localhost:19999/
    ProxyPassReverse / http://localhost:19999/
    
    # 设置密码
    <Location />
    AllowOverride all
    authuserfile "密码路径"
    authname "用户名"
    authtype basic
    require user netdata 
    </Location>
    </VirtualHost>
    </IfModule>
    
  6. 启用服务 systemctl start netdata,打开 https://domain.com/,输入账号密码,可看到如下仪表盘:

    Netdata interface