コンテンツにスキップ

Telegraf

Telegrafはエージェント。動いているマシン上のメトリクスを収集してInfluxDBに送るだけ。

InfluxDB + Grafana

こっちはあらかじめDockerで立てておく。

docker-compose

$ sudo apt update
$ sudo apt upgrade -y
$ sudo apt install -y docker docker-compose
$ sudo systemctl enable docker
$ sudo systemctl start docker
$ sudo gpasswd -a $USER docker
$ mkdir monitoring
$ exit
version: '3'
services:
  influxdb:
    container_name: influxdb
    image: influxdb:1.8
    ports:
      - "8086:8086"
    volumes:
      - influxdb:/var/lib/influxdb

  grafana:
    container_name: grafana
    image: grafana/grafana:7.4.0
    links:
      - influxdb
    ports:
      - "3000:3000"
    volumes:
      - grafana:/var/lib/grafana

volumes:
  influxdb:
  grafana:

Create Telegraf database

Telegraf用のデータベースを作っておく。

curl -sl -I http://localhost:8086/ping
curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE telegraf"

Proxmox VE External Metric Server

curl -sl -I http://localhost:8086/ping
curl -i -XPOST http://localhost:8086/query --data-urlencode 'q=CREATE DATABASE proxmox'
curl -i -XPOST http://localhost:8086/query --data-urlencode 'q=CREATE RETENTION POLICY "180d" ON "proxmox" DURATION 180d REPLICATION 1 DEFAULT'

Proxmox VE内蔵のInfluxDBへのメトリクス転送はUDPしかサポートしていないので、InfluxDB側では以下のように設定する。
Ref: https://docs.influxdata.com/influxdb/v1.8/administration/config/#udp-settings

    ports:
      - "8086:8086"
      - "8089:8089/udp"
    environment:
      - INFLUXDB_UDP_ENABLED=true
      - INFLUXDB_UDP_DATABASE=proxmox
      - INFLUXDB_UDP_0_BATCH_SIZE=1000

Telegraf install

curl -s https://repos.influxdata.com/influxdb.key | sudo apt-key add -
source /etc/lsb-release
echo "deb https://repos.influxdata.com/${DISTRIB_ID,,} ${DISTRIB_CODENAME} stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
apt update && apt install -y telegraf
vi /etc/telegraf/telegraf.conf
systemctl start telegraf
systemctl enable telegraf

Dashboard

Linux system: https://grafana.com/grafana/dashboards/1375

drop rateとか色々

  • ethtool -S eth0 で見ると rx_queue_0_kickstx_queue_0_kicks がかなり多い
    • RXは数百だけど、TXは1M超えてる
  • ip -s link show eth0 で見ると RX dropped がそこそこ(13kくらい)出ている
  • ip -s link show eth1 で見ると RX dropped が少量(300くらい)出ている
  • ip -s link show mape0 で見ると TX errors / dropped / carrier が少量(1kくらい)出ている
  • リングバッファを拡大したいけど、virtio_netは256が最大らしい
    • vmxnet3は4096まで拡大出来るけど、そもそもあんまり速くないのでは疑惑
    • 100Mbps位だったらバッファを広げられる方が良いかもしれない

https://www.cyberciti.biz/faq/linux-show-dropped-packets-per-interface-command/


最終更新日: 2021-05-16 15:02:44