【问题标题】:How to make grafana on nixos available in local network如何使 nixos 上的 grafana 在本地网络中可用
【发布时间】:2021-05-04 16:51:48
【问题描述】:

我的笔记本电脑和我的 nixos 服务器 (hostname=nixos) 都连接到我的路由器 (fritz.box)。我可以通过 ping (ping nixos.fritz.box) 和 ssh (ssh username@nixos.fritz.box) 访问 rooter。

我想要的是按照this guide的第一部分在nixos上设置grafana。然后我希望能够从我的笔记本电脑访问 grafana。

在服务器上,我已将 nixos 配置为同时运行 grafana 和反向代理 (nginx):

  services.grafana = {
    enable = true;
    domain = "grafana.nixos.fritz.box";
    port = 2342;
    addr = "127.0.0.1";
  };

  # nginx reverse proxy for grafana
  services.nginx.virtualHosts.${config.services.grafana.domain} = {
    locations."/" = {
      proxyPass = "http://127.0.0.1:${toString config.services.grafana.port}";
      proxyWebsockets = true;
    };
  };

  # Open ports for http and https
  networking.firewall.allowedTCPPorts = [ 80 443 ];

  system.stateVersion = "21.03";

很遗憾,我无法从笔记本电脑访问 grafana 网络界面。

我尝试更改 services.grafana.domain 的值以及我在浏览器中键入的内容 (firefox/curl),这是我得到的:

services.grafana.domain argument of curl output of curl
grafana.nixos.fritz.box http://grafana.nixos.fritz.box/ curl: (6) Could not resolve host: grafana.nixos.fritz.box
grafana.nixos.fritz.box https://grafana.nixos.fritz.box/ curl: (6) Could not resolve host: grafana.nixos.fritz.box
grafana.nixos.fritz.box http://nixos.fritz.box/ curl: (52) Empty reply from server
grafana.nixos.fritz.box https://nixos.fritz.box/ curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to nixos.fritz.box:443
nixos.fritz.box http://nixos.fritz.box/ curl: (52) Empty reply from server
nixos.fritz.box https://nixos.fritz.box/ curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL in connection to nixos.fritz.box:443
grafana.localhost (on the server) http://grafana.localhost curl: (7) Failed to connect to grafana.localhost port 80: Connection refused
grafana.localhost (on the server) https://grafana.localhost curl: (7) Failed to connect to grafana.localhost port 443: Connection refused

尤其是最后两行让我感到困惑。

服务器上的netstat -an | grep LISTEN 给了我这个:

tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:2342          0.0.0.0:*               LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
unix  2      [ ACC ]     STREAM     LISTENING     1837     /run/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     1841     /run/systemd/userdb/io.systemd.DynamicUser
unix  2      [ ACC ]     SEQPACKET  LISTENING     1853     /run/systemd/coredump
unix  2      [ ACC ]     STREAM     LISTENING     1862     /run/systemd/journal/stdout
unix  2      [ ACC ]     SEQPACKET  LISTENING     1868     /run/udev/control
unix  2      [ ACC ]     STREAM     LISTENING     26958    /var/run/nscd/socket
unix  2      [ ACC ]     STREAM     LISTENING     1905     /run/systemd/journal/io.systemd.journal
unix  2      [ ACC ]     STREAM     LISTENING     12193659 /run/user/1001/bus
unix  2      [ ACC ]     STREAM     LISTENING     12205464 /run/user/1001/systemd/private
unix  2      [ ACC ]     STREAM     LISTENING     13312    /nix/var/nix/daemon-socket/socket
unix  2      [ ACC ]     STREAM     LISTENING     18416    /var/run/dhcpcd.sock
unix  2      [ ACC ]     STREAM     LISTENING     18418    /var/run/dhcpcd.unpriv.sock
unix  2      [ ACC ]     STREAM     LISTENING     13308    /run/dbus/system_bus_socket

我不知道如何使 grafana 在本地网络中可用。请问有人可以帮我吗?

(我知道这个问题有点类似于this one,但那里的解决方案对我没有帮助)

【问题讨论】:

  • 首先确保您的nginx.service 正在运行并在端口80 上侦听,这与您运行的netstat 不同。那么您的服务器防火墙不会阻止对端口 80 的访问,您收到的错误消息似乎如此。
  • @Tch 好点。我发现nginx.service.enable 没有设置(默认为false)。我写了博文的作者,所以她可以添加。你想写一个答案让我接受吗?顺便说一句,我现在可以通过nixos.fritz.box 访问grafana,但希望它可以在grafana.nixos.fritz.box 下找到。你碰巧知道为什么会这样(或者我该如何改变它)?
  • 如果这解决了您的问题,那么您可以编写自己的答案并接受它以供其他人查看,并且您可以对我的 cmets 进行投票。
  • 你必须找出谁负责这个子域的A记录。如果没有活动的 dns 可以为您提供该信息,那么您必须在笔记本电脑和服务器的 /etc/hosts 中设置 ipofserver grafana.nixos.fritz.box

标签: nginx networking port grafana nixos


【解决方案1】:

添加以下行解决了我的问题(感谢@Tch):

nginx.service.enable = true;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-20
    • 2016-02-21
    • 1970-01-01
    • 1970-01-01
    • 2020-01-11
    • 2012-01-30
    • 2021-08-24
    相关资源
    最近更新 更多