We run a small startup and just began interesting ourselves in monitoring our machines properly. The choice fell on Zabbix, which fits well into our criteria of requirements.
I've setup the Zabbix server along with Zabbix agent on a Ubuntu 11.04 VM which works perfectly, which will act as the Zabbix server to store all the stats.
The next step obviously would be to setup each Zabbix node - also Ubuntu VM's, so we ran apt-get install zabbix-agent
. Running service zabbix-agent status
confirms that the service is running on the node machine. Everything fine that far, so we added the host node to Zabbix.
However when we access the Zabbix GUI and browse through the GUI, we see that the error/trigger Zabbix_server is not running on {HOSTNAME}
appears on our node.
Do we need to have both Zabbix_server & Zabbix_agent setup on each machine that we should monitor?
You only need zabbix_agent on each system you want monitored and zabbix_server on the system that will do the monitoring. For each zabbix_agent instance, you need to configure the permissions for the IP of the zabbix_server in /etc/zabbix/zabbix_agentd.conf (the Server directive).
All other configuration is done from the zabbix interface.
Once you install the server and it's php frontend, log into the frontend. On the dashboard, you get a little summary. Make sure that that says "zabbix server is running: yes" before doing any agent stuff.
Then, when all that works as planned, start configuring the agents. First do the agent on the zabbix server itself:
After you have installed the agent, it needs to be configured appropriately. The configuration is done in the configuration file. For Linux/Unix operating systems it is located in "/etc/zabbix/zabbix_agentd.conf" and for windows it is called "c:/zabbix_agentd.conf" by default.
There are two settings in this file that are really important: 'Server' and 'Hostname'.
The 'Server' setting needs to be set to whatever the ip or fqdn of your server is.
The 'Hostname' setting can be set to anything you like, but it is preferrable to choose a lowercase name without spaces or strange symbols. A good choice is to use the hostname of the server with your company name or site address as suffix. Let's say you have a server called workhorse, and your site is called example.com. Then you would choose hostname=workhorse.example.com as the value for the 'hostname' setting in the configuration file. Note that the value you choose for hostname in the configuration file doesn't need to be equal to the actual hostname of the server.
Next, go into the php frontend, add a host and set it's ip address or dns correctly. Also, set the name field to the value you chose in the agent config file. After saving, restart the agent and all should be well :)
Good luck!
You only need to install zabbix-agent on each machine that you want to monitor. Did you configure the agent: add agent ports to /etc/services, set IP of zabbix server in
zabbix_agentd.conf
?