如何解决在NixOS上安装Zabbix服务器
我有什么
我有一个服务器(树莓派通过以太网连接到fritzBox-router),上面安装了新的nixos。我可以通过ssh
(ssh admin@nixos.fritz.Box
)连接到它。
我已经有一些使用nixos的经验,但是经验不足。
我想要什么
我希望它在其上运行 zabbix服务器并连接具有 Web界面(例如,在nixos.fritz.Box/zabbix
上进行连接),但是我不知道真的不在乎)。
我尝试过的
我发现https://github.com/NixOS/nixpkgs
上有多个用于zabbix的软件包:
- pkgs/servers/monitoring/zabbix上的zabbix-server,-web,-agent和-proxy软件包。 {li> nixos/modules/services/monitoring上的
- zabbix-server,-agent和-proxy模块。
nix search zabbix
还给了我zabbix-cli
和zabbixctl
的提示,我相信在那里可以管理现有的zabbix安装,因此对我的问题没有帮助。
我在options for configuration.nix中查找了zabbix,发现了很多东西。
最令人期待的外观是services.zabbixServer.enable
。我在配置中将其设置为true
并重建了它。这似乎奏效了:
systemctl status zabbix-server.service
● zabbix-server.service - Zabbix Server
Loaded: loaded (/nix/store/dxm7imx0ryfxdyqq5bj42klprycnpzna-unit-zabbix-server.service/zabbix-server.service; enab>
Active: active (running) since Sat 2020-10-31 17:45:59 UTC; 17h ago
Process: 14883 ExecStartPre=/nix/store/1py4ma02cnarrnx2yhz1gnjgpv4m9v06-unit-script-zabbix-server-pre-start/bin/zab>
Main PID: 14896 (zabbix_server)
IP: 41.4K in,62.1K out
Tasks: 38 (limit: 4481)
Memory: 33.0M
...
sudo netstat -nap | grep zabbix
[sudo] password for admin:
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 14896/zabbix_server
...
但是我仍然不知道如何连接到Web界面。
我试图启用zabbix-web(services.zabbixWeb.enable
为true),但遇到错误,并且我不知道如何解决它:
sudo nixos-rebuild switch
building Nix...
building the system configuration...
error: The option `services.zabbixWeb.virtualHost' is used but not defined.
我在以下手册中浏览了关于zabbix的提示,但是在那里没有找到关于zabbix的任何提示。
- nix-manual
- nixpkgs-manual
- nixos-manual(包含许多特定于应用程序的帮助,例如nextcloud)
我希望得到的东西
我希望有一个最小的configuration.nix
,它允许运行zabbix服务器并使用浏览器连接到其Web界面。
非常感谢
解决方法
错误消息表明已使用services.zabbixWeb.virtualHost
,但未定义。解决方案最有可能为该选项定义一个值。您可以在这里找到services.zabbixWeb.virtualHost
的文档:
在该文件中,您将看到定义了许多其他选项,并且可能还需要设置其中的许多选项。
,感谢David Grayson(他的回答我标记为对他公平)我认为这是登录zabbix.localhost
(具有zabbix默认凭据)的最小设置。
services.zabbixServer.enable = true;
services.zabbixWeb = {
enable = true;
virtualHost = {
hostName = "zabbix.localhost";
adminAddr = "webmaster@localhost";
};
};
# technically not needed on the server,but good for testing.
services.zabbixAgent = {
enable = true;
server = "localhost";
};
对于在服务器上具有客户端也很高兴:
# technically not needed on the server,but good for testing.
services.zabbixAgent = {
enable = true;
server = "localhost";
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。