
Алексей
18.02.2017
16:57:36
нет. там 0,0,0,0
ибо это адрес на котором она слушает

Sergey
18.02.2017
16:58:36
да. но именно из-за его наличия или отсутствия подставляется localhost или нет

Алексей
18.02.2017
16:58:52
и как быть :)

Google

Алексей
18.02.2017
16:59:02
туда нельзя задать правильный адресс
ибо он отсутствует на этом сервере

Sergey
18.02.2017
16:59:44
?
о каком из серверов говорим? я - про grafana server, и неважно, 192.168.0.10 или .11
на каждой ноде должен быть прописан именно он

Алексей
18.02.2017
17:01:08
в http_addr ?
ща
grafana-server[17159]: t=2017-02-18T20:02:06+0300 lvl=eror msg="Fail to start server" logger=server error="listen tcp xxxx:3000: bind: cannot assign requested address"
что ожидаемо
ибо этот адрес на другой машине
# The ip address to bind to, empty will bind to all interfaces
там
но я не могу на него bind

Google

Sergey
18.02.2017
17:05:41
что значит "ожидаемо"? у тебя на машине с 192.168.0.10 должен быть этот же адрес прописан ( .10), на 192.68.0.11 - (.11) но это лирика.
физика такова - в этом коде тупо запускается локальный PhantomJS, который тупо обращается к графане _локальной_ же (на localhost:3000) и тупо рендерит статическую картинку, которую складывает в <DataPath>/png/foobar
проверь, что есть соответствующий каталог и в нём появляются картинки

Alexander
18.02.2017
17:06:14
Вы точно понимаете, зачем нужен root_url?

Алексей
18.02.2017
17:06:36
думаю root_url нужен для внтуренних подстановок

Sergey
18.02.2017
17:06:44
речь вообще не о root_url
речь о том, что при server_side rendering где-то ловится 404, только и всего

Alexander
18.02.2017
17:07:01
А о чем? Я что-то не вкурил.

Алексей
18.02.2017
17:07:44
@alexanderzobnin там вот по https://github.com/grafana/grafana/issues/7611 бага
там и схема

Sergey
18.02.2017
17:08:14
да не бага это. ты проверил, у тебя картинки появляются в файловой системе?

Alexander
18.02.2017
17:08:24
А почему он должен другой адрес рендерить?

Алексей
18.02.2017
17:08:24
а вообще @tnt4brain сорри, я тя как ты наверное уже понял перепутал с @alexanderzobnin :)

Sergey
18.02.2017
17:08:40
да ничего

Alexander
18.02.2017
17:09:05
У тебя же nginx url проксирует

Sergey
18.02.2017
17:09:09
я всё равно сидел, бота для телеграма на питоне кодил, мозги немножко на го размял

Алексей
18.02.2017
17:09:11
проксирует да

Alexander
18.02.2017
17:09:42
получается, в графане так и должно быть localhost:3000

Sergey
18.02.2017
17:10:18
насколько я этот код прочёл - да, потмоу что сервер-сайд рендеринг выполняется очень даже локально
чеерз PhantomJS

Алексей
18.02.2017
17:10:51
окей

Google

Алексей
18.02.2017
17:10:56
давайте с другой стороны

Alexander
18.02.2017
17:11:05
а 404 на каком адресе?

Алексей
18.02.2017
17:11:21
в render.js я сделал так вот
page.customHeaders = {
"Authorization": "Basic xxxxx"
};
+ console.log('Input: ' + args );
args.forEach(function(arg) {
var parts = arg.match(regexp);
if (!parts) { return; }
params[parts[1]] = parts[2];
});

Alexander
18.02.2017
17:11:37
блин, просто реверс-прокси с subpath это жопа

