Sometimes monitoring something proceeds without a hitch, sometimes it just won't work.
Q: I added a host or item, but I don't see it in Monitoring | Latest data.
A: It most likely has not received any data. Hosts without any data do not appear in the monitoring section.
Q: I can see my host in Latest data, and new values are coming in but it is missing in Monitoring | Overview.
A: Overview is probably set to display triggers verify that the host has triggers configured. Hosts without triggers are not displayed in the trigger mode.
Q: I am trying to monitor a host using Zabbix agent checks, but it doesn't work.
A: Common reasons why Zabbix agent items won't work include:
The Zabbix agent daemon is not running. Trivial right? Still, start by checking that it is actually running.
The Zabbix daemon is not listening on the correct port or interface. You can check what port and interface Zabbix agent daemon is listening on by running
netstat -ntpl
on the monitored host. The default agent daemon port is 10050.The Server IP address in the agent daemon configuration file is incorrect. Check the configuration file and make sure the
Server
directive specifies the IP that the Zabbix server will be connecting from.Network problems prevent the server from connecting to the agent daemon properly. This includes things like local and network firewalls blocking connections, but also some network devices and setups actually masking the source IP address of the Zabbix server's outgoing connections. Test connectivity by executing
telnet <monitored host IP> 10050
from the Zabbix server. Use another port, if you have customized that. If the connection is not opened, debug it as a network problem. If the connection is immediately closed, the Zabbix agent daemon does not see the connection as coming from the IP address set in the configuration file. Note that in some cases you might have to actually use the IPv6 address, as the Zabbix agent is receiving that as the one of the incoming connection.
Q: I am trying to monitor a host using Zabbix agent active checks, but it does not work.
A: Active items are a bit more tricky. Things to verify:
Check network connectivity as with normal items - from the monitored machine, execute
telnet <Zabbix server IP> 10051
. Use another port if you have customized that.Make sure that the time specified in
RefreshActiveChecks
option in the agent daemon configuration file has passed before expecting results from the active items. If you want to force agent to reload list of items from the server, restart the agent. Make sure to wait for Zabbix server to refresh its item cache, otherwise agent won't be getting configuration changes.Check whether the host name specified in agent daemon configuration file in the
Hostname
option matches the one configured for the host in the frontend. Note that this is not the IP address or DNS name, only the host name will work.Make sure that Zabbix server you want to retrieve/send active checks is listed as the first entry for
Server
option in agent daemon configuration file.
Q: I am verifying that I can get the value on the monitored host, but Zabbix agent says it is not supported or gives me wrong data.
A: There are several possible cases:
You are checking things like the process count or using
zabbix_agentd -t
syntax as root, but various permission limitations, including grsecurity and SELinux, can prevent access for Zabbix agent. This includes the Zabbix agent showing the amount of running particular processes as 0 even when with root access you can see actual amount.Another case when local process count differs from what the Zabbix agent returns - various interpreted processes like Python or Perl ones can appear to the agent as interpreter processes, only with user processes as a parameter. Processes known to suffer from this problem include
amavisd
andxend
. In those situations you can use a different approach, example item key -proc.num[python,,,xend]
. This will look forpython
processes, having thexend
string in their parameters.The monitored instance is missing. For example, if you are asking for metric with key
net.if.in[eth0,bytes]
and Zabbix agent claims it is not supported, verify that interfaceeth0
actually exists. In some cases, Linux can move an existing interface representation toeth1
or another device.
A missing environment is one of the biggest stumbling blocks when setting up user parameters. Zabbix agent does not preserve environment details like the
HOME
variable or other information. This can break various configurations that are set for the Zabbix user on the monitored host. Make sure to set the environment as required either by setting variables in the user parameter directly, or in a wrapper script.Again, restricted permissions for Zabbix user will be confusing to debug if you will run commands for testing as root, so always test user parameters as Zabbix user. If you need root access for some check, configure access via sudo.
Returning unclean data also can easily break the process. When retrieving data with user parameters, make sure it does not contain characters, making it unsuited for storage (like returning
26.6 C
for a float data type item), or having other weird characters (like having CR/LF linefeed at the end of the data string).
Q: My SNMP items do not work.
A: Double-check that the SNMP version and community string are set correctly. Specifying incorrect SNMP version will often cause timeouts, making it harder to debug. Of course, check general connectivity and permissions by using the
snmpwalk
andsnmpget
commands from the Zabbix server. Additionally, make sure you are not overloading the monitored device by querying lots of values too frequently.Q: My SNMP items work, but some OIDs on a specific device do not, even though data appears in
snmpwalk
output.A: Try
snmpget
with those OIDs. Some UPSes are known to have buggy firmware that prevents these metrics from working withSNMPGET
requests, but do work with theSNMPGETNEXT
requests thatsnmpwalk
uses. If that is the case, upgrade the firmware on the device.Q: I listed all SNMP MIBs I want to use in
/etc/snmp/snmp.conf
, but Net-SNMP utilities do not use them all properly.A: Some Net-SNMP versions silently trim lines in this file to 1024 symbols, including the newline character. Try splitting options on multiple lines so that a single line does not exceed 1023 printable characters.
Q: I can retrieve data with
snmpget
, but Zabbix times out.A: If you are trying to use a fully qualified SNMP OID with Net-SNMP 5.3.0 or 5.3.0.1, a bug in Net-SNMP will prevent it from working. Either patch Net-SNMP, or use numeric or short OIDs.
Make sure that the Zabbix server is configured with IPMI support. Trivial, but easy to miss.
Check whether the
StartIPMIPollers
option in the server's configuration file is set to the default value, 0. If so, set it to 1 and restart Zabbix server.Make sure that the sensor names are correct. You can get the sensor names with IPMItool, and you have to use the name as it appears in the IPMItool output with spaces, and without quoting it.
Discrete IPMI items are not supported.
There is a bug in older OpenIPMI versions. Retrieving data with IPMItool will work fine, but Zabbix will be unable to get any values. OpenIPMI 2.0.7 is known to have this problem, while OpenIPMI 2.0.14 is known to work.
Q: All of my ICMP checks are failing.
A: If you are using the
SourceIP
setting in the Zabbix server configuration file, it requires fping with-S
flag support. This support is not available in official fping packages, so you will have to either use a patched one (many distributions provide already patched fping packages), or remove theSourceIP
option.
Q: I am monitoring an item of type counter, but it doesn't work and Zabbix complains that the received data is not suitable for value type.
A: Note that the received data might be transformed; this is especially common with counter items as they usually are stored as delta (speed per second). In this case, the resulting value is fractional, and the item data type should be set to Numeric (float).