【Prometheus】Node exporterをざっくり理解

スポンサーリンク

はじめに

Prometheusで使われるexporterの中から、Node exporterについてざっくりまとめていきます。

Node Exporterとは

Node exporterは、exporterの1つで、UnixシステムのCPU、メモリ、ディスクスペース、ディスクI/O、ネットワークなどのメトリクスを開示するexporterです。

GitHub - prometheus/node_exporter: Exporter for machine metrics
Exporterformachinemetrics.Contributetoprometheus/node_exporterdevelopmentbycreatinganaccountonGitHub.

ローカルで動かす

Docker Composeを使って、ローカルでPrometheusとNode exporterを試したい場合は下記を参考にしてください。

【監視入門】とりあえず使ってみるPrometheus
はじめに本記事では、Promethesについてざっくり解説して、実際に簡単な監視をしてみたいと思います。実際に試す際は、ローカルにDockerComposeで構築します。PrometheusとはPrometheusとは、メトリクスに基づいた...

用意するファイルはprometheus.ymldocker-compose.ymlになります。

それぞれのファイルの内容は下記の通りです。

global:
  scrape_interval: 15s # デフォルトの監視対象にpullする間隔
  external_labels: # 外部と通信するときのラベル
    monitor: 'codelab-monitor'
scrape_configs: # 監視対象ごとの設定
  - job_name: 'prometheus' # Prometheus自身の監視
    scrape_interval: 5s # デフォルトの間隔を上書き
    static_configs:
      - targets: ['localhost:9090']
  - job_name: 'node-exporter'
    static_configs:
      - targets: ['<PCのIPアドレス>:9100']
version: '3'
services:
  prometheus:
    image: prom/prometheus
    volumes:
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - '9090:9090'
  node-exporter:
    image: quay.io/prometheus/node-exporter
    ports:
      - 9100:9100
    volumes:
      - ./proc:/host/proc
      - ./sys:/host/sys
      - ./rootfs:/rootfs

http://localhost:9100/metricsにアクセスすると、Node exporterのメトリクス一覧を確認することができます。

主要なメトリクス

主要なメトリクスを確認してみます。

全てのメトリクスを確認する場合は、/metricsからNode exporterにアクセスすることで全てのメトリクスを確認できます。

cpu

cpuコレクタには、それぞれのCPUが各モードでどれくらい使われているかなどのメトリクスがあります。

主なメトリクスは下記の通りです。

  • node_cpu_guest_seconds_total
  • node_cpu_seconds_total

下記では、各CPUのアイドル時間の平均を確認できます。

rate(node_cpu_seconds_total{mode="idle"}[1m])

下記では、マシンが各モードで使っている時間を確認できます。

avg without(cpu)(rate(node_cpu_seconds_total[1m]))

filesystem

filesystemコレクタには、ディスク容量などのファイルシステムに関するメトリクスがあります。

主なメトリクスは下記の通りです。

  • node_filesystem_avail_bytes
  • node_filesystem_device_error
  • node_filesystem_files
  • node_filesystem_files_free
  • node_filesystem_readonly
  • node_filesystem_size_bytes

下記では、使用済みのディスク容量を確認できます。

node_filesystem_avail_bytes/node_filesystem_size_bytes

diskstats

diskstatsコレクタには、ディスクI/Oに関するメトリクスがあります。

主なメトリクスは下記の通りです。

  • node_disk_discard_time_seconds_total
  • node_disk_discarded_sectors_total
  • node_disk_discards_completed_total
  • node_disk_discards_merged_total
  • node_disk_flush_requests_time_seconds_total
  • node_disk_flush_requests_total
  • node_disk_info
  • node_disk_io_now
  • node_disk_io_time_seconds_total
  • node_disk_io_time_weighted_seconds_total
  • node_disk_read_bytes_total
  • node_disk_read_time_seconds_total
  • node_disk_reads_completed_total
  • node_disk_reads_merged_total
  • node_disk_write_time_seconds_total
  • node_disk_writes_completed_total
  • node_disk_writes_merged_total
  • node_disk_written_bytes_total

下記では、読み出しI/Oの平均時間を確認できます。

rate(node_disk_read_time_seconds_total[1m])/rate(node_disk_reads_completed_total[1m])

