Zabbix for Beginners- 02- Working with Zabbix - Part 1


 Last Zabbix tutorial videos: 

00-Introduction of our scenario

01-Installing Zabbix on a Virtual Machine

In this tutorial video we have:
  • Zabbix Architecture and components (Proxy, DB, Media Server, GUI, etc.)
  • How Zabbix monitors devices by SNMP and Agent, Services
  • Overview of Zabbix and GUI Menus 
  • Configuration: Host, Item, Graph for R1
  • Monitoring: Graph 
 You can watch the video here: http://youtu.be/Nk-MY7MWNmE

 You can download the slide here: https://drive.google.com/file/d/0B7Qqqz58v3OKLVQwZ2RPX1E3dk0/view?usp=sharing



Zabbix's components:
  • Zabbix Server: The main engine of Zabbix
  • Proxy: All devices send the data to the Proxy, as an interface between devices and Zabbix Server. Proxy collects the monitoring data and if something bad happens, proxy informs Zabbix Server
  • Database: Microsoft SQL Server, My SQL, Oracle, etc. For storing Monitoring data
  • GUI: Web interface for configuring and working with Zabbix
  • Media Server: Like E-mail, SMS, etc. for sending alarm to Admin 
 Proxy, Database, GUI, Media server can be installed on one machine, or more

Complete Architecture


 
Without Proxy 



 Simple (Our approach) 






 We have installed all components in one machine, so Simple architecture is our approach

 We have installed all components (Proxy, Database, GUI, Media server) on one machine
 
SNMP
SNMP is a standard protocol for monitoring devices Uses MIB and OID to monitor CPU, RAM, Bandwidth, etc. SNMP Needs to be installed or be activated on devices. After that, Zabbix send request, devices send responds
This protocol is suitable for Network devices (Routers, Switches, etc) and Servers
 
Zabbix Agent
Zabbix Agent is a software which is developed by Zabbix. It Need to be installed on machines and you can download it for different OS here 
Zabbix Agent sends monitoring data to Zabbix Server and it uses default port TCP 10050 so it must be open on firewalls
Zabbix Agent is suitable for Servers
 
 Main menus
  • Configuration: The most important part is Configuration. You can add network devices like Switches, Routers and Servers, here. 
  • Monitoring: When you add Devices like Routers, Switches and Servers which are called Host, you can use Monitoring menu to see the results of monitoring. For example you can see the graphs here. 
  • Reports: After a while, you may need to have a report about for example bandwidth usage. You can use this menu for creating reports. 
  • Administration: You can add Username, change password, change User’s profile, add new Media Type (Like SMS and Email), create Script, etc. 
Host: The device you want to monitor. Like Routers, Switches, Servers, etc. For example R1
Host name: Enter a unique host name for your device (R1)
Group: Select a group for your Host. A host must belong to at least one host group. I choose group Templates
Agent interfaces/SNMP interfaces: Depends on your approach to monitor device by either SNMP, Zabbix Agent or both, choose the IP Address (I Use SNMP for R1)
IP Address: 192.168.1.201, I recommend to use IP address rather than DNS Name because if you use DNS Name: You have to have DNS Server which works properly.
More information: https://www.zabbix.com/documentation/2.4/manual/config/hosts/host

Items: The object of the Host which you want to monitor. For example: CPU, Memory, Interfaces, Bandwidth… At the moment, for just an example, I want to monitor CPU and Memory Load of R1
Name: Define a name for a the Item you want to monitor CPU Idle, CPU Usage – Memory Free, Memory Usage
Type: Means how you want to monitor your data? Zabbix Agent, SNMP v2, SNMP v3, etc.
Key: Choose an unique name for your Item.
It will use when you want to create a special Item, which is a combination of others Items. For example Item3=Item2+Item1, Item5=𝐼𝑡𝑒𝑚4/𝐼𝑡𝑒𝑚6 (Zabbix calls this special items, calculated items)
There are several condition for selecting Key (Unique name) for each Item. For more information: https://www.zabbix.com/documentation/2.4/manual/config/items/item/key

I recommend use similar things for Name and Key but you have to obey the conditions. For example, for CPU Usage, I choose CpuUsage and for CPU Idle I choose CPUIdle and so on.

