如何使 nixos 上的 Zabbix 在本地网络中可用 [英] How to make Zabbix on nixos available in local network
问题描述
我的笔记本电脑和我的 nixos 服务器(主机名=nixos
)都连接到我的路由器(fritz.box
).我可以通过 ping (ping nixos.fritz.box
) 和 ssh (ssh username@nixos.fritz.box
) 访问 rooter.
My laptop and my nixos-server (hostname=nixos
) are both conected to my router (fritz.box
). I can access the rooter via ping (ping nixos.fritz.box
) and ssh (ssh username@nixos.fritz.box
).
在服务器上我已经配置了 nixos 来运行 zabbix-server
和 zabbix-web
:
On the server I have configured nixos to run both zabbix-server
and zabbix-web
:
services.zabbixServer.enable = true;
services.zabbixWeb = {
enable = true;
virtualHost = {
hostName = "zabbix.fritz.box"; # doesn't work
adminAddr = "webmaster@localhost";
};
};
这似乎工作正常.在服务器上我看到:
This seems to work fine. On the server I see:
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.
Unfortunately I can't access zabbix from my computer via webbrowser at zabbix.fritz.box
.
我希望只设置 services.zabbixWeb.virtualHost.hostName
就足够了.我尝试将其设置为 zabbix.localhost
并从服务器本身访问它.效果很好.
I had hoped just setting services.zabbixWeb.virtualHost.hostName
would be enough.
I tried setting it to zabbix.localhost
and access it from the server itself. That worked just fine.
有 nixos 中 zabbix-web 的很多选项,但是我对网络不是很了解所以不知道如何解决这个问题.我在 nixos 上没有找到任何关于 zabbix 的文档.
There are many options for zabbix-web in nixos, but I don't know much about networking so I don't know how to solve this problem. I didn't find any documentation about zabbix on nixos.
但我不知道如何使 zabbix-web
在本地网络中可用.有人可以帮我吗?
But I don't know how to make zabbix-web
that available in the local network. Can someone help me with that, please?
netstat -an |grep LISTEN 给了我这个:
netstat -an | grep LISTEN gives me this:
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 上默认启用.
As @IronBishop suggested, I didn't open the TCP ports. The firewall is activated by default on nixos.
服务器上的以下行修复了问题,zabbix 可在 nixos.fritz.box
获得:
The following line on the server fixed the problem, zabbix is available at nixos.fritz.box
:
networking.firewall.allowedTCPPorts = [ 80 443 ];
这篇关于如何使 nixos 上的 Zabbix 在本地网络中可用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!