netdev

netdevコレクタには、ネットワークに関するメトリクスがあります。

主なメトリクスは下記の通りです。

  • node_network_address_assign_type
  • node_network_carrier
  • node_network_carrier_changes_total
  • node_network_carrier_down_changes_total
  • node_network_carrier_up_changes_total
  • node_network_device_id
  • node_network_dormant
  • node_network_flags
  • node_network_iface_id
  • node_network_iface_link
  • node_network_iface_link_mode
  • node_network_info
  • node_network_mtu_bytes
  • node_network_name_assign_type
  • node_network_net_dev_group
  • node_network_protocol_type
  • node_network_receive_bytes_total
  • node_network_receive_compressed_total
  • node_network_receive_drop_total
  • node_network_receive_errs_total
  • node_network_receive_fifo_total
  • node_network_receive_frame_total
  • node_network_receive_multicast_total
  • node_network_receive_packets_total
  • node_network_speed_bytes
  • node_network_transmit_bytes_total
  • node_network_transmit_carrier_total
  • node_network_transmit_colls_total
  • node_network_transmit_compressed_total
  • node_network_transmit_drop_total
  • node_network_transmit_errs_total
  • node_network_transmit_fifo_total
  • node_network_transmit_packets_total
  • node_network_transmit_queue_length
  • node_network_up

下記では、受信した平均のバイト数を確認できます。

rate(node_network_receive_bytes_total[1m])

![](

meminfo

meminfoコレクタには、メモリに関するメトリクスがあります。

主なメトリクスは下記の通りです。

  • node_memory_Active_anon_bytes
  • node_memory_Active_bytes
  • node_memory_Active_file_bytes
  • node_memory_AnonHugePages_bytes
  • node_memory_AnonPages_bytes
  • node_memory_Bounce_bytes
  • node_memory_Buffers_bytes
  • node_memory_Cached_bytes
  • node_memory_CommitLimit_bytes
  • node_memory_Committed_AS_bytes
  • node_memory_DirectMap1G_bytes
  • node_memory_DirectMap2M_bytes
  • node_memory_DirectMap4k_bytes
  • node_memory_Dirty_bytes
  • node_memory_FileHugePages_bytes
  • node_memory_FilePmdMapped_bytes
  • node_memory_HugePages_Free
  • node_memory_HugePages_Rsvd
  • node_memory_HugePages_Surp
  • node_memory_HugePages_Total
  • node_memory_Hugepagesize_bytes
  • node_memory_Hugetlb_bytes
  • node_memory_Inactive_anon_bytes
  • node_memory_Inactive_bytes
  • node_memory_Inactive_file_bytes
  • node_memory_KReclaimable_bytes
  • node_memory_KernelStack_bytes
  • node_memory_Mapped_bytes
  • node_memory_MemAvailable_bytes
  • node_memory_MemFree_bytes
  • node_memory_MemTotal_bytes
  • node_memory_Mlocked_bytes
  • node_memory_NFS_Unstable_bytes
  • node_memory_PageTables_bytes
  • node_memory_Percpu_bytes
  • node_memory_SReclaimable_bytes
  • node_memory_SUnreclaim_bytes
  • node_memory_ShmemHugePages_bytes
  • node_memory_ShmemPmdMapped_bytes
  • node_memory_Shmem_bytes
  • node_memory_Slab_bytes
  • node_memory_SwapCached_bytes
  • node_memory_SwapFree_bytes
  • node_memory_SwapTotal_bytes
  • node_memory_Unevictable_bytes
  • node_memory_VmallocChunk_bytes
  • node_memory_VmallocTotal_bytes
  • node_memory_VmallocUsed_bytes
  • node_memory_WritebackTmp_bytes
  • node_memory_Writeback_bytes

下記では、利用可能なメモリの容量を確認できます。

node_memory_MemAvailable_bytes

loadavg

loadavgコレクタには、ロードアベレージのメトリクスがあります。

ロードアベレージは負荷を表す指標の1つです。

主なメトリクスは下記の通りです。

  • node_load1
  • node_load15
  • node_load5

下記では、1分間のロードアベレージを確認できます。

node_load1

参考

タイトルとURLをコピーしました