Алексей
18.02.2017
17:12:07
и вижу
фев 18 20:11:42 db04 grafana-server[23602]: Input: /usr/share/grafana/vendor/phantomjs/render.js,url=http://localhost:3000/dashboard-solo/script/noc.js?dashboard=mo&id=175485&from=1487408330978&to=1487429930979&var-device=FTTB%202014-s2328-n1-3-s1-15%23511702&var-vendor=Huawei&var-platform=Huawei%20S2328P-EI-AC&var-device_id=175485&var-ip=10.153.100.15&var-segment=583e8686f2a8b2293ae35f9c&var-firmare_version=5.70&panelId=27&width=1000&height=500,width=1000,height=500,png=/opt/noc/var/db/grafana/png/1KIm3ggXPv0JRmeUIxWt.png,domain=localhost,renderKey=1lpFrXQx1r3tZphHQqqKXm3m4vIyjgSE

Sergey
18.02.2017
17:13:13
вот и отлично, идёшь на оба инстанса графаны и проверяешь, есть ли такой файл - /opt/noc/var/db/grafana/png/1KIm3ggXPv0JRmeUIxWt.png

Alexander
18.02.2017
17:13:22
Так 404 на какой URL?

Алексей
18.02.2017
17:13:25
# curl "http://localhost:3000/dashboard-solo/script/noc.js?dashboard=mo&id=175485"
<a href="/ui/grafana/login">Found</a>.
видимо надо renderkey
404 я получаю от Direct link rendered image

Alexander
18.02.2017
17:14:23
ну ты в логе можешь посмотреть?

Alexander
18.02.2017
17:15:40
как он выглядит?
url=http://localhost:3000/dashboard-solo/script/noc.js?dashboard=mo&id=175485&from=1487408330978&to=1487429930979&var-device=FTTB%202014-s2328-n1-3-s1-15%23511702&var-vendor=Huawei&var-platform=Huawei%20S2328P-EI-AC&var-device_id=175485&var-ip=10.153.100.15&var-segment=583e8686f2a8b2293ae35f9c&var-firmare_version=5.70&panelId=27&width=1000&height=500,width=1000,height=500,png=/opt/noc/var/db/grafana/png/1KIm3ggXPv0JRmeUIxWt.png,domain=localhost,renderKey=1lpFrXQx1r3tZphHQqqKXm3m4vIyjgSE
этот?


Алексей
18.02.2017
17:16:17
давай целиком.
делаю запрос на
https://XXXX/ui/grafana/render/dashboard-solo/script/noc.js?dashboard=mo&id=175485&width=1000&height=500
в логе графаны вижу что
фев 18 20:15:27 db04 grafana-server[25107]: t=2017-02-18T20:15:27+0300 lvl=info msg=Rendering logger=png-renderer path="dashboard-solo/script/noc.js?dashboard=mo&id=175485&width=1000&height=500"
фев 18 20:15:27 db04 grafana-server[25107]: Input: /usr/share/grafana/vendor/phantomjs/render.js,url=http://localhost:3000/dashboard-solo/script/noc.js?dashboard=mo&id=175485&width=1000&height=500,width=1000,height=500,png=/opt/noc/var/db/grafana/png/DrDLyeUgpWdsL5sro6iM.png,domain=localhost,renderKey=uQFLADSoGb0BVfHCScl0tZOWRE2PFZz2
фев 18 20:15:27 db04 grafana-server[25107]: Loading a web page: http://localhost:3000/dashboard-solo/script/noc.js?dashboard=mo&id=175485&width=1000&height=500 status:
фев 18 20:15:28 db04 grafana-server[25107]: t=2017-02-18T20:15:28+0300 lvl=info msg="Request Completed" logger=context userId=0 orgId=1 uname= method=GET path=/pm/ddash/ status=404 remote_addr=[::1] time_ms=7ns size=10245
фев 18 20:15:39 db04 grafana-server[25107]: t=2017-02-18T20:15:39+0300 lvl=info msg="Request Completed" logger=context userId=2 orgId=1 uname=shirokih method=GET path=/render/dashboard-solo/script/noc.js status=404 remote_addr=10.2.67.126 time_ms=12.432µs size=19
ошибка очевижно в /pm/ddash/


