Upgrading from 1.4.1 to 1.4.4
With Zabbix 1.4.1, if the c:\zabbix_agent.conf configuration line for "LogFile" is incorrect -- e.g. if it is left with the default value for Unix systems, like "/tmp/mylog.txt", the Zabbix Agentd still runs, it just doesn't log anything.
With Zabbix 1.4.4, if the "LogFile" parameter is incorrect, Zabbix will not start. If you do an upgrade from 1.4.1 to 1.4.4, by just replacing the zabbix_agentd.exe, etc. binaries, but Zabbix won't stay running, update your zabbix_agentd.conf file with something like:
LogFile=c:\zabbix\zabbix_agentd.log
How to setup Network Monitoring
The problem is figuring out the exact name to use for the Network Interface.
Suppose when at a command prompt, "ipconfig/all" shows an interface description of this:
Description . . . . . . . . . . . : 3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)
...But if you create a line using that value in c:\zabbix_agentd.conf, it doesn't work:
PerfCounter=NetOut60,"\3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)\Bytes Sent/sec",60
Here is how to get the right value:
So once again, the incorrect line using the description from "ipconfig/all" would be:
PerfCounter=NetOut60,"\3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)\Bytes Sent/sec",60
and the CORRECT line, using the information just copied from the log file is:
PerfCounter=NetOut60,"\Network Interface(3Com EtherLink XL 10_100 PCI For Complete PC Management NIC [3C905C-TX] - Packet Scheduler Miniport)\Bytes Sent/sec"
Once you get a feel for how the names get modified, e.g. the translation of the "/" character to a "_" character, etc. you will be able to edit these by hand.
After you've edited c:\zabbix_agentd.conf, restart Zabbix Agent with this command:
sc stop "Zabbix Agent'
sc start "Zabbix Agent"
Then query your Network Interface param with:
c:\zabbix\zabbix_get.exe -slocalhost -kNetOut60
You should get a decimal value back. The parameters are case-sensitive also, so if your zabbix_agentd.conf reads "NetOut60" you have to use exactly that when querying it.
With Zabbix 1.4.1, if the c:\zabbix_agent.conf configuration line for "LogFile" is incorrect -- e.g. if it is left with the default value for Unix systems, like "/tmp/mylog.txt", the Zabbix Agentd still runs, it just doesn't log anything.
With Zabbix 1.4.4, if the "LogFile" parameter is incorrect, Zabbix will not start. If you do an upgrade from 1.4.1 to 1.4.4, by just replacing the zabbix_agentd.exe, etc. binaries, but Zabbix won't stay running, update your zabbix_agentd.conf file with something like:
LogFile=c:\zabbix\zabbix_agentd.log
How to setup Network Monitoring
The problem is figuring out the exact name to use for the Network Interface.
Suppose when at a command prompt, "ipconfig/all" shows an interface description of this:
Description . . . . . . . . . . . : 3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)
...But if you create a line using that value in c:\zabbix_agentd.conf, it doesn't work:
PerfCounter=NetOut60,"\3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)\Bytes Sent/sec",60
Here is how to get the right value:
- Start Performance Monitor (Start -> Run -> type "perfmon") and click OK.
- Expand "Performance Logs and Alerts" -> Counter Logs, then click on the blank sheet of paper icon to create a "New Log Settings" logs set. The name is not important as you'll just delete it, so call it "zabbix".
- Click "Add Counters"
- From the "Performance Object" drop-down, select 'Network Interface'
- Then from the two boxes below, select "Bytes Sent/Sec" on the left, and the Network Interface from the right. In my case this case was "3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)"
- Click "Add" then "Close".
- At this point, the entry you just created in the "Counters" box has the correct syntax. But it is not copy/pasteable. Once you're confident in entering the interface name, you can just eyeball it from this box. But this set of instructions will keep going so you can just copy/paste exactly what you need w/o guessing.
- Click the "Log Files" tab
- From the "Log File Type" drop-down, select "Text File" (Comma delimited)
- Note the example log file name, as we'll need to look at that file shortly.
- Click OK. You may be prompted to create the "C:\Perflogs" folder and/or your log file. If so, click OK again.
- Now you'll see your new Counter Logs set listed. Click on it to select it, and then click the "X" button on the toolbar to delete it. (Yes, I know you just created it, but you don't need to leave it running or use it).
- Open the example log file name you noted a couple steps back in your favorite text editor.
- The very first line contains the info you need. Here is what mine looked like:
"(PDH-CSV 4.0) (Central Standard Time)(360)","\\CDMSTATION1\Network Interface(3Com EtherLink XL 10_100 PCI For Complete PC Management NIC [3C905C-TX] - Packet Scheduler Miniport)\Bytes Sent/sec" - In this example, "CDMSTATION1" is my computer's name. All of the text up to and including that is unnecessary, leaving you with:
\Network Interface(3Com EtherLink XL 10_100 PCI For Complete PC Management NIC [3C905C-TX] - Packet Scheduler Miniport)\Bytes Sent/sec"
So once again, the incorrect line using the description from "ipconfig/all" would be:
PerfCounter=NetOut60,"\3Com EtherLink XL 10/100 PCI For Complete PC Management NIC (3C905C-TX)\Bytes Sent/sec",60
and the CORRECT line, using the information just copied from the log file is:
PerfCounter=NetOut60,"\Network Interface(3Com EtherLink XL 10_100 PCI For Complete PC Management NIC [3C905C-TX] - Packet Scheduler Miniport)\Bytes Sent/sec"
Once you get a feel for how the names get modified, e.g. the translation of the "/" character to a "_" character, etc. you will be able to edit these by hand.
After you've edited c:\zabbix_agentd.conf, restart Zabbix Agent with this command:
sc stop "Zabbix Agent'
sc start "Zabbix Agent"
Then query your Network Interface param with:
c:\zabbix\zabbix_get.exe -slocalhost -kNetOut60
You should get a decimal value back. The parameters are case-sensitive also, so if your zabbix_agentd.conf reads "NetOut60" you have to use exactly that when querying it.