如何使 Zabbix on nixos 在本地网络中可用
How to make Zabbix on nixos available in local network
我的笔记本电脑和我的 nixos-server (hostname=nixos
) 都连接到我的路由器 (fritz.box
)。我可以通过 ping (ping nixos.fritz.box
) 和 ssh (ssh username@nixos.fritz.box
) 访问 rooter。
在服务器上,我已将 nixos 配置为 运行 zabbix-server
和 zabbix-web
:
services.zabbixServer.enable = true;
services.zabbixWeb = {
enable = true;
virtualHost = {
hostName = "zabbix.fritz.box"; # doesn't work
adminAddr = "webmaster@localhost";
};
};
这似乎工作正常。在服务器上我看到:
systemctl list-units | grep zabbix
phpfpm-zabbix.service loaded active running PHP FastCGI Process Manager service for pool zabbix
zabbix-server.service loaded active running Zabbix Server
不幸的是,我无法通过位于 zabbix.fritz.box
的网络浏览器从我的计算机访问 zabbix。
我曾希望只设置 services.zabbixWeb.virtualHost.hostName
就足够了。
我尝试将其设置为 zabbix.localhost
并从服务器本身访问它。效果很好。
有many options for zabbix-web in nixos,但我对网络了解不多,所以不知道如何解决这个问题。
我没有在 nixos 上找到任何关于 zabbix 的文档。
但我不知道如何使 zabbix-web
在本地网络中可用。有人可以帮我吗?
编辑:
netstat -an | grep LISTEN 给我这个:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:5432 :::* LISTEN
unix 2 [ ACC ] STREAM LISTENING 60682 /run/zabbix/zabbix_server_alerter.sock
unix 2 [ ACC ] STREAM LISTENING 60690 /run/zabbix/zabbix_server_preprocessing.sock
unix 2 [ ACC ] STREAM LISTENING 60693 /run/zabbix/zabbix_server_lld.sock
unix 2 [ ACC ] STREAM LISTENING 114750 /run/phpfpm/zabbix.sock
unix 2 [ ACC ] SEQPACKET LISTENING 37697 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 41031 /var/run/nscd/socket
unix 2 [ ACC ] STREAM LISTENING 44221773 /run/user/1001/systemd/private
unix 2 [ ACC ] STREAM LISTENING 22618 /run/user/1000/systemd/private
unix 2 [ ACC ] STREAM LISTENING 22624 /run/user/1000/bus
unix 2 [ ACC ] STREAM LISTENING 12900 /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 12904 /run/systemd/userdb/io.systemd.DynamicUser
unix 2 [ ACC ] SEQPACKET LISTENING 12914 /run/systemd/coredump
unix 2 [ ACC ] STREAM LISTENING 36216 /var/run/dhcpcd.sock
unix 2 [ ACC ] STREAM LISTENING 36218 /var/run/dhcpcd.unpriv.sock
unix 2 [ ACC ] STREAM LISTENING 12923 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 44238740 /run/httpd/cgisock.25951
unix 2 [ ACC ] STREAM LISTENING 44199357 /run/user/1001/bus
unix 2 [ ACC ] STREAM LISTENING 12229 /run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 59856 /run/postgresql/.s.PGSQL.5432
unix 2 [ ACC ] STREAM LISTENING 12233 /nix/var/nix/daemon-socket/socket
unix 2 [ ACC ] STREAM LISTENING 13822 /run/systemd/journal/io.systemd.journal
正如@IronBishop 所建议的,我没有打开 TCP 端口。 nixos 默认开启防火墙。
服务器上的以下行解决了问题,zabbix 在 nixos.fritz.box
:
可用
networking.firewall.allowedTCPPorts = [ 80 443 ];
我的笔记本电脑和我的 nixos-server (hostname=nixos
) 都连接到我的路由器 (fritz.box
)。我可以通过 ping (ping nixos.fritz.box
) 和 ssh (ssh username@nixos.fritz.box
) 访问 rooter。
在服务器上,我已将 nixos 配置为 运行 zabbix-server
和 zabbix-web
:
services.zabbixServer.enable = true;
services.zabbixWeb = {
enable = true;
virtualHost = {
hostName = "zabbix.fritz.box"; # doesn't work
adminAddr = "webmaster@localhost";
};
};
这似乎工作正常。在服务器上我看到:
systemctl list-units | grep zabbix
phpfpm-zabbix.service loaded active running PHP FastCGI Process Manager service for pool zabbix
zabbix-server.service loaded active running Zabbix Server
不幸的是,我无法通过位于 zabbix.fritz.box
的网络浏览器从我的计算机访问 zabbix。
我曾希望只设置 services.zabbixWeb.virtualHost.hostName
就足够了。
我尝试将其设置为 zabbix.localhost
并从服务器本身访问它。效果很好。
有many options for zabbix-web in nixos,但我对网络了解不多,所以不知道如何解决这个问题。 我没有在 nixos 上找到任何关于 zabbix 的文档。
但我不知道如何使 zabbix-web
在本地网络中可用。有人可以帮我吗?
编辑:
netstat -an | grep LISTEN 给我这个:
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN
tcp6 0 0 :::80 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:5432 :::* LISTEN
unix 2 [ ACC ] STREAM LISTENING 60682 /run/zabbix/zabbix_server_alerter.sock
unix 2 [ ACC ] STREAM LISTENING 60690 /run/zabbix/zabbix_server_preprocessing.sock
unix 2 [ ACC ] STREAM LISTENING 60693 /run/zabbix/zabbix_server_lld.sock
unix 2 [ ACC ] STREAM LISTENING 114750 /run/phpfpm/zabbix.sock
unix 2 [ ACC ] SEQPACKET LISTENING 37697 /run/udev/control
unix 2 [ ACC ] STREAM LISTENING 41031 /var/run/nscd/socket
unix 2 [ ACC ] STREAM LISTENING 44221773 /run/user/1001/systemd/private
unix 2 [ ACC ] STREAM LISTENING 22618 /run/user/1000/systemd/private
unix 2 [ ACC ] STREAM LISTENING 22624 /run/user/1000/bus
unix 2 [ ACC ] STREAM LISTENING 12900 /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 12904 /run/systemd/userdb/io.systemd.DynamicUser
unix 2 [ ACC ] SEQPACKET LISTENING 12914 /run/systemd/coredump
unix 2 [ ACC ] STREAM LISTENING 36216 /var/run/dhcpcd.sock
unix 2 [ ACC ] STREAM LISTENING 36218 /var/run/dhcpcd.unpriv.sock
unix 2 [ ACC ] STREAM LISTENING 12923 /run/systemd/journal/stdout
unix 2 [ ACC ] STREAM LISTENING 44238740 /run/httpd/cgisock.25951
unix 2 [ ACC ] STREAM LISTENING 44199357 /run/user/1001/bus
unix 2 [ ACC ] STREAM LISTENING 12229 /run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 59856 /run/postgresql/.s.PGSQL.5432
unix 2 [ ACC ] STREAM LISTENING 12233 /nix/var/nix/daemon-socket/socket
unix 2 [ ACC ] STREAM LISTENING 13822 /run/systemd/journal/io.systemd.journal
正如@IronBishop 所建议的,我没有打开 TCP 端口。 nixos 默认开启防火墙。
服务器上的以下行解决了问题,zabbix 在 nixos.fritz.box
:
networking.firewall.allowedTCPPorts = [ 80 443 ];