Openhab on FreeBSD: InfluxDB+Grafana persistence and graphing

Для керування домашніми приладами я використовую Openhab котрий інстальовано на FreeBSD. Як відомо, FreeBSD дуже гарна система, але є деяки ньюанси з програмним забезпеченням. З openhab ніяких проблем немає, але коли я спробував малювати графіки за допомогою Grafana проблема виникла. Сама інcтрукція по встановленню InfluxDb та Grafana є тут

На момент написанні цієї статті не виникло жодних проблем з встановленням InfluxDb та Grafana на FreeBSD (усе доступно у вигляді пакетів та встановлюється за допомогою 2-х команд). Навіть ніяких проблем з побудовою графіка у grafana. Проблема виникла у той час, коли треба було графік від grafana додати на дашбоард опенхаба. Grafana дозволяє експортувати графіки у вигляді малюнку з прямим посиланням, а опенхаб дозволяє вставляти малюнки на дашбоард. Проблема полягяла у тому, що grafana використовує phantomjs для генерування малюнку, а у пакетах цього додатка не було. На спробу експортуваи малюнок за посиланням отримуємо помилку:

Rendering failed – PhantomJS isn’t installed correctly

Перша спроба поставити з портів закінчилась невдало – помилка компіляції. Як з’ясувалось – проблема була у версії openssl, проблема вирішилась встановленням останньої версії openssl з пакетів. Після компіляції та копіювання phantomjs у папку, grafana змінила помилку на:

t=2019-02-09T15:18:25+0200 lvl=info msg=Rendering logger=rendering path="d-solo/Ita8FKXmk/heat-dashboard?orgId=1&from=1549707668905&to=1549718468906&panelId=2&width=1000&height=500&tz=Europe%2FKiev"
t=2019-02-09T15:18:25+0200 lvl=eror msg="Phantomjs exited with non zero exit code" logger=rendering error="exit status 255"
t=2019-02-09T15:18:25+0200 lvl=eror msg="Rendering failed." logger=context userId=1 orgId=1 uname=admin error="exit status 255"

Як з’ясувалось – не вистачало файла render.js. Знайти його можна за посиланням

Після копіювання цього файла до теки /usr/local/share/grafana/tools/phantomjs/ усе запрацювало як треба.