Netdata + Prometheus 系统监控

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

netdata 的安装十分简单,执行指令

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

确认安装几个依赖之后就会自动编译,编译完毕后会自动添加系统服务并设置开机启动

默认情况下,netdata 监听在 19999 端口,同样,安全起见可以套 nginx,有关 netdata 添加 nginx 访问权限可以查看 使用 nginx 设置访问权限

修改 Prometheus 配置文件

  1. 打开 Prometheus 的配置文件, 在 Prometheus 的 job 下添加 netdata 的 job
    • 注意编辑器的自动换行,我的 vim 设置会自动添加 tab 而不是空格,导致配置文件的格式不对,从而使 Prometheus 启动失败(为什么会有 yaml 这破格式)
    • 注意 targets 字段设置为本机外部 IP 地址 + netdata 的监听端口
  2. 重启 Prometheus 服务
    sudo systemctl restart prometheus.service

效果

访问 netdata 的监听端口,会正常显示 netdata 的界面,与使用 netdata 后端没有区别

访问 Prometheus 的监听端口(默认为 9090),选择 【Status – Target】

会发现除了 Prometheus 自己外多了 netdata ,表明 Prometheus 正在接管 netdata 后端,访问端点连接,会显示 Prometheus 发送给 netdata 的数据

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据