インストールしたgrafanaにアクセスできない!
症状
自分のVM(192.168.100.144)にgrafanaをインストールしてみたけど,Webブラウザからアクセスできない
Webブラウザで確認
curlで確認
$ curl http://192.168.100.144:3000
$ curl: (7) Failed to connect to 192.168.100.144 port 3000: Connection refused
Connection refusedとなってしまう.
localから確認
$ curl localhost:3000
<a href="/grafana/login">Found</a>.
localhostではしっかり立っている模様
$ curl 192.168.100.144:3000
<a href="/grafana/login">Found</a>.
ipアドレスで打ってもアクセスできている
サービスは動いている
$ systemctl status grafana-server.service
● grafana-server.service - Grafana instance
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2021-11-17 02:47:47 UTC; 10min ago
Docs: http://docs.grafana.org
Main PID: 31548 (grafana-server)
Tasks: 9 (limit: 4915)
CGroup: /system.slice/grafana-server.service
└─31548 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/run/grafana/grafana-server.pid --packaging=deb cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cfg:d
Nov 17 02:56:34 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:56:34+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
Nov 17 02:56:49 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:56:49+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
Nov 17 02:57:08 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:57:08+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
Nov 17 02:57:10 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:57:10+0000 lvl=info msg="Request Completed" logger=context userId=0 orgId=0 uname= method=GET path=/ status=302 remote_addr=[::1] time_ms=0 size=37 referer=
Nov 17 02:57:19 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:57:19+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
Nov 17 02:57:30 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:57:30+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
Nov 17 02:57:44 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:57:44+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
Nov 17 02:58:01 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:58:01+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
Nov 17 02:58:20 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:58:20+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
Nov 17 02:58:38 sugimoto-1 grafana-server[31548]: t=2021-11-17T02:58:38+0000 lvl=info msg="Request Completed" logger=context userId=1 orgId=1 uname=admin method=GET path=/api/live/ws status=400 remote_addr=192.168.100.218 time_ms=0 size=12 referer=
lines 1-19/19 (END)
Port 3000はLISTENになっているか?
$ ss -la | grep 3000
tcp LISTEN 0 128 *:3000 *:*
なっているねぇ
症状まとめ
何が悪いのかよくわからん
(心当たりがある方教えてほしい!!)
解決方法
ローカルからはIPアドレスを叩いてもアクセス可能なので,既に立てているApache2のリバースプロキシーを用いてアクセスしてみることにした
Apache2のリバースプロキシ設定
proxy_module、proxy_httpモジュールを有効化する
$ cd /etc/apache2/mods-enabled
$ ln -s ../mods-available/proxy.load proxy.load
$ ln -s ../mods-available/proxy_http.load proxy_http.load
$ ln -s ../mods-available/proxy.conf proxy.conf
設定ファイルに付与
設定ファイル:/etc/apache2/mods-enabled/proxy.conf
上記設定ファイルに追加
<IfModule mod_proxy.c>
...
# 下記を追加
ProxyRequests Off
ProxyPass /grafana http://127.0.0.1:3000
ProxyPassReverse /grafana http://127.0.0.1:3000
</IfModule>
Apache2再起動
$ sudo systemctl restart apache2
grafanaの設定変更
設定ファイル場所:/etc/grafana/grafana.ini
設定ファイル中の**[server]の中にあるroot_url**を編集します
root_url = %(protocol)s://%(domain)s:/grafana
grafanaの再起動
$ sudo systemctl restart apache2
アクセスしてみる
ちゃんとアクセスできていることがわかる.