Zabbix 3 Training Day 1
Zabbix 3 Training Day 1
WWW.ZABBIX.COM
Day 1
WWW.YOURCOMPANY.COM
GETTING STARTED
Facilities
Introduction
Background/company
Experience with CLI Unix like systems
Experience with Zabbix
Experience with other monitoring solutions
Current Zabbix deployments
About
Architecture Installation
Zabbix
Data Problem
Items
collection detection
Product facts
Supports virtually all platforms
and methods of monitoring
Scaling to Large Environments
Distributed monitoring
6
True Open Source,
no proprietary addons,
"professional" or "enterprise" versions
NOW
Established in 12 April,
2005 in Riga, Latvia.
Privately held,
no investors behind
Locations
Headquarters: Riga, Latvia
Subsidiaries: Tokyo, Japan
New York, USA
Our Mission
Focus on development and
providing commercial services
for Zabbix Software
35 1400000
32
30 30 1200000
29
25 1000000
22
20 800000
17
15 600000
13
10 10 400000
5 200000
4
2
1
0 0
2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015
Country Total
United States 434,971
United Kingdom 193,038
China 68,604
Brazil 61,218
Russia 47,197
Japan 21,100
Germany 18,987
Poland 15,095
France 11,246
Ukraine 6,889
Frontend
Open and customisable
Everything is stored in a relational database
C language for server, proxy and agent
The best performance
The lowest footprint and resource usage
Linux agent uses less than a megabyte of RAM
(736K on 64bit; excluding shared libraries)
Can be used in embedded environment
SQLite, very small footprint
Frontend
Database Server
Frontend
Database Server
Operating Additional
Database
Week 01 Week 03
system libraries
Linux MySQL
Week 02 SNMP: NET-SNMP
Solaris MySQL forks Web: libcurl
AIX PostgreSQL SSH: libssh2
HP-UX Oracle IPMI: OpenIPMI
FreeBSD SQLite Jabber: lib-iksemel
OpenBSD IBM DB2 VMware: libxml2
ODBC: unixODBC
Encryption: OpenSSL
ZABBIX 3.0 Certified Specialist
WWW.ZABBIX.COM 28
WHAT'S RECOMMENDED
● OpenSUSE/SLES
# zypper install zabbix-server-mysql
# make install
Example:
# ./configure --enable-server --with-mysql --with-net-snmp ...
# make install
Load files
●
# cd /usr/share/doc/zabbix-server-mysql-3.0.0
# zcat create.sql.gz | mysql -uroot -p zabbix
or
Component Requirement
Apache, lighthttpd, nginx
Back-end
Any other with support of PHP
Mozilla
Chrome
Browser Safari
MS Internet Explorer
Opera
Component Requirement
PHP version 5.4.0 or higher
PHP database php-mysql, php-sqlite, php-pgsql, php-
support sqlora, php-ibm_db2
php-bcmath, php-gd 2.0, php-net-socket,
PHP modules php-mbstring, PNG/JPEG/FreeType support,
php-xml, php-gettext, php-ldap
Some distributions might split out PHP core
Other
features in packages like php5-ctype, php-
requirements
session or php5-xml/php5-dom
Component Requirement
PHP memory limit 128 MB
PHP post max size 16 MB
PHP upload max filesize 2 MB
PHP max execution time 300 seconds
PHP max input time 300 seconds
Europe/Riga
PHP Timezone America/Chicago
http://php.net/manual/en/timezones.php
RHEL/CentOS
# yum install zabbix-web-mysql
OpenSUSE/SLES
# cp conf/zabbix.conf.php.example conf/zabbix.conf.php
$DB["TYPE"] = "MYSQL";
$DB["SERVER"] = "localhost";
$DB["PORT"] = "0";
$DB["DATABASE"] = "zabbix";
$DB["USER"] = "zabbix";
$DB["PASSWORD"] = "M35s#ShtCL";
$ZBX_SERVER = "localhost";
$ZBX_SERVER_PORT = "10051";
$ZBX_SERVER_NAME = "";
ZBX
Run agent
Rearrange widgets
Hide/Show panels
Filter by hostgroup,
maintenance,
trigger severity
and name
Show
Unacknowledged
triggers
ZABBIX 3.0 Certified Specialist
WWW.ZABBIX.COM 51
GLOBAL ALARMS
Per user (can't be set by
admin)
Timeout
Play sound once/10 sec/forever
Different sounds depending on
severity
Snooze/mute
Examples:
Server
Switch
UPS
Application
Database
Website
...anything
ZABBIX 3.0 Certified Specialist
WWW.ZABBIX.COM 55
HOSTS
Monitored by proxy
Status
Host filter
Configuration → Hosts
Examples:
CPU utilization
DB status
Temperature in a server room
Number of users online for an application
...anything
Passive (pull)
Active (push)
10050 Passive
Server
10051 Active
Active
Explicitly set Hostname
HostnameItem if Hostname unset
system.hostname by default
No
Is
Send
HostnameItem Yes
set ? HostnameItem result
No
Send
system.hostname result
Use quotes
system.swap.size[/proc/swaps,free]
vs
system.swap.size["/proc/swaps,free"]
Free form string for SNMP & IPMI (OID & IPMI sensor matters)
Quote parameters (proc.mem["httpd",apache,sum])
Quick reference in the frontend
See Zabbix manual for the list of supported keys
Units
For numeric data only
If set, K/M/G/T/P/E/Z/Y prefix fill be added:
● 5242880 B -> 5 MB
Special processing for:
● B, Bps, unixtime, uptime
● Unit blacklist for %, ms, RPM, rpm
Examples:
wd1-5h9 - every Monday till Friday at 9:00
h9m/30;h10 - execute at 9:00, 9:30, 10:00
h9-10m10-40/30 - execute at 9:10, 9:40, 10:10, 10:40
md1wd1h9m30 - every 1st day of each month at 9:30 if it is Monday
hh:mm.ss Value
History
Raw data
18:00.01 12.23 6 values
18:10.01 12.23
18.20.00 12.21
18:30.03 12.50
18:40.00 12.07
Aggregated
1 x AVG
Trends
18:50.02 11.58 1 x MIN
1 x MAX
1 x COUNT
Housekeeper
/dev/null
ZABBIX 3.0 Certified Specialist
WWW.ZABBIX.COM 84
ITEM CONFIGURATION FILTER
Find items from multiple hosts
Group of items
One application, many items
One item, many applications
Examples:
CPU utilization is too high
Host is unreachable using ICMP
Database is down
Application is not running
...anything
Syntax:
{host:key.function(param)}=0
{zabbix:system.cpu.load.min(300)}>10
Operators
- + / * < > = <> >= <= or and
Zabbix makes decisions based on all information available: latest and history
Parameters:
<str> - normal parameters
{zabbix:system.cpu.load.min(10m)}>5
#<num> - number of checks
{zabbix:system.cpu.load.min(#10)}>5
Supported suffixes: s, m, h, d, w
{server:system.cpu.load.min(10m)} > 5
Constructor
CPU load is too high and less than 100 users online:
{host:system.cpu.load.last()}>5 and {host:users.last()}<100