在zabbix web端,键值配置net.tcp.port ip+端口获取值始终是0,然后采取了进入server端使用zabbix_get 测试发现 zabbix server端使用zabbix_get -s A服务器ip -k net.tcp.port[B服务器ip,端口号]的方式获取值也始终是0,但是进入服务器A使用 telnet B服务器ip 端口号 的方式可以正确提示 Connected to B服务器ip 有没有人可以告知一下是什么原因如何处理呢? 或者有没有什么其他可以监控到某一服务器的某端口连通性的方法也行,可以被zabbix正确监控到的方法。
时间: 2023-02-05 15:06:39 浏览: 550
这个问题可能是由于服务器A上的Zabbix Agent没有正确配置或者没有启动造成的。
你需要检查服务器A上的Zabbix Agent配置文件,确保它正确地配置了Server和ServerActive选项。这些选项指定了Zabbix Server的IP地址和端口号,Zabbix Agent会向它发送监控数据。如果这些选项没有正确配置,Zabbix Agent就不会向Zabbix Server发送数据,导致你在Zabbix web界面中看到的数据都是0。
另外,你还需要检查服务器A上的Zabbix Agent是否已经启动。如果没有启动,请运行以下命令启动它:
```
systemctl start zabbix-agent
```
如果你想要监控某个服务器的某个端口的连通性,你可以使用Zabbix的“tcp_connect”功能。首先,在Zabbix web界面的“Hosts”页面中选择你要监控的主机,然后点击“Items”标签。在“Create item”页面中,选择“Type”为“Zabbix agent”,“Key”为“tcp_connect”,并在“Parameters”中输入要监控的端口号。然后保存这个Item,就可以在Zabbix web界面的图形中看到端口的连通性了。
相关问题
zabbix版本低,必须使用 net.tcp.listen 函数,尝试使用 Zabbix 自定义监控项(UserParameter)来实现教程
好的,那么我们来尝试使用 Zabbix 自定义监控项(UserParameter)来实现教程吧。下面是具体的步骤:
1. 打开 Zabbix Agent 配置文件 zabbix_agentd.conf,该文件通常位于 /etc/zabbix/ 目录下(具体位置可能因操作系统而异)。
2. 在该文件中添加如下内容:
```
UserParameter=tcp.port[*],echo -n | timeout 3 telnet $1 $2 2>/dev/null | grep Connected | wc -l
```
该配置项定义了一个名为 tcp.port 的自定义监控项,它使用了 net.tcp.listen 教程中提到的方法,通过 telnet 命令检查指定端口是否处于监听状态。其中,[*] 是一个通配符,表示该监控项可以接受一个参数,即需要检查的端口号。
3. 保存并关闭 zabbix_agentd.conf 文件,重新启动 Zabbix Agent。
4. 在 Zabbix Web 界面中,创建一个新的主机或选择一个现有的主机,然后在该主机的配置页面中添加一个新的自定义监控项。
5. 在自定义监控项的配置页面中,填写以下信息:
- 名称:自定义名称,例如 TCP Port 80。
- 类型:Zabbix Agent。
- 键值:tcp.port[端口号],例如 tcp.port[80]。
- 类型:数值(浮点型)。
- 数据更新间隔:推荐设置为 30 秒。
- 应用:选择要应用该监控项的主机或主机组。
6. 保存并应用该监控项,然后等待一段时间,查看监控数据是否正确。
这样,我们就成功地使用 Zabbix 自定义监控项实现了 net.tcp.listen 教程中的功能。
centos7zabbix6.0.6源码编译后,启动zabbix_server,网页检查不到server在运行中
如果你编译安装后启动Zabbix Server,但网页上无法检测到Server正在运行,你可以尝试以下解决方法:
1. 检查Zabbix Server的日志文件:查看Zabbix Server的日志文件以获取更多信息。默认情况下,日志文件位于`/usr/local/etc/zabbix_server.conf`,可通过以下命令查看:
```shell
sudo vi /usr/local/etc/zabbix_server.conf
```
在日志配置部分,确认`LogFile`参数的路径,然后查看该文件以获取任何错误或警告信息:
```conf
# 日志文件路径
LogFile=/var/log/zabbix/zabbix_server.log
```
2. 检查Zabbix Server是否在运行:使用以下命令检查Zabbix Server进程是否正在运行:
```shell
ps aux | grep zabbix_server
```
如果没有找到运行中的Zabbix Server进程,使用以下命令启动它:
```shell
sudo systemctl start zabbix-server
```
确保启动命令没有报错,并再次检查进程是否在运行。
3. 确保防火墙允许Zabbix Server的端口访问:如果你的服务器开启了防火墙,请确保防火墙允许Zabbix Server的端口通过。默认情况下,Zabbix Server使用端口10051进行通信。你可以使用以下命令添加防火墙规则:
```shell
sudo firewall-cmd --zone=public --add-port=10051/tcp --permanent
sudo firewall-cmd --reload
```
确保防火墙规则已成功添加。
4. 检查Zabbix Server的配置文件:确认Zabbix Server的配置文件`zabbix_server.conf`中的相关参数是否正确配置。特别是以下参数:
```conf
# Zabbix Server监听的IP地址
ListenIP=0.0.0.0
# Zabbix Server监听的端口
ListenPort=10051
```
确保`ListenIP`参数设置为Zabbix Server所在的IP地址,并且`ListenPort`参数设置为正确的端口。
5. 重启Zabbix Server和Web服务器:如果你尝试了以上步骤但仍然无法解决问题,可以尝试重新启动Zabbix Server和Web服务器(例如Apache):
```shell
sudo systemctl restart zabbix-server
sudo systemctl restart httpd
```
确保重启命令没有报错,并再次检查Zabbix Server是否在运行。
如果你按照上述步骤检查和调整,仍然无法解决问题,请提供更多详细的错误信息和日志内容,以便进一步帮助你解决问题。
阅读全文