Prometheus 作为采集数据的后端, Netdata作为好看的前端。

没有学习配置 alarm,因为日常用不到有点懒

最后的感觉就是没什么感觉(个人用户而言),跟单独用 netdata 差不多

环境

  • Ubuntu 16.04
    • 512M 内存
    • 2 核
    • 20G HDD

准备

参考

步骤

将步骤简单分为三步:安装配置 Prometheus 、安装 netdata 、修改 Prometheus 配置以适配 netdata

安装 Prometheus

  1. 下载安装包,并解压
    # 后续有更新到官网获取链接,下载最新版
    wget https://github.com/prometheus/prometheus/releases/download/v2.14.0/prometheus-2.14.0.linux-amd64.tar.gz
    tar zxvf prometheus-xxx.tar.gz
    cd prometheus-xxx
  2. 修改 Prometheus 配置文件
    • 因为是实验,这里直接将 Prometheus 设置为监听外部 IP,如果是服务器环境可以套 nginx
  3. 将 Prometheus 配置为系统服务
    • 新建并编辑文件 /etc/systemd/system/prometheus.service
      注意设置正确的配置文件路径
    • 执行服务并添加到开机启动
      sudo systemctl start prometheus.service
      # 查看执行情况,有错误去排错
      sudo systemctl status prometheus.service
      sudo systemctl enable prometheus.service
  4. 访问外部 IP + 端口(默认 9090),可以查看 Prometheus 的 Web GUI

安装 netdata

Continue reading “Netdata + Prometheus 系统监控”

发现 netdata 这个宝贝服务,但是其本身不带任何权限设置,任何人都可以通过端口查看机器的运行状态。于是想到用 nginx 代理 netdata 然后用 nginx 加权限。

环境

  • Ubuntu 16.04
  • with netdata

步骤

这里以 netdata 为例——对监听在 127.0.0.1:19999 的页面添加访问权限

  1. 生成密码
    • 执行指令
      printf "netdata:$(openssl passwd -apr1)" > /etc/nginx/conf.d/htpasswd #或其他目录
  2. 设置 nginx
    • 在 nginx 的 conf 目录下新建代理配置文件
      vim /etc/nginx/conf.d/netdata.conf
    • 添加内容,并使用 auth_basicauth_basic_user_file 设置权限
      ... ...
      server {
          listen [port];
          server_name netdata;
      
         auth_basic "netdata Login";
         auth_basic_user_file /etc/nginx/conf.d/htpasswd;
      
          location / {
              ... ...
          }
      }

效果