Переехал конфиг

Был в

/opt/influxdb/shared/config.toml

теперь в

/etc/opt/influxdb/influxdb.conf

Авторизация

Теперь отключена по умолчанию. Чтобы включить в конфиге нужно выставить:

[http]
  ...
  auth-enabled = true

но я выстрелил себе в ногу и случайно сделал root не админом, так что не могу писать ни одним юзером никуда и проверить правильно ли это - тоже. Так что проверить увы не могу. Есть вероятность, что в документации совет правильнее, добавить:

[authentication]
enabled = true

write data

Да, все старые агенты нужно переписать (слава collectd, плагинам слава!), теперь API знатно изменилось.

Раньше write-request выглядел так:

curl -d "$(<x.json)" "http://$ip:$port/db/$database/series?u=$login&p=$pass"

где x.json - именно json’овый файлик в котором расписано:

[
  {
    "points": [
      [
        "eth0", 
        1458691927, 
        2693873, 
        0, 
        0, 
        0
      ], 
      [
        "eth1", 
        5989622785791, 
        10129264996, 
        0, 
        0, 
        0
      ]
    ], 
    "name": "interfaces", 
    "columns": [
      "interface", 
      "rxbytes", 
      "rxpackets", 
      "errors", 
      "dropped", 
      "fifo"
    ]
  }
]

то теперь отправка данных выглядит несколько иначе:

 curl -v "http://localhost:8086/write?db=reductor_metrics" -d "cpu_load_short value=0.66"

как видно, такой вариант куда более bash-ориентирован, видимо разработчики учли то, что админы ≈ программисты, но не админы = программисты, а агентов себе пишут именно первые ребята. И им куда важнее то, что всё влезает в одну строчку, быстро пишется ВРУЧНУЮ и работает, а не то что оно красиво выглядит.

Миграция

Ну, я просто сделал

yum -y install http://influxdb.s3.amazonaws.com/influxdb-0.9.0-1.x86_64.rpm

и проебал все данные, вот такие вот дела.

Новые функции

В документации нет, но появилась non_negative_derivative, Я ДЖВА ГОДА МЕЧТАЛ:

SELECT non_negative_derivative(value) FROM "interface_rx" WHERE $timeFilter AND host='oleg' AND type='if_packets' AND type_instance='br0' GROUP BY time($interval) ORDER BY asc

P.S:

Не принимайте близко к сердцу мою попоболь и ругань в твитторе, просто лениво разбираться заново. Я прекрасно понимаю что проект ещё сыроват (0.9 это вам не 1.2) и то, что нельзя просто так взять и спроектировать идеальное API с первого раза и пока версия не 1.0 можно спокойно выбрасывать всё и начинать с нового листа, не захламляя код поддержкой обратной совместимости. Я просто хочу чтобы 1.0 поскорее вышла. :)