First example for R1: Memory Load = Free Memory and Memory Usage (two Items)
Name: MemoryFree-R1,
Type: SNMPv2
Key: MemoryFreeR1
SNMP OID:
Memory Free: 1.3.6.1.4.1.9.9.48.1.1.1.6.1
Memory Used: 1.3.6.1.4.1.9.9.48.1.1.1.5.1
SNMP community: cbt4all
Units: bps, Bps, etc. Use custom multiplier Convert Bps to bps by multiple in 8 Update interval (in sec)
Store value As Is and Delta (Good for bandwidth)

Summary about SNMP OID: Find and use a strange unique number
Memory Free: 1.3.6.1.4.1.9.9.48.1.1.1.6.1
Memory Used: 1.3.6.1.4.1.9.9.48.1.1.1.5.1

Find and use a strange unique name

interfaces.ifTable.ifEntry.ifInOctets.1
In this string, .In: Income traffic, speed 10/100, Octets: Number of Byte, 1: Interface 1
it means: The total number of Downloaded Bytes, including frame, in FastEthernet (10/100)
The OID for this string is: 1.3.6.1.2.1.2.2.1.10.1

interfaces.ifTable.ifEntry.ifOutOctets.1
Out: Outgoing traffic in speed 10/100, Octets: Number of Byte, 1: Interface 1
It means the total number of Uploaded Bytes, including frame, in FastEthernet (10/100).
The OID for this string is: 1.3.6.1.2.1.2.2.1.16.1

for more information about SNMP OID: https://www.zabbix.com/documentation/1.8/manual/advanced_snmp

The command for Cisco Routers and Switches: show snmp mib ifmib ifindex

Third example for R1: Interface bandwidth = Income and Outcome traffic (two Items)

Which interface: FastEthernet 0/0
Name: ifInOctets.1–R1, ifOutOctets.1–R1
Type: SNMPv2
Key: ifInOctets.1R1, ifOutOctets.1R1
SNMP OID: 1.3.6.1.2.1.2.2.1.10.1 , 1.3.6.1.2.1.2.2.1.16.1
SNMP community: cbt4all
Units bps, Bps, etc. Use custom multiplier Convert Bps to bps by multiple in 8 Update interval (in sec)
Store value: Delta (Good for bandwidth)

Graph:
In the Graph part, you can create a new Graph for each items you have created before.
Name: Must be unique
Width: Width in pixels
Height: Height in pixels
Graph type: Normal, Stacked, Pie, Exploded
Items: The items you want to see in the graph Examples: R1 CPU Load, R1 Memory Load, R1 Interface load


for more information: https://www.zabbix.com/documentation/2.4/manual/config/visualisation/graphs/custom

Trigger 
Trigger means: Please watch the data which are storing and evaluate it by something which I tell you.
Example, If the average of Used Bandwidth for 5 seconds is not more than 3 Mbps the result of Trigger is OK and if it is equal to or more than 3Mbps, the result is PROBLEM

{R1: ifOutOctets.1R1.avg(5)}>3000000

You can make every thing you want!  More in formation and example: https://www.zabbix.com/documentation/2.4/manual/config/triggers/expression


Action 
means do something if something happened. Send an email or/and SMS (called Media Type in Zabbix) Run an script Scenario: Send an email
We use SMPT Server which is installed on Ubuntu Server to send email: echo "Test mail from postfix" | sudo mail -s "Test Postfix" cbt4allemail@gmail.com

If you don’t receive the email from Ubuntu Server, you have a problem with your SMTP Server. You should troubleshoot and find the solution. I cannot help you about this issue but you can start from the command tail /var/log/mail.log for troubleshooting

By the way, I never check the email cbt4allemail@gmail.com! It is only for my lab.

https://www.zabbix.com/documentation/2.4/manual/config/notifications/action


Now we can monitor Items each device, one by one. But do all devices have limited Items? For example if we want to monitor a Switch with 48 ports, do we have to add all 48 interfaces one-by-one? In next video I will show you how you can use the Templates to make monitoring easy!


17 comments:

Anonymous said...

hi friend,

my zabbix server is in AWS i need how i can monitor remote sites using it

please help me on this

Regards
Mohamed

Alireza Rezvani said...

@Mohamed
Hi,

Thanks for your email. Actually I don't get your problem. What do you mean exactly?? If you have connectivity to your remote sites, you can monitor your site easily. What is the problem?

