0 介绍
    在Prometheus的架构设计中,Prometheus Server并不直接服务监控特定的目标,其主要任务负责数据的收集,存储并且对外提供数据查询支持。因此为了能够能够监控到某些东西,如主机的CPU使用率,我们需要使用到Exporter。Prometheus周期性的从Exporter暴露的HTTP服务地址(通常是/metrics)拉取监控样本数据。
    从上面的描述中可以看出Exporter可以是一个相对开放的概念,其可以是一个独立运行的程序独立于监控目标以外,也可以是直接内置在监控目标中。只要能够向Prometheus提供标准格式的监控样本数据即可。
    这里为了能够采集到主机的运行指标如CPU, 内存,磁盘等信息。
    1 下载
    https://prometheus.io/download/
    wget https://github.com/prometheus/node_exporter/releases/download/v1.0.1/node_exporter-1.0.1.linux-amd64.tar.gz
    2 解压安装

    1. tar zxf node_exporter-1.0.1.linux-amd64.tar.gz
    2. cd node_exporter-1.0.1.linux-amd64
    3. mv node_exporter /usr/bin/

    3 写进systemd服务中

    1. vim /usr/lib/systemd/system/node_exporter.service
    2. [Unit]
    3. Description=node_export
    4. Documentation=https://github.com/prometheus/node_exporter
    5. After=network.target
    6. [Service]
    7. Type=simple
    8. ExecStart=/usr/bin/node_exporter
    9. ExecReload=/bin/kill -HUP $MAINPID
    10. ExecStop=/bin/kill -KILL $MAINPID
    11. KillMode=control-group
    12. Restart=on-failure
    13. RestartSec=3s
    14. [Install]
    15. WantedBy=multi-user.target

    4 启动

    1. systemctl enable node_exporter
    2. systemctl start node_exporter
    3. systemctl stop node_exporter
    4. systemctl reload node_exporter

    5 端口9100
    image.png
    6 访问
    访问http://106.14.47.46:9100/metrics,可以看到当前node exporter获取到的当前主机的所有监控数据,如下所示:
    image.png
    在当前页面中根据物理主机系统的不同,你还可能看到如下监控指标:
    · nodeboot_time:系统启动时间
    · node_cpu:系统CPU使用量
    · node_disk
    :磁盘IO
    · nodefilesystem
    :文件系统用量
    · nodeload1:系统负载
    · node_memeory
    :内存使用量
    · nodenetwork
    :网络带宽
    · nodetime:当前系统时间
    · go
    :node exporter中go相关指标
    · process_
    :node exporter自身进程相关运行指标
    7 在prometheus.yml中配置

    1. - job_name: 'node_export'
    2. static_configs:
    3. - targets:
    4. - 127.0.0.1:9100