sim*_*lev 6 security nrpe systemd
我使用Nagios Core、NRPE和check_disk监控 Ubuntu 服务器上的可用磁盘空间。
在以前的 Ubuntu 版本中,我曾经得到类似这样的输出:
DISK OK - free space: / 43754 MB (80% inode=86%):
Run Code Online (Sandbox Code Playgroud)
相反,在 Ubuntu 18.04.1 上,我得到:
DISK OK - free space: /var/tmp 43754 MB (80% inode=86%):
Run Code Online (Sandbox Code Playgroud)
我看到/var/tmp根/分区的安装点不正确。我跟踪此行为依赖PrivateTmp=true于nagios-nrpe-server.service:
/var/tmp并发现了一个名为systemd-private-c5b5d3d362364af19af640147f2cb844-nagios-nrpe-server.service-4uILRyPrivateTmp=true不存在)/我觉得我面临三个选择:
忍受它。
消除PrivateTmp=true。
找到合理的解决方法。
我倾向于接受它,但如果我更清楚没有私人/tmp服务的影响,我可以对选项 2 做出明智的选择。
最佳解决方案可能是找到一种解决方法,指示check_disk即使在这种情况下也返回正确的安装点信息。无法访问系统/tmp不应构成障碍。
问题:请说明 的含义PrivateTmp=true,解释为什么建议使用它,在什么情况下以及有哪些注意事项可以将其删除。
第二个问题:check_disk即使由带有 的服务运行,是否有一个合理的解决方法或等效工具可以显示正确的根挂载点PrivateTmp=true?
附加信息:
完整的命令是:/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/mapper/vg-root。在本地运行时,即使与nagios用户一起运行,输出也会正确显示/. 当使用以下命令从 Nagios 服务器远程运行时/usr/local/libexec/nagios/check_nrpe2 -H 192.168.1.2 -c check_root,输出显示/var/tmp而不是预期的/.
我可以通过提供块设备而check_disk不是安装点来重现此行为。
例如:
root@cosmic:~# grep check_root /etc/nagios/nrpe.cfg
command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1
root@cosmic:~# /usr/lib/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_root
DISK OK - free space: /var/tmp 6451 MB (68% inode=78%);| /var/tmp=3033MB;8010;9011;0;10013
root@cosmic:~# /usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda1
DISK OK - free space: / 6451 MB (68% inode=78%);| /=3033MB;8010;9011;0;10013
Run Code Online (Sandbox Code Playgroud)
但通过使用挂载点,我得到了预期的行为:
root@cosmic:~# grep check_root /etc/nagios/nrpe.cfg
command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
root@cosmic:~# /usr/lib/nagios/plugins/check_nrpe -H 127.0.0.1 -c check_root
DISK OK - free space: / 6451 MB (68% inode=78%);| /=3033MB;8010;9011;0;10013
root@cosmic:~# /usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
DISK OK - free space: / 6451 MB (68% inode=78%);| /=3033MB;8010;9011;0;10013
Run Code Online (Sandbox Code Playgroud)
此行为似乎确实与PrivateTmp=systemd 单元中的设置有关。当我从 中删除它时nagios-nrpe-server.service,然后check_disk在给定块设备时返回预期结果。我玩了一下刚刚运行的微不足道的服务/bin/df,PrivateTmp=true但我找不到任何明显的问题。它也返回了正确的结果。
我建议,如果您确实需要能够通过块设备而不是挂载点检查磁盘,最好的办法就是向 Nagios NRPE 开发人员报告问题,以便他们能够真正深入研究代码并找到任何问题。是。
| 归档时间: |
|
| 查看次数: |
8366 次 |
| 最近记录: |