Alexander
18.02.2017
17:20:37
извиняюсь, я не в контексте дискуссии. это какая-то проблема с рендерингом на серверной части js-а в графане? (а оно так умеет?!)

Google

Алексей
18.02.2017
17:20:53
да умеет но косячит

Alexander
18.02.2017
17:21:03
Картинки рендерит в png

Алексей
18.02.2017
17:22:12
проблема в том что по пути http://localhost:3000/dashboard-solo/script/noc.js нет и не может быть этого файла
так что тут будет 404 как ни крути

Alexander
18.02.2017
17:22:45
круто, а для чего картинки в png – это только когда снаружи api дергаешь?

Алексей
18.02.2017
17:22:55
https://XXXX/ui/grafana/dashboard-solo/script/noc.js? он есть
в этом и вся проблема

Sergey
18.02.2017
17:25:02
вопрос скорее в грязной чёрной магии, которая обслуживает вот эту часть URL - https://XXXX/ui/grafana

Алексей
18.02.2017
17:25:29
грязная магия сделана для унификации авторизации.

Admin
ERROR: S client not available

Алексей
18.02.2017
17:25:42
что бы она была сквозная с приложением.
поэтому подпуть

Alexander
18.02.2017
17:26:07
и если оно так умеет то оно должно в зависимостях фантом тащить, или это руками надо делать если захотелось этой фичи?

Алексей
18.02.2017
17:26:22

Alexander
18.02.2017
17:26:23
там есть фантом

Алексей
18.02.2017
17:26:36
я не понимаю что делать

Alexander
18.02.2017
17:27:05
ого, не ожидал (про фантом)

Alexander
18.02.2017
17:27:12
А вот эта строчка на каком уровне лога? У меня по дефолту нет такого.
ев 18 20:15:27 db04 grafana-server[25107]: Input: /usr/share/grafana/vendor/phantomjs/render.js,url=http://localhost:3000/dashboard-solo/script/noc.js?dashboard=mo&id=175485&width=1000&height=500,width=1000,height=500,png=/opt/noc/var/db/grafana/png/DrDLyeUgpWdsL5sro6iM.png,domain=localhost,renderKey=uQFLADSoGb0BVfHCScl0tZOWRE2PFZz2

Алексей
18.02.2017
17:27:25
варианты
* подсовывать правильную ссылку убирать локальный вызов
* подсовывать noc.js в сервер рут к фантому

Sergey
18.02.2017
17:27:31
во что превращается запрос "https://XXXX/ui/grafana/dashboard-solo/script/noc.js" после грязной чёрной магии?

Google

Алексей
18.02.2017
17:27:36
выше писал где

Alexander
18.02.2017
17:27:47
а

Алексей
18.02.2017
17:27:50

Sergey
18.02.2017
17:28:46
таааааак
то есть https://XXXX/ui/grafana/dashboard-solo/script/noc.js —-> http://XXXX/dashboard-solo/script/noc.js ?

Алексей
18.02.2017
17:29:31
ну ага
https://ххх/ui/grafana/dashboard-solo/script/noc.js воркс

Sergey
18.02.2017
17:30:48
графана знает, что ты её гоняешь на subpath?

Алексей
18.02.2017
17:31:07
за это вроде как и ответчает root_path

Alexander
18.02.2017
17:31:21
да, у него root_path прописан

Алексей
18.02.2017
17:33:17
так
выяснил прекрасную особенность
сохраненные а не динамические дашборы работают отлично

Alexander
18.02.2017
17:34:10
я и смотрю, у тебя скриптовый дашборд

Алексей
18.02.2017
17:34:33
да
complicated ?

Sergey
18.02.2017
17:35:28
вообще вот здесь ничего не говорят про то, что нужно пути реврайтить: http://docs.grafana.org/installation/behind_proxy/

Алексей
18.02.2017
17:35:57
Сергеж, nginx -ок, grafana -ок.
scripted dashbord - не ок

Alexander
18.02.2017
17:36:36
Смотри логи браузера