Video Hướng Dẫn said...

This is video very helpful!
But in step send mail with postfix, i can't send mail!
In mail.log file show:

Aug 28 13:28:06 zabbixsvr postfix/pickup[5340]: 9646BC23CD: uid=0 from=
Aug 28 13:28:06 zabbixsvr postfix/cleanup[5352]: 9646BC23CD: message-id=<20150828062806.9646BC23CD@localhost>
Aug 28 13:28:06 zabbixsvr postfix/qmgr[5341]: 9646BC23CD: from=, size=307, nrcpt=1 (queue active)
Aug 28 13:28:19 zabbixsvr postfix/smtp[5354]: connect to smtp.gmail.com[74.125.68.108]:587: Connection timed out
Aug 28 13:28:19 zabbixsvr postfix/smtp[5354]: connect to smtp.gmail.com[2404:6800:4003:c00::6d]:587: Network is unreachable
Aug 28 13:28:36 zabbixsvr postfix/smtp[5360]: connect to smtp.gmail.com[74.125.68.109]:587: Connection timed out
Aug 28 13:28:36 zabbixsvr postfix/smtp[5360]: connect to smtp.gmail.com[2404:6800:4003:c00::6d]:587: Network is unreachable

In don't know what wrong!

Alireza Rezvani said...

@Video Hướng Dẫn

Hi, based on logs you sent me, you may have connectivity problem. "smtp.gmail.com[74.125.68.108]:587: Connection timed" means the server cannot connect gmail. Check the internet connection first, by ping and be sure DNS is working properly

Thanks

Unknown said...

Hi Alireza,

Can you please help me out for the SNMPV3 configuration in Zabbix 2.4 on Centos plate from.

Thanks,
Pushpendra Tiwari

Alireza Rezvani said...

@Pushpendra
Hi, yes... in general I will but not soon. I am planning to capture some networking videos

Anonymous said...

Hi Alireza,

How to change the severity of an issue from High to Not classified.

hope you make some time to reply

Thanks !

Alireza Rezvani said...

@Anonymous

Hi, Actually I am not sure if I get your question correctly. If you want to change a Severity for a particular Trigger, this is the path:

Dashboard » Configuration of host groups » Configuration of templates » Configuration of triggers

Gong said...

Hi, Thank you for a great job. Can you make a video on how to set a Zabbix server to receive SNMP trap? and also shed some light on MIB and how to set up MIB as per item 1.5 on this documentation
https://www.zabbix.org/wiki/Start_with_SNMP_traps_in_Zabbix

Alireza Rezvani said...

@Gong
Hi,
Thanks for your comment. Happy you like the videos.
If I got time, I will do it. Thanks :-)

Owen Hughes said...

Hi,
I am having an issue with my Zabbix Dashboard. I get the message at the bottom of the page "Zabbix server is not running: the information displayed may not be current." Also at the top it says Zabbix server is running and the value is No in red font?

Dr.Acuarium said...

Hello Alireza!

Brother, I need some of your help please!!!!...Look, I'm getting the error:

wrong answer on MAIL FROM "530 5.7.0 Must issue a STARTTLS command first. 5sm6593027vkc.13 - gsmtp"

Maybe, do you know how to resolve this issue?...I have this configuration on Email:

SMTP Server: smtp.gmail.com
SMTP server port: 587
SMTP helo: smtp.gmail.com
SMTP email: mymail@gmail.com

I hope you can help me with this one.

Thanks for your support man!

Alireza Rezvani said...

@Owen
Hi, well if you followed my videos you would not get the error. But it seems you need to run the ZabbixServer manually.
If this does not work, you need to check the logs to see why the Zabbix Server is not run

Alireza Rezvani said...

@Acuarium
Hi. I have created a full video about sending email to gmail. Please watch video it shows clearly

Alireza Rezvani said...

@Acuarium
Hi. I have created a full video about sending email to gmail. Please watch video it shows clearly

Arun Nanak said...
This comment has been removed by the author.
Arun Nanak said...

Hi ,

I am new in Zabbix ,my teammate that was configured zabbix has left now .My question is how can i remove Yahoo alert from zabbix .Actually Yahoo site is working ,but why it is sending such alert Yahoo is not working,let me know.