Zabbix 1.

8 Manual
1. About
1. Overview of Zabbix
1.1. What is Zabbix?
Zabbix was created by Alexei Vladishev, and currently is actively developed and supported by Zabbix SIA. Zabbix is an enterprise-class open source distributed monitoring solution. Zabbix is software that monitors numerous parameters of a network and the health and integrity of servers. Zabbix uses a flexible notification mechanism that allows users to configure e-mail based alerts for virtually any event. This allows a fast reaction to server problems. Zabbix offers excellent reporting and data visualisation features based on the stored data. This makes Zabbix ideal for capacity planning. Zabbix supports both polling and trapping. All Zabbix reports and statistics, as well as configuration parameters, are accessed through a web-based front end. A web-based front end ensures that the status of your network and the health of your servers can be assessed from any location. Properly configured, Zabbix can play an important role in monitoring IT infrastructure. This is equally true for small organisations with a few servers and for large companies with a multitude of servers. Zabbix is free of cost. Zabbix is written and distributed under the GPL General Public License version 2. It means that its source code is freely distributed and available for the general public. Commercial support [http://www.zabbix.com/support.php] is available and provided by Zabbix Company.

1.2. What does Zabbix offer?
Zabbix offers: auto-discovery of servers and network devices distributed monitoring with centralised WEB administration support for both polling and trapping mechanisms server software for Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X native high performance agents (client software for Linux, Solaris, HP-UX, AIX, Free BSD, Open BSD, OS X, Tru64/OSF1, Windows NT4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista) agent-less monitoring secure user authentication flexible user permissions web-based interface flexible e-mail notification of predefined events high-level (business) view of monitored resources audit log

1.3. Why use Zabbix?
Open Source solution highly efficient agents for UNIX and WIN32 based platforms low learning curve high ROI. Downtimes are very expensive. low cost of ownership very simple configuration Centralised monitoring system. All information (configuration, performance data) is stored in relational database high-level service tree very easy setup support for SNMP (v1,v2). Both trapping and polling. visualisation capabilities built-in housekeeping procedure

1.4. Users of Zabbix
Many organisations of different size around the world rely on Zabbix as a primary monitoring platform. 0 Comments

2. Goals and Principles
2.1. Main Goals of Zabbix Development
There are several goals Zabbix is trying to achieve: become recognized Open Source monitoring tool create Zabbix user group, which helps making the software even better provide high-quality commercial support

2.2. Main principles of Zabbix development
be user friendly keep things simple use as few processing resources as possible react fast document every aspect of the software

What's new in Zabbix 1.8
More than a year in making, Zabbix 1.8 has arrived with lots of new features, as well as improved old ones. You can introduce yourself to the changes for this new version of Zabbix in the following section.

1. Notable improvements
With so many changes it is impossible to pick 3 most notable ones - which is attempted below. For this reason, it is suggested to read on, as some generally minor feature might be very important to you. Performance improvements Full Unicode support Bar reports API technical preview

2. New features and improvements for the frontend
Zabbix web frontend is the feature that sets it apart from other solutions. Powerful, yet easy to use official GUI is shipped with the default package. It provides both non-intimidating access for novice users and large scale configuration features for sizable installations. Being most user-visible part, we will start by looking at many new features and improvements in Zabbix 1.8 for the web frontend. 2.1. Bar reports Zabbix already has easy to use simple graphs that do not require any configuration - these are provided for every numeric item. Custom graphs, along with a couple simplistic reports, allow to look at the data in context. Zabbix 1.8 brings much more powerful built-in reporting. New report category, bar reports, allows to look at the data from many different angles. Want to look at the weekly temperatures in the server room for the last two months? Have to compare webserver load for the first month of every quarter this year? All that and more is possible with this new feature.

2.2. Full Unicode support While previous Zabbix versions were multi-language friendly, providing several frontend translations, it was not a truly global thing - the most popular encoding, Unicode, was not fully supported. Zabbix 1.8 now fully supports Unicode/UTF-8, allowing for a true localised or multilanguage setup. 2.3. Improved time period navigation In Zabbix, single control is used to select time period displayed for many views, including simple and custom graphs, raw data, screens and web monitoring. Already improved in 1.6, time period selector has been improved in 1.8 further.

This scrollbar allows easy dragging and resizing of it. Additionally, links on the left hand side allow to choose some predefined, often used time periods and move displayed period forward/backward in time. And the dates on the right hand side actually work as links, popping up a calendar and allowing to set specific start/end time.

Notice the dynamic/fixed link in the lower right hand corner? It can be used to control whether time period is kept constant when you change start/end time. In addition to the screenshots you can also view the video [http://blip.tv/file/2950510] of using graph time period controls. 2.4. Improved graphs Zabbix graphs have been improved in many ways. This includes both visual and functional improvements, like the time period selector already mentioned. For example, information about max/min/avg values is presented clearly as a table.

2.4.1. Improved timeline in charts Zabbix graphs - or charts - usually display time on x axis. And even this representation has been improved in the new version. Comparing 1.6 and 1.8:

Axis labels in 1.6.

Axis labels in trunk.

As can be seen, labels are now easier to read. Instead of prioritising some arbitrary point in time, depending on graph scale, actual points in time like change of a day are prioritised. Sometimes Zabbix will even use more “human readable” labels:

2.4.2. Gradient line support in graphs Zabbix graphs support several line styles, and 1.8 brings one more - gradient line. It's easier to understand how that works by looking at an actual example.

2.4.3. DejaVu font used for graphs DejaVu [http://dejavu-fonts.org] font is now used for graphs for nice looking text - and for Unicode capabilities. 2.5. Improved map editing Zabbix supports network maps where monitored environment can be laid out on a background image to provide user friendly overview. In previous versions, editing such network maps was not easy - coordinates of each element on the map had to be specified manually. Map editing in Zabbix 1.8 has been greatly improved by adding drag and drop support, as well as selected element detail displaying in a popup.

You can even watch a video [http://blip.tv/file/2942525] of map editing. In addition to that map links may have optional text for displaying arbitrary information, for example, bandwidth data.

Background map CC-BY-SA Openstreetmap [http://www.openstreetmap.org/] . 2.6. Changed configuration layout Zabbix web frontend provides convenient way to display and visualise received data, as well as configure all aspects of monitoring. Layout of this configuration has been redone in 1.8. Instead of separate sections for items, graphs, triggers and so on, they are folded into host configuration section, where convenient linking allows for easy access to all of these entities and more. On the other hand, host group configuration has been brought out on the configuration menu.

Another change is general configuration being moved to administration section to avoid Zabbix administrator level users from having access to global configuration parameters. 2.7. Visual trigger editing frontend Usage thresholds and any other problem conditions are freely configurable by user. These definitions are called triggers, and complex expressions can be used for each trigger to define what is considered a problem. In addition to ability to edit trigger expressions directly, a frontend to create triggers visually has been added.

There is a special mode for creating log related triggers. It also incorporates ability to provide test data and try out trigger behaviour. (screenshot)

2.8. New and improved filters As Zabbix frontend provides means to access all the information, it can be a daunting task to find the desired one. Previous versions offered ways to filter this information, and 1.8 improves situation in this regard by adding new filters and making existing ones more powerful. 2.8.1. Items filter Item configuration section is the one where all aspects regarding data gathering are configured, thus it is displaying quite a lot of information. Being able to quickly find desired data gathering entries is crucial to efficient configuration, and in Zabbix 1.8 there's an improved filter for items that allows for much more detailed searching. (screenshot) After performing initial filtering, subfilter becomes available. It presents found values and results can be filtered further.

2.8.2. Audit filter Accountability is important on any system with more than one user (and on many systems with single user as well). Zabbix frontend records all operations in an audit log. In version 1.8 audit logs now can be filtered quite extensively to find exactly the changes you are looking for.

2.8.3. Latest data filter Looking at shiny graphs is tempting, but sometimes you need the real data. Latest data section in Zabbix frontend allows to see exact values for all monitored metrics. It is now possible to filter this screen by freeform search against item descriptions.

2.8.4. Reworked "Status of triggers" view Trigger view is widely used to display list of current problems, and it was possible to display recent events for all the problems, limited by day count. In 1.8, this screen gained has been changed, providing new features like expanding individual triggers to show their events and confirming all events for a trigger.

2.8.5. Other filters improved Filters in other sections of the frontend have been improved as well, allowing to get to the data easier and more quickly. 2.9. Improved screen editing Zabbix screens is a feature that allows to group many frontend elements, including graphs, network maps, raw data and many others. Configuring them initially was not very hard, but making any significant changes was nearly impossible in some cases. Screen editing has been greatly improved in 1.8. This includes: Drag and drop support. Dragging an element to empty cell will move it there, dragging an element on occupied cell will switch these elements. You can watch a video [http://blip.tv/file/2941499] of this feature (site also allows to download original .ogg video). Using icons on the screen edges, rows now can be inserted and removed from arbitrary locations.

2.10. Global search There's now a search box in the upper right corner, which allows searching in hosts, host groups and templates.

Results allow for a quick access to found entities and their elements:

2.11. Minor frontend improvements For a GUI minor visual change can bring large benefits to the user. Zabbix 1.8 has many minor improvements and features that should make working more productive and pleasant. 2.11.1. Cleaner error displaying Error messages are now shown as icons and error text is available in a popup. Clicking the icon opens the popup to allow copying of the message.

2.11.2. History strings saved by reference At the top of the frontend, there's a breadcrumbs type history, showing recently accessed pages.

When a language is switched in frontend, in previous versions existing history entries would not switch language, only new entries would be added in the correct language. Now history strings change appropriately. 2.11.3. Paging for entity lists added

3.8. reducing network load and load on the monitored devices.11.1. but can be handy when trying to determine source of a problem for others as well. Zabcon is especially exciting for users who would like to perform uncommon. and in Zabbix 1. it is possible to edit SNMP parameters like community string.selected rows now are hilighted. It already allows to perform most of the configuration changes. IP address becomes default option In host creation form. thus enabling powerful means for automated or complex setup management. As Zabbix proxy shares some code with the server. Note: API is currently considered to be in a technical preview state and can change in next versions.for example. 4. Performance improvements When monitoring hundreds and thousands of devices. Selected rows are highlighted now Most of the entries in these lists can be selected for performing some operation on them. Zabbix 1. Debug mode can be enabled on user group basis. Zabbix server has been improved greatly to allow gathering more data on the same hardware. large scale changes.1. Templates can be linked to monitored hosts and they determine what and how is monitored. 2. Items with SNMP dynamic index use one connection Zabbix supports monitoring SNMP metrics that have dynamic identifiers. Zabbix 1.org/] API. and that slows down frontend considerably.2.1. One such tool already has been created . 2.6.11.1. IP address is now the default choice. Entry count per page is configurable in user's profile.Many locations of Zabbix frontend present information as lists . In version 1. Increased Zabbix server and proxy performance Doing the main work behind the scenes.*] to monitor health of this cache. Ability to display server name Setting variable ZBX_SERVER_NAME allows Zabbix server name to be displayed in the frontend upper right corner.11. in items that are linked in from templates. Help icons lead to online manual Oldtime Zabbix users might remember the days when help icons from Zabbix frontend linked to the online manual. 1.2. Added configuration data cache module Database cache is enabled by default and can not be disabled.4. Improvements for larger installations Zabbix is being used in larger and larger environments every day.1.11.8 index resolving and data retrieval is performed in a single connection now.zabbix.8 most of these icons open Zabbix manual in a new browser window or tab. While API itself might not be that exciting for casual users. it has benefited from these changes as well. 2.8 supports splitting long lists in multiple pages.8 .11. These lists can get quite long on large installations of Zabbix. and surely users will come up with innovative and impressing uses for this tool.11. zabbix[wcache. load on the monitoring server hardware can become a serious issue. 3. 4. Zabbix management from servers without GUI installed also is expected to be possible.8 release introduces several changes that are specifically useful in average and above setups. It is also used in page title. . 4. Much more efficient polling Hundreds of pollers can be executed for greater parallelism and performance.7.1. 4.8 are more flexible now . A minor but welcome improvement in 1. 4.com/wiki/doc/zabcon]. The pollers do not communicate directly with the database and use very little of server CPU and memory resources. Configuring rows per page in user profile Entry limit in action 2.Zabbix commandline utility or Zabcon [http://www.8 first. Downstream linked items in Zabbix 1. as it allows easy scripting without programming skills.1. 4.8 brings many different improvements to the performance in several key areas. 2. A special internal check has been introduced. items or triggers. 2.whether it's a list of hosts. With the conversion to online documentation that again is possible. Configuration option StartDBSyncers has been removed from Zabbix server and proxy configuration files. all PNG images have been recompressed for optimal size. 4.1.9. More flexible linked items Zabbix supports very powerful templating that makes large scale configuration management easy. it enables creation of various tools.1.1. or allowed hosts for trapper items. Frontend images recompressed with pngcrush To reduce amount of data that users have to retrieve from webserver when using Zabbix frontend. API In version 1.5. Debug mode added for frontend Mostly useful for developers. Zabbix provides JSON-RPC [http://json-rpc.

2.168.8 increases the amount of available macros.DNS[1..9]} {ITEM. If a problem happens during the maintenance and is not resolved. IP mask support Industry standard network mask notation can now be used in network discovery.2. 4. Host maintenance Host and host group maintenance has been added to Zabbix..VALUE[1.2.3. Improved audit log Zabbix provides accontability by recording all user logins and changes to the Zabbix configuration in the audit log. for example system. and 1..2.1. Port interval support For services where it's appropriate.3. Starting with 1. notification is generated after maintenance period ends.4. New macros Zabbix provides very useful variables . defining the following macros on a host level allows to set custom thresholds per host.cpu.9]} . SNMPv3 support Network discovery in Zabbix 1. template and host level macros Support for user definable macros [http://www.8 supports SNMPv3 with all the corresponding functionality. available in previous versions. port interval support has been added.5.2. 4. many entities will have exact changes recorded.avg1]..2. Support for multihomed devices If a host provides some service on multiple IP addresses. For example.KEY[1. Automated host management improvements For larger or constantly changing environments replicating these changes in Zabbix configuration can be a challenge. New action operations Based on discovery events.8/manual/config/macros#global_and_host_level_macros] (or variables) has been added. Zabbix 1. Audit log in 1. These can be defined globally for Zabbix installation..zabbix.com/documentation/1.1.9]} {ITEM. The feature might be very handy for automatic monitoring of new Cloud nodes..9]} {HOSTNAME[1.8.0/24. Auto registration for active agents Completely new in Zabbix 1. as well as making some macros usable in more locations.2..1.4. 4.1. Exact changes made to item preserved Exact changes made to trigger preserved 5.zabbix.8/manual/auto-discovery].8. As soon as you have a new node in the Cloud Zabbix will automatically start collection of performance and availability data of the host.min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD} 5.uname returned by Zabbix agent or any OID returned by SNMP capable host.1. thus increasing available operation count for network discovery to 10..*[1. has received multiple improvements.2. 4. after which server can start monitoring them.8 has been improved. two new operations have been added.1.9]} {ITEM.to be used in item names. on template and host level.3. it is possible to allow active Zabbix agent auto-registration. 5.load[.CONN[1. it would be discovered as multiple hosts in Zabbix versions before 1.called macros . 4.*[1. notifications and elsewhere. 5.2. Support for global. 192. 4.VALUE} and {ITEM.LOG. Zabbix already supported network discovery. even if all hosts are linked against single template: In this case.. {NODE.1.9]} {HOST.3.LASTVALUE[1. Enable host Disable host 4.1. as well as new methods to automate adding of new devices to monitor. This allows to add new hosts for monitoring without any manual server configuration for each individual host. In notifications Along with existing macros new ones can be used in notifications that are sent out. for example.9]} {TRIGGER.2.8.9]} {ITEM. Various 5. templated trigger expression would be: {ca_001:system.2. Hosts that are in maintenance are indicated as such in Monitoring → Triggers view.8 now brings both improvements to the network discovery.9]} {HOST. and instead of simply seeing that something has changed.1.1.9]} {IPADDRESS[1.NAME[1..com/documentation/1. it is possible to use different uniqueness criteria for some services. Network discovery improvements Network discovery [http://www. 4.

Minor improvements We call these minor.host IP or DNS name.128.2.UNACK} 5.STATUS} {EVENT.30.ACK.03 and last release with security fixes in 2008. CPU switches support on Linux Key system.tcp. By default.9]} {EVENT. 5.10 with 300 ms interval between them.1. timeout .01. count . Zabbix 1. Zabbix 1.2. agent-less monitoring. but for somebody one of these might be the biggest change in Zabbix 1.timeout in milliseconds. Advanced regular expression editor Advanced regular expression editor was added to Zabbix with ability to test regular expressions. 6.3.{PROFILE. icmppingloss net. interval .switches can be used for Linux hosts..net] .8.number of packets.*[1. Client utilities moved to bin Zabbix client utilities zabbix_get and zabbix_sender were moved from sbin to bin .1. Item icmpping has gained the following parameters: target .4. Currently SSH and telnet cannot be used in actions.8.time between successive packets in milliseconds. 6.100] This would send five 128 byte packets to host with IP 10. Positive sign for decimal values supported If incoming decimal (float) value is preceded by a + sign. 5. Added Windows services key Added services key for Windows which can return services in a particular state. sometimes found on devices like printers.0 was out for some time to require support of Zabbix frontend. New input data types While different base values could be monitored before with user parameters. 6.10.6.2. 6. 6.5.6. 6.3. Default mode is avg . Zabbix 1.2. LVM swap devices support LVM devices are now supported as swap devices on Linux.5.1. Zabbix agent does not send more than 100 log lines per second per log file.2. that was not easy enough. max. Basic authentication support in web monitoring Web monitoring now supports basic HTTP authentication.8 requires PHP 5.7. IPv6 support for SNMP monitoring In addition to the SNMP related improvements for network discovery. In map labels Map labels allow using handy macros like the current value of some item.3. 6.8 natively supports two new input data types. It can be configured per scenario.1. It is now possible to define complex regular expression with easy to use interface and reuse them with simple reference. and use 100 ms timeout. Support for PHP 4 dropped Last bugfix release in 2008.maxlines.1. 6.HISTORY} {TRIGGER. source and event ID on the agent side. New Windows eventlog filters Windows eventlog entries now can be filtered by type. .2.08.2.300.6. First CPU number changed on Linux First CPU on Linux is now referred to as 0. New items Several completely new items have appeared. 'maxlines' parameter for log items Item keys log and eventlog now have new parameter .2. PHP4 was not receiving bugfixes anymore. 6. ICMP items have new parameters Zabbix ICMP items now are much more flexible.4. 6.2. Supported PHP version changes Zabbix frontend is based on PHP [http://php. appliances and servers without use of Zabbix Agent.8 introduces several new checks and improves old ones.06. 6. SSH and telnet checks Now SSH and telnet can be used for direct.4. and Zabbix frontend has been changed accordingly.2.one of min.2. Support for PHP 5.2.10.10. Item icmppingsec has gained all the above parameters. New and improved monitored metrics While Zabbix can be extended.2.UNACK} 5.3. {TRIGGERS. It makes possible very effective remote monitoring of network devices.2.5.EVENTS. 6.packet size in bytes. size .ACK.dns.2.1. built-in checks require less resources and are easier to use. Since the last stable Zabbix release there have been major changes in PHP versions.10. Octal Hexadecimal 6. 5.query 6. IPv6 support has been implemented for SNMP monitoring. It specifies maximum number of new lines per second the agent will send to Zabbix server or Proxy. SSH supports both password and key authentication methods. and one additional: mode . avg. For fast growing file the number can be increased using the new parameter. this functionality will be available in future releases. it is supported as a positive number now.3 added Released in 2009. 6.6.07. PHP 5. 5.cpu. which is consistent with other operating systems.0 or later.10. Now it is possible to use a key like this: icmpping[10.

SNMP and IPMI. Installation and Upgrade Notes 3. as well as allowed ranges.4.fs.8 frontend three different monitoring methods have their status displayed .14.2 and 1.11.8. The option can be used to migrate older historical data from other monitoring tools to Zabbix database for graphing and long-term analysis. Key vfs. are documented.4.org/wiki/Oracle_Call_Interface] .1.size returns data in bytes for all operating systems now. Also see requirement changes for version 1. Rotated logfile monitoring Zabbix supports logfile monitoring. and version 1.org/wiki/OpenDocument] export functionality.fs. Added manpages Manpages for all Zabbix processes have been added.8. Notification media can be chosen in action operations It means that it's possible to define messages that will be sent to one or several medias only.2. Manual user unblocking Ability to manually unblock users who have been locked out by bruteforce protection was added.1. status of the host will be correctly displayed and updated in Zabbix front-end.util key on Linux now starts with 0. which greatly improves performance and stability of Zabbix setups using Oracle as a back-end database. For version 1. Zabbix 1.8 All hosts now are required to belong to at least one group.service. Key vfs.1. 3.8. 6. Timestamp support for zabbix_sender Support for -T parameter in zabbix_sender has been added.it is much easier to monitor with Zabbix 1. Improved sample configuration files Sample configuration file layout was changed.for example.perf renamed to ntp. Maximal PHP memory size should be at least 128MB (option memory_limit). What's new in further releases See detailed information on new features and significant changes in other 1. Default theme uses green to denote availability. in 1. 6. System requirement changes Additional or increased system requirements: Support for PHP 4 dropped. Host status propagation from proxies If a host is monitored by a proxy. It does not require any configuration changes on agent side. 6. 6. if logfile name includes date . 3.3. read important notes.tcp. Native support of Oracle Previous version of Zabbix had a dependency on a third party library called sqlora8. Online documentation Documentation from an inflexible PDF file has been converted to online format where anybody can comment on individual pages.cpu. all critical messages can be delivered by using SMS messaging. Before upgrading. Clicking on the Blocked link will unblock this user.7.3. Errors related to each method are stored separately and can be obtained by moving mouse cursor over the error icon.6.3 Parameter service. For example. 6.6.x can be used with Zabbix 1. Offline documentation can still be obtained with ODT [http://en.2 1.5. Installation See the installation section for full details. Older Zabbix proxies of version 1. 6. while Black&blue theme uses blue colour.8. Comment at the end of a configuration file line is not allowed anymore (this worked for numeric parameters only before).x. Important notes 3.8.8 series releases: 1. they should be upgraded.size now takes into account reserved diskspace for root user.ntp for item keys net. 6. Version compatibility Older agents from Zabbix 1. Now all parameters are included.x can't be used with Zabbix 1. which allows to set timestamp for each value. See upgrading section if upgrading from an older Zabbix release.3. 6.Zabbix agent. CPU index for system. while other messages using both email and SMS without creating multiple actions. The library is not actively developed any more. If an application is writing to a new logfile with varying name .8 improves it further.9. 6.10. 3.wikipedia.1 1.6. 3.x and Zabbix 1.8. and their default values. Zabbix 1. Old syntax is still supported.8.3.8. For version 1. 3.tcp.3 Installation and upgrade See the installation section for new installations. .2.13.8. as it is now possible to specify regular expressions in logfile monitoring.wikipedia.service and net.6. Maximal PHP POST size should be at least 16MB (option post_max_size).8. Detailed availability information displaying Instead of simply displaying generic host status.0. Oracle support is now implemented using native Oracle Call Interface [http://en.12.

6. Opening such a graph usually will swap working time and trigger showing with percentile values. If you are converting the database to UTF-8.conf. however it is also included into number of OS distributions pre-compiled. Make sure that you have enough permissions (create table. You may want to review them.com [http://www. new parameters added.14 and later is known to work. Make sure that you have backup of your database.sql Database upgrade should take around 10-15 minutes.com] for information about the current version and for downloading instructions. Precompiled binaries (agent. drop index).2. Oracle or PostgreSQL drop drop drop drop drop drop drop drop drop drop drop index index index index index index index index index index index dhosts_1. actions_1. dservices_1. For version 1.sql Oracle: upgrades/dbpatches/1. Review Server configuration parameters Some parameters of zabbix_server. simply fixing and saving the graph will solve the problem. graphs_items drop index graphs_items_1. Backup existing Zabbix database This is very important step. 3. graphs_items_2.6.2 Because of frontend changes. Make sure database. some installations might see incorrect older data appear in frontend. power off. Check log files to see if the binaries have started successfully.x to 1. If that is the case.5. usually in Monitoring → Triggers section.8. For IPMI support you need a recent OpenIPMI version . configuration files and PHP files. For version 1. any unexpected problem). Uploading of images for network maps may fail if database is not configured properly.8 PHP mbstring check may fail with PHP < 5. 3.8 only! For upgrade from earlier versions use also upgrade scripts from Zabbix 1. XML export includes SNMP and other information for all items. This trigger can be deleted by clicking on it.php. httptest_3. history_text drop index history_text_2. graphs_items drop index graphs_items_2. for PostgreSQL it may take several hours or more because of conversion of existing historical data. 3. This only affects you if those graphs are being used.zabbix.conf. httptest drop index httptest_2. history_text_2.5.2 in Zabbix 1. 3. then clicking on Delete in the trigger editing form and confirming the deletion.6. Install new server binaries You may use pre-compiled binaries or compile your own. It will help if upgrade procedure fails (lack of disk space. Install new Zabbix GUI Follow installation instructions.6.6.conf were changed in 1.1.7. .5. copy zabbix. Stop Zabbix server Stop Zabbix server to make sure that no new data is inserted into database. dservices drop index dservices_1.x to 1. Installation 2. How to Get Zabbix Check the Zabbix Home Page at http://www.6.6. Hostnames with spaces do not work when sending data from a file with zabbix_sender (fixed in 1. escalations_2.6.8. services_1.3. services drop index services_1. These include: Incorrect trigger appearing. 3.2).6. Start new Zabbix binaries Start new binaries.5. graphs_items_1.zabbix.6. Use older versions. 3.8.8/<db engine>: MySQL: upgrades/dbpatches/1. It is recommended to test the upgrade procedure in a non-production environment.8. Backup configuration files. or compile from the scratch on the target system. 3.5. PHP files and Zabbix binaries Make a backup copy of Zabbix binaries. default graphs might have incorrect configuration. httptest_2.2.example file to zabbix. Depending on the installation time of your Zabbix server. when showing all hosts from all groups. Sorting in frontend is not performed for entities with positional variables (like item names with $1 etc). create index. Known problems 3. 0 Comments 2. history_log_2. 3.0.8/mysql/patch. choosing Configuration of triggers. drop table.6. escalations drop index escalations_2.6.8/postgresql/patch. Common symptom is failing to start with the error message: Floating point exception. Upgrade database Before running upgrade scripts drop the following indexes: MySQL alter alter alter alter alter alter alter alter alter alter alter table table table table table table table table table table table dhosts drop index dhosts_1. Configuration option StartDBSyncers has been removed from Zabbix server and proxy configuration files. 3. including database access parameters. httptest drop index httptest_3.6.x.php and modify parameters.8/oracle/patch. Also make sure that you have enough free disk space. 3.sql PostgreSQL: upgrades/dbpatches/1. it can take many hours. Upgrade procedure The following steps have to be performed for successful upgrade from Zabbix 1.8. actions drop index actions_1.2.8. The whole upgrade procedure may take several hours depending on size of Zabbix database. history_log drop index history_log_2. tables and fields are set to UTF-8 encoding.3. These scripts are for upgrade from Zabbix 1.1.4. get) might not work on 64bit systems with glibc versions older than 2. To avoid this issue. Ignore any warning messages about non-existent indexes! Database upgrade scripts are located in directory upgrades/dbpatches/1.1. sender. with name ERROR. Zabbix is distributed as a source package.

However.2. This function is only available if PHP is compiled with bundled GD.1. Comments PHP modules: GD 2. 2003. Latest versions of Mozilla Firefox. Software Requirements Zabbix is built around modern Apache WEB server.22 or later Required if MySQL is used as Zabbix back end database.postgresql.imagerotate. The following software is required to run Zabbix: Software Apache PHP Version 1.3. which is not the case in Debian and other distributions. Cookies and Java Script must be enabled. and the PHP scripting language.2. Opera and Konqueror are supported. Memory Requirements Zabbix requires both physical and disk memory. Zabbix database size mainly depends on these variables. --enable-sockets. Zabbix operates on market leading versions.1. and PostgreSQL as well.php] might be required. Required if Oracle is used as Zabbix back-end database. --enable-bcmath php-xml or php5-dom. you should be thinking of at least a couple of gigabytes to have enough space to store the history in the database. PHP function imagerotate [http://php.2. Choice of database engine Zabbix Server and Proxy support four database engines: MySQL Oracle PostgreSQL SQLite 2.html]. 128 MB of physical memory and 256 MB of free disk space could be a good starting point. Apple Safari) may work with Zabbix as well. It is suggested to use at least PostgreSQL 8.2 or later 3. If it is missing. if we have 3000 .5 or later Required if PostgreSQL is used as Zabbix back-end database. Examples of hardware configuration The table provides several hardware configurations: Name Small Medium Large Platform Ubuntu Linux CPU/Memory PII 350MHz 256MB MySQL MyISAM MySQL InnoDB Database Monitored hosts 20 500 >1000 Ubuntu Linux 64 bit AMD Athlon 3200+ 2GB Intel Xeon 2xCPU 8GB Ubuntu Linux 64 bit Intel Dual Core 6400 4GB RAID10 MySQL InnoDB or PostgreSQL Very large RedHat Enterprise Fast RAID10 MySQL InnoDB or PostgreSQL >10000 Actual configuration depends on number of active items and refresh rates very much.12 or later 5. The more physical memory you have. if provided as a separate package by the distributor php-session. XP. which define amount of stored historical data: Number of processed values per second This is average number of new values Zabbix server receives every second. Database size Zabbix configuration data requires fixed amount of disk space and does not grow much. Requirements 2. Required for user script support. Microsoft Internet Explorer.net/manual/en/function.1.3.3.4. Amount of memory allocated for the connection depends on configuration of the database engine.3. php-mbstring. 2. Zabbix is tested on the following platforms: AIX FreeBSD HP-UX Linux Mac OS/X NetBSD OpenBSD SCO Open Server Solaris Windows 2000. For example. Other hardware A serial communication port and a serial GSM Modem required for using SMS notification support in Zabbix. Version 1. Supported Platforms Due to security requirements and mission-critical nature of monitoring server. 2.3/static/release-8-3. the faster the database (and therefore Zabbix) works! 2.3. if provided as a separate package by the distributor php-net-socket. which introduced much better VACUUM performance [http://www.1.3.0 or higher. --enable-mbstring 3. It is highly recommended to run the database on a separate box for large installations.1. Vista (only Zabbix agent) Zabbix may work on other Unix-like operating systems as well.x or later for much better performance.0 or later PHP GD module must support PNG images. fault tolerance and resilience. Consider using PostgreSQL 8. 2. If you're planning to keep a long history of monitored parameters. 7. CPU Requirements Zabbix and especially Zabbix database may require significant CPU resources depending on number of monitored parameters and chosen database engine. these fonts might be rendered incorrectly in Monitoring → Overview header and other locations.org/docs/8. Each Zabbix daemon process requires several connections to a database server.1. Hardware requirements 2. Oracle.4. the amount of required disk memory obviously depends on the number of hosts and parameters that are being monitored. WEB browser on client side Support for HTML and PNG images is required. Server requirements Requirement OpenIPMI libssh2 Description Required for IPMI support Required for SSH support. 2. 2. leading database engines.1. For other fonts than the default DejaVu. MySQL. --with-ttf php-bcmath. Other browsers (Google Chrome.6. 2. UNIX is the only operating system that can consistently deliver the necessary performance.0 php-gd or later PHP TrueType support PHP bc support PHP XML support PHP session support PHP socket support PHP multibyte support MySQL php-mysql Oracle php-oci8 PostgreSQL php-pgsql SQLite php-sqlite3 Zabbix may work on previous versions of Apache. 2.0. Required if SQLite is used as Zabbix back-end database.5.

Zabbix Components Zabbix consists of several major software components. 2. In this case. Zabbix Proxies can also be used to distribute load of a single Zabbix Server. type of received values (floats. this would require 3*365*24*3600* 130 = 11GB The table contains formulas that can be used to calculate disk space required for Zabbix system: Parameter Zabbix configuration Formula for required disk space (in bytes) Fixed size. Housekeeper settings for events Each Zabbix event requires approximately 130 bytes of disk space. the Zabbix Server can actively alert the administrators of the particular machine that reported the failure.x for much better performance. The data is used for trending and long period graphs.4. days : number of days to keep history bytes : number of bytes required to keep single trend.3GB per year. Zabbix can also perform agent-less monitoring and also monitor network devices using SNMP agents.1. which depends on hosekeeper settings. Suppose we would like to keep trend data for 5 years. Normally 10MB or less. The WEB Interface In order to allow easy access to the monitoring data and then configuration of Zabbix from anywhere and from any platform.5. Disk space requirements for nodes in distributed setup are calculated in a similar way.5 or later required. days*(items/refresh rate)*24*3600*bytes items : number of items days : number of days to keep history refresh rate : average refresh rate of items bytes : number of bytes required to keep single value. the responsibilities of which are outlined below. 3. Zabbix front-end must run on the same physical machine if SQLite is used. The Zabbix Agents are extremely efficient because of use of native system calls for gathering statistical information. but it is also the central component to which the Agents will report availability and integrity information and statistics. and it is the entity in the Zabbix software that will actively alert administrators when problems arise in any of the monitored systems. the Web-based Interface is provided. Housekeeper setting for trends Zabbix keeps 1 hour max/min/avg/count statistics for each item in table trends.5GB for 5 years. All collected data is buffered locally and transferred to Zabbix Server the Proxy belongs to. etc). depending on database type.5GB of disk space. and is usually (but not necessarily) run on the same physical machine as the one running the Zabbix Server. 4. disk space for keeping a single value may vary from 40 bytes to hundreds of bytes. days*events*24*3600*bytes events : number of event per second. those systems must run the Zabbix Agent. but this also depends on a total number of child nodes linked to a node. History Trends Events So. So. PostgreSQL Headers and Libraries Version 7. The Agent will gather operational information from the system on which it is running.org/] is the most popular daemon that synchronizes the host's time with the time of other machines. depends on database engine. Components 3. or a crashed service process). It means that if we want to keep 3 years of events. or 31. memory.22 or later required.3.3.) on networked systems. It means that 50 new values are added to Zabbix database every second. . The Server is the central repository in which all configuration. 3. and report these data to the Zabbix for further processing. depends on database engine. In worst case scenario. SQLite Headers and Libraries Version 3. Consider using PostgreSQL 8. number of values per seconds is calculated as 3000/60 = 50.7. postgresql-dev. It is hard number of events generated by Zabbix daily. if we would like to keep 30 days of history and we receive 50 values per second. The following software is required to compile Zabbix: One of the following database engines: MySQL Headers and Libraries Version 3.items for monitoring with refresh rate of 60 seconds. The Proxy collects performance and availability data on behalf of Zabbix Server. total number of values will be around (30*24*3600)* 50 = 129. statistical and operational data are stored. strings. or about 130M of values.000. The Server can remotely check networked services (such as web servers and mail servers) using simple service checks.600. 3. networks having no local administrators. log files. depends on database engine. normally 130 bytes. 3000 values will require (3000/1800)*(24*3600*365)* 128 = 6.2. Zabbix Agent In order to actively monitor local resources and applications (such as harddrives. Each new value required certain amount of disk space for data and index. requires about 128 bytes per each total. Zabbix Server This is the centre of the Zabbix software. ntpd [http://www. 1 Comment 3.0. Usually provided as part of mysql-dev. normally 50 bytes. Installation from Source 4. In case of failures (such as a harddisk running full. days*(items/1800)*24*3600*bytes items : number of items days : number of days to keep history bytes : number of bytes required to keep single trend. The Interface is a part of the Zabbix Server. integers. Zabbix Proxy is an ideal solution for a centralized monitoring of remote locations. normally 128 bytes. Housekeeper settings for history Zabbix keeps values for a fixed period of time. Time synchronisation It is very important to have precise system date on server with Zabbix running. Normally it is around 50 bytes per value.2 or later required. sqlite3-dev packages. 3. it means that 130M of values will require 130M * 50 bytes = 6.ntp. Depending on used database engine.1. we may assume that Zabbix generates one event per second. processor statistics etc. One (1) event per second in worst case scenario. the total required disk space can be calculated as: Configuration + History + Trends + Events The disk space will NOT be used immediately after Zabbix installation. only Proxies collect data thus making processing on the Server less CPU and disk I/O hungry. Software requirements Building of Zabbix server or agents from sources requires additional software. branches. Zabbix database. Zabbix Proxy The Proxy is an optional part of Zabbix deployment. Database size will grow then it will stop growing at some point. Oracle Headers and Libraries Sqlora8 headers and libraries are required. normally several weeks or months. In our case.

sql sqlplus> exit For PostgreSQL: shell> psql -U <username> psql> create database zabbix.gz && tar -xvf zabbix-1.db cat images_sqlite3.'bin'. PostgreSQL and SQLite. Do not do it! Zabbix server process (zabbix_server) is protected from being run under root account. quit. Other (HP. src/zabbix_get The directory contains Makefile and sources for zabbix_get. For production use you should create a dedicated unprivileged account ('zabbix' is commonly used). There are separate scripts for MySQL. Step 2 Untar Zabbix sources shell> gunzip zabbix-1. Optional./data shell> cat data.8./data cat data.tar.db The database will be automatically created if it does not exist.13.NET-SNMP (or UCD-SNMP) library and header files Required for SNMP support. Optional. create/data Data for initial database creation. Structure of Zabbix distribution docs The directory contains this Manual in PDF format src The directory contains sources for all Zabbix processes except frontends.sql | psql -U <username> zabbix shell> cd .db cd . IBM) C compilers may be used as well. For MySQL: shell> mysql> mysql> shell> shell> shell> shell> shell> mysql -u<username> -p<password> create database zabbix character set utf8.sql | mysql -u<username> -p<password> zabbix For Oracle (we assume that user zabbix with password password exists and has permissions to create database objects): shell> cd create shell> sqlplus zabbix/password sqlplus> set def off sqlplus> @schema/oracle. GNU C compiler is the best choice for open platforms. cd create/schema cat mysql.. frontends frontends/php The directory contains files of PHP frontend.sql | sqlite3 /var/lib/sqlite/zabbix.8.sql | psql -U <username> zabbix shell> cat images_pgsql.sql | sqlite3 /var/lib/sqlite/zabbix. C Compiler C compiler is required.d The directory contains start-up scripts for different platforms.3.1 or higher required for WEB monitoring module. Running Zabbix as 'root'.2. upgrades The directory contains upgrade procedures for different versions of Zabbix.sql sqlplus> @data/data. Optional. 4. create/schema Database creation schemas. or any other account with special rights is a security risk. misc misc/init.sql | psql -U <username> zabbix For SQLite: shell> shell> shell> shell> shell> cd create/schema cat sqlite..sql | mysql -u<username> -p<password> zabbix cat images_mysql. Iksemel library and header files Required to enable Jabber messaging. src/zabbix_server The directory contains Makefile and sources for zabbix_server. Zabbix Server Server side Step 1 Create the Zabbix superuser account This is the user the server will run as. Oracle.sql | mysql -u<username> -p<password> zabbix cd .sql | sqlite3 /var/lib/sqlite/zabbix.sql sqlplus> @data/images_oracle. src/zabbix_sender The directory contains Makefile and sources for zabbix_sender. Step 4 Configure and compile the source code for your system . include The directory contains include Zabbix files. 4. src/zabbix_agent The directory contains Makefile and sources for zabbix_agent and zabbix_agentd./data cat data. psql> \q shell> cd create/schema shell> cat postgresql. Libcurl library and header files Version 7. create The directory contains SQL script for initial database creation. GNU Make GNU make is required to process Zabbix Makefiles.tar Step 3 Create the Zabbix database Zabbix comes with SQL scripts used to create the required database schema and also to insert a default configuration..

To configure the source for the server./configure --enable-server --enable-agent --with-mysql --with-net-snmp --with-jabber --with-libcurl Parameter –enable-static may be used to force static linkage. Step 6 Configure /etc/services The step is optional. if you want to compile client binaries along with server binaries.conf as example. Make sure that you have enough permissions. for example – prefix=/home/zabbix. The file should contain the IP address of the Zabbix server. Step 9 Configure /etc/zabbix/zabbix_agentd. –enablestatic does not work under Solaris. The libary is required for Oracle support. shell> . The file should contain IP address of Zabbix server. shell> cd bin shell> . You may take misc/conf/zabbix_server. The library can be found at libsqlora8 homepage Use flag –enable-static to statically link libraries. you should change default parameters to maximize performance of Zabbix. Step 5 Make and install everything shell> make install By default. Man pages will be installed under <prefix>/share. Connections from other hosts will be denied. Running Zabbix Proxy as 'root'.'bin'.conf You need to configure this file for every host with zabbix_agentd installed. default parameters are sufficient.conf as example. Zabbix Proxy Zabbix Proxy is a special process. For production use you should create a dedicated unprivileged account ('zabbix' is commonly used). or any other account with special rights is a security risk./configure --enable-server --with-oracle=/home/zabbix/sqlora8 --with-net-snmp --with-jabber --with-libcurl # for Oracle + Jabber + WEB monitoring Use flag –with-oracle to specify location of sqlora8 library. Step 2 Untar Zabbix sources shell> gunzip zabbix-1. However. However. Step 11 Run server processes Run zabbix_server on server side. Database auto-creation is supported for SQLite only. you must use this flag to make these binaries work without required libraries. You can specify an installation prefix other than /usr/local using –prefix. you must specify which database will be used. It is not required to run the process.8. both –with-net-snmp and –with-ucd-snmp may be skipped. There are separate scripts for MySQL. Do not do it! Zabbix Proxy process (zabbix_proxy) is protected from being run under root account. Step 1 Create the Zabbix superuser account This is the user the Proxy will run as. You may take misc/conf/zabbix_agentd.3600 zabbix /opt/zabbix/bin/zabbix_agent Restart inetd shell> killall -HUP inetd Modify default settings in configuration files Step 8 Configure /etc/zabbix/zabbix_agent./zabbix_server Step 12 Run agents Run zabbix_agentd where necessary. Zabbix Proxy process will create database automatically on the first run if it does not exist. Oracle.tar. On the client (monitored) machines. add the following lines to /etc/services: zabbix-agent zabbix-agent zabbix-trapper zabbix-trapper 10050/tcp 10050/udp 10051/tcp 10051/udp Zabbix Zabbix Zabbix Zabbix Agent Agent Trapper Trapper Note that the port numbers are offical Zabbix ports registered in IANA. Connections from other hosts will be denied./configure --enable-server --with-mysql --with-net-snmp --with-jabber --with-libcurl # for MySQL + Jabber + WEB monitoring or shell> .conf as example.gz && tar -xvf zabbix-1. /usr/local/lib etc. PostgreSQL and SQLite.conf You need to configure this file for every host having zabbix_agent installed. it is recommended./zabbix_agentd 4. If you plan to distribute compiled binaries among different servers. It will use existing database otherwise.conf For small installations (up to ten monitored hosts). Step 10 Configure /etc/zabbix/zabbix_server.tar Step 3 Create the Zabbix database. If no SNMP support required. make install will install all the files in /usr/local/bin.4. Zabbix comes with SQL scripts used to create the required database schema. run: shell> . You may take misc/conf/zabbix_agent.8./configure --enable-server --with-pgsql --with-net-snmp --with-jabber --with-libcurl # for PostgreSQL + Jabber + WEB monitoring or shell> .The sources must be compiled for both the server (monitoring machine) as well as the clients (monitored machines). Optional. Step 7 Configure /etc/inetd. See section [Performance tuning] for more details. However. . shell> cd sbin shell> . the following line must be added: zabbix_agent stream tcp nowait.conf If you plan to use zabbix_agent instead of the recommended zabbix_agentd. In this case daemon binaries will be installed under <prefix>/sbin. Flag –with-ucd-snmp can be used instead of –with-net-snmp. while utilities under <prefix>/bin.

6. Step 5 Make and install everything shell> make install By default. If no SNMP support required. If you plan to distribute compiled binaries among different hosts.tar.sql | psql -U <username> zabbix For SQLite: shell> cd create/schema shell> cat sqlite. However.sql | sqlite3 /var/lib/sqlite/zabbix. Zabbix Agent Client side Step 1 Create the Zabbix account This is the user the agent will run as.6. Make sure you have correct Hostname and Server parameters set.3600 zabbix /opt/zabbix/bin/zabbix_agent Restart inetd shell> killall -HUP inetd Modify default settings in configuration files Step 8 Configure /etc/zabbix/zabbix_proxy.sql | sqlplus zabbix/password >out. .conf If you plan to use zabbix_agent instead of the recommended zabbix_agentd.For MySQL: shell> mysql> mysql> shell> shell> mysql -u<username> -p<password> create database zabbix character set utf8.tar Step 3 Configure and compile the source code for your system The sources must be compiled for the client only.5. both –with-net-snmp and –with-ucd-snmp may be skipped.db The database will be automatically created if it does not exist. Step 9 Run Proxy processes Run zabbix_proxy: shell> cd sbin shell> .gz && tar xvf zabbix-1.sql | mysql -u<username> -p<password> zabbix For Oracle (we assume that user ‘zabbix’ with password ‘password’ exists and has permissions to create database objects): shell> cd create/schema shell> cat oracle. You may take misc/conf/zabbix_proxy.log for any error messages. run: shell> . you should change default parameters to maximize performance of Zabbix Proxy. Flag –with-ucd-snmp can be used instead of –with-net-snmp. add the following lines to /etc/services: zabbix_agent 10050/tcp zabbix_trap 10051/tcp Step 7 Configure /etc/inetd. However. Step 4 Configure and compile the source code for your system The sources must be compiled to enable compilation of Zabbix Proxy process. The library can be found at libsqlora8 homepage./configure --enable-proxy --with-oracle=/home/zabbix/sqlora8 --with-net-snmp –with-libcurl # for Oracle + WEB monitoring Use flag –with-oracle to specify location of sqlora8 library.conf as example. /usr/local/lib etc./configure --enable-proxy --with-mysql --with-net-snmp –with-libcurl # for MySQL + WEB monitoring or shell> . If you plan to distribute compiled binaries among different hosts. However. –enablestatic does not work under Solaris./zabbix_proxy 4. if you want to compile client binaries along with proxy binaries. For PostgreSQL: shell> psql -U <username> psql> create database zabbix. cd create/schema cat mysql. To configure the source for the client: shell> ./configure --enable-agent Use flag –enable-static to statically link libraries. Zabbix agents have protection against running under root account./configure --enable-proxy --enable-agent --with-mysql –with-net-snmp –with-libcurl Parameter —enable-static may be used to force static linkage. Step 2 Untar Zabbix sources shell> gunzip zabbix-1.conf For small installations (up to ten monitored hosts). you must use this flag to make these binaries work without required libraries. On the client (monitored) machines.log Check file out. default parameters are sufficient. The libary is required for Oracle support. shell> . quit. the following line must be added: zabbix_agent stream tcp nowait. psql> \q shell> cd create/schema shell> cat postgresql. make install will install all the files in /usr/local/bin. you must specify which database will be used./configure --enable-proxy --with-pgsql --with-net-snmp –with-libcurl # for PostgreSQL + WEB monitoring or shell> . For production use you should create a dedicated unprivileged account (“zabbix” is commonly used). You can specify an installation prefix other than /usr/local using –prefix Step 6 Configure /etc/services The step is optional. it is recommended. To configure the source for the Proxy. you must use this flag to make these binaries work without required libraries. Use flag –enable-static to statically link libraries.

4. You may take misc/conf/zabbix_agentd. RHEL.Step 4 Build agent shell> make Copy created binaries from bin/ to /opt/zabbix/bin or any other directory. It is suggested to use subdirectory instead of HTML root. that no end of line character should present in the file.conf as example. Common locations of HTML documents directory for Apache web server include: /usr/local/apache2/htdocs (default directory when installing Apache from source) /srv/www/htdocs (OpenSUSE. The file should contain IP address of Zabbix server.3600 zabbix /opt/zabbix/bin/zabbix_agent Restart inetd shell> killall -HUP inetd Step 7 Configure /etc/zabbix/zabbix_agent. Other common directories are /usr/local/bin or /usr/local/zabbix/bin. Zabbix WEB Interface Step 0 Zabbix frontend is written in PHP. Connections from other hosts will be denied. You may take misc/conf/zabbix_agent. Step 5 Configure /etc/services The step is not real requirement. This may happen on Solaris 8.conf as example. . Connections from other hosts will be denied. Step 8 Configure /etc/zabbix/zabbix_agentd.conf You need to configure this file for every host having zabbix_agent installed.conf If you plan to use zabbix_agent instead of the recommended zabbix_agentd. The file should contain IP address of Zabbix server. otherwise the agent may not start and you will see “Can't allocate shared memory for collector. <htdocs>/zabbix Step 1 Point your browser to Zabbix URL. SLES) /var/www/html (Fedora. so to run it a PHP supported webserver is needed. add the following lines to /etc/services: zabbix_agent 10050/tcp zabbix_trap 10051/tcp Step 6 Configure /etc/inetd. Ubuntu) To create subdirectory and copy Zabbix frontend files to it. the following line must be added: zabbix_agent stream tcp nowait. On the client (monitored) machines.conf You need to configure this file for every host with zabbix_agentd installed. Step 9 Run zabbix_agentd on all monitored machines shell> /opt/zabbix/bin/zabbix_agentd You should not run zabbix_agentd if you have chosen to use zabbix_agent! Make sure that your system allows allocation of 2MB of shared memory. Installation is done by simply copying PHP files into webserver HTML documents directory. CentOS) /var/www (Debian. it is recommended. Note. Step 2 Read and accept GPL v2. However. replacing actual directory: mkdir <htdocs>/zabbix cd frontends/php cp -a . execute the following commands.” in agent's log file.6.

Zabbix database must already be created. Module php-gd. Step 5 Enter Zabbix Server details. Oracle. php-pgsql.ini: memory_limit = 128M In php. PHP max execution time 300 seconds PHP database support PHP BC math GD Version Image formats One of: MySQL.ini: max_execution_time = 300 One of the following modules must be installed: php-mysql. php-sqlora8.Step 3 Make sure that all software pre-requisites are met.0 or higher At least PNG Step 4 Configure database settings. PostgreSQL.0 8MB 8MB Minimum value Description In php. Module php-gd. Pre-requisite PHP version PHP Memory limit PHP post max size 5. SQLite Any 2. php-sqlite3 Compiled in PHP5.ini: post_max_size = 8M In php. .

Step 8 Finishing installation.Step 6 See summary of settings. Step 7 Download configuration file and place it under conf/. .

Upgrading 5. 5.1. If mentioned in release notes. for example. 5. Step 10 Zabbix frontend is ready! Default user name is Admin. upgrading from 1. password zabbix.1 to 1. Stable branch releases . For example: shell> ./zabbix_server –n <nodeid> where Node ID is an unique Node identificator.2.8.8. optional indexes may be added to the database to improve performance. Upgrading can be easily performed over several versions.Step 9 For distributed monitoring only! If used in a distributed environment you have to run: shell> .3 can be performed in single step./zabbix_server –n 1 This will convert database data for use with Node ID '1' and also adds a local node. Change level releases For change level releases only upgrading of server binary and frontend is required.

8.fs. 5. Make sure database. Before applying database patches.0. It will help if upgrade procedure fails (lack of disk space. Make sure to have a valid database backup before starting database upgrade.x to 1. Backup existing Zabbix database This is very important step. It does not require any configuration changes on agent side.8/postgresql/patch.sql 5.1.fs. graphs_items_1. it can take many hours. graphs_items_2. services drop index services_1. For IPMI support you need a recent OpenIPMI version . Maximal PHP memory size should be at least 128MB (option memory_limit).2. psql -U <username> zabbix < patch.size returns data in bytes for all operating systems now. Zabbix 1. mysql zabbix -u<username> -p<password> < patch. history_text_2.size now takes into account reserved diskspace for root user.6. Before running upgrade scripts drop the following indexes: MySQL alter alter alter alter alter alter alter alter alter alter alter table table table table table table table table table table table dhosts drop index dhosts_1. 5.4. Oracle or PostgreSQL drop drop drop drop drop drop drop drop drop drop drop index index index index index index index index index index index dhosts_1.php.7. Zabbix 1.7.8. PHP files and Zabbix binaries Make a backup copy of Zabbix binaries.6 to 1. all Zabbix processes must be stopped. Upgrade database Perform this step only when upgrading from version 1.5.8.For stable branch release upgrades (upgrading 1. 5. Upgrade procedure The following steps have to be performed for successful upgrade from Zabbix 1. 5.1. The whole upgrade procedure may take several hours depending on size of Zabbix database. Maximal PHP POST size should be at least 16MB (option post_max_size).2. 5. It is recommended to test the upgrade procedure in a non-production environment. actions drop index actions_1. These scripts are for upgrade from Zabbix 1.example file to zabbix. Example usage: shell> cd mysql.6.conf. they should be upgraded. create index.13 and later is known to work. Important notes All hosts now are required to belong to at least one group. Stop Zabbix server Stop Zabbix server to make sure that no new data is inserted into database.7. You may want to review them.3. Sorting in frontend is not performed for entities with positional variables (like item names with $1 etc). escalations drop index escalations_2.4.6. 5. Install new Zabbix GUI Follow installation instructions.conf.sql PostgreSQL: upgrades/dbpatches/1. httptest drop index httptest_3.x can't be used with Zabbix 1. power off. CPU index for system. 5.x and Zabbix 1.x. System requirement changes Additional or increased system requirements: Support for PHP 4 dropped. graphs_items drop index graphs_items_1. Uploading of images for network maps may fail if database is not configured properly. drop index).7.8/oracle/patch. any unexpected problem).5. 5. 5. 5.conf were changed in 1. Backup configuration files. new parameters added. Also make sure that you have enough free disk space.8) in addition to binary and frontend upgrade database patch is usually required. Hostnames with spaces do not work when sending data from a file with zabbix_sender.4 to 1.7.6. tables and fields are set to UTF-8 encoding. httptest drop index httptest_2.sql Oracle: upgrades/dbpatches/1.6.x. 5. Configuration option StartDBSyncers has been removed from Zabbix server and proxy configuration files.6 or 1. for PostgreSQL it may take several hours or more because of conversion of existing historical data.7.7. 5.php and modify parameters.7. Comment at the end of a configuration file line is not allowed anymore (this worked for numeric parameters only before).sql Database upgrade should take around 10-15 minutes. dservices drop index dservices_1. drop table. httptest_3. Key vfs. copy zabbix.0. Install new server binaries You may use pre-compiled binaries or compile your own. Review Server configuration parameters Some parameters of zabbix_server. Older Zabbix proxies of version 1.8/<db engine>: MySQL: upgrades/dbpatches/1. history_log drop index history_log_2. history_log_2.8 only! For upgrade from earlier versions use also upgrade scripts from Zabbix 1.x can be used with Zabbix 1. escalations_2. If you are converting the database to UTF-8.x to 1.6. Start new Zabbix binaries . Known problems PHP mbstring check may fail with PHP < 5.4. history_text drop index history_text_2.7. actions_1.8.8. Key vfs. httptest_2.7.2 in Zabbix 1.8. Version compatibility Older agents from Zabbix 1. dservices_1.6.8. Make sure that you have backup of your database.3.6. Make sure that you have enough permissions (create table. services_1. Skip when upgrading from one 1.util key on Linux now starts with 0. graphs_items drop index graphs_items_2. XML export includes SNMP and other information for all items.8/mysql/patch. configuration files and PHP files.cpu. To avoid this issue. including database access parameters. Ignore any warning messages about non-existent indexes! Database upgrade scripts are located in directory upgrades/dbpatches/1.sql or shell> cd postgresql.x version to another.

zabbix_server. HDD/flash image.2. To get started. MySQL configuration changes Binary log is disabled.2. Passwords System: root:zabbix zabbix:zabbix Database: root:zabbix zabbix:zabbix Zabbix frontend: admin:zabbix To change the database user password it has to be changed in the following locations: MySQL. run: mysqldump zabbix | bzip2 -9 > dbdump.conf.conf. transfer it to the appliance and execute: bzcat dbdump. Changes to SUSE configuration There are some changed applied to the base OpenSUSE configuration. boot the appliance and point your browser at the IP it has received over DHCP. Disabled triggers and web scenarios are shown by default to reduce confusion. 6.1. Zabbix home (this can be modified in /etc/php5/apache2/php. Utility fping is set to have permissions 4710 and is owned by group zabbix .php. InnoDB is configured to store data for each table in a separate file.ini). Preserving configuration If you are running live CD version of the appliance or for some other reason can't have persistent storage.bz2 | mysql zabbix Make sure that Zabbix server is stopped while performing the restore. The appliance has been built using SUSE Studio [http://susestudio.bz2 to another machine.2. including all configuration and gathered data. Server name for Zabbix frontend set to “Zabbix 1.1. as well as frontend available. Home directory for user zabbix is /var/lib/zabbix. 6. Other changes Network is configured to use DHCP to obtain IP address. Frontend access .1. Run the command rcnetwork restart.2 based image. Booting Zabbix appliance Zabbix appliance is an OpenSUSE 11. It has Zabbix server configured and running on MySQL.2. Check log files to see if the binaries have started successfully.3. 6. CD iso. Changes to Zabbix configuration Some items and triggers in the default Linux template are disabled (mostly those who did not correspond to appliance setup).suid and only alowed to be used by zabbix group.bz2 Now you can transfer file dbdump.4. 3 Comments 6. To restore from the backup. To create the backup.8 Appliance”.Start new binaries. Set IPADDR.1.com] .1.2.2. 6. 6. File locations Configuration files are placed in /etc/zabbix. 6.1. Frontend timezone is set to Europe/Riga. ntpd configured to synchronise to the public pool servers. 6. zabbix. Open file /etc/sysconfig/network/ifcfg-eth0 in your favourite editor.3. 6. Using Zabbix appliance As an alternative to setting up manually or reusing existing server for Zabbix. you can create a backup of whole database. To specify a static IP address: Log in as root user. Using a static IP address By default the appliance uses DHCP to obtain IP address. Various basic utilities have been added that could make working with Zabbix and monitoring in general easier. Xen guest. 6. Zabbix logfiles are placed in /var/log/zabbix.2.3. NETMASK and any other parameters as required for your network. users may download Zabbix appliance. Zabbix configuration Appliance Zabbix setup has the following passwords and other configuration changes: 6. Set BOOTPROTO variable to static. available in the following formats: vmdk (VMWare/Virtualbox).

d/zabbix.1.conf /etc/zabbix/zabbix-agentd.6.0. init and other scripts Zabbix daemons have their names changed from standard with underscore to dash to conform to SUSE guidelines. All Zabbix daemons on Unix-like platforms log their messages from “Daemon” environment.opensuse.conf Appropriate init scripts are provided.0/8 ::1 Root (/) is redirected to /zabbix on the webserver. use any of these: service zabbix-server status rczabbix-server status /etc/init.3. only two ports are open .opensuse. Comments All messages are skipped. They are called: zabbix-agentd zabbix-server In a similar fashion.4.critical information critical conditions (LOG_LEVEL_CRIT) (LOG_CRIT) .empty (LOG_LEVEL_EMPTY) syslog log level syslog is not used. run from the crontab every 10 minutes that restarts Zabbix server if it is not running.0. It logs timestamped problems and starting attempts at /var/log/zabbix/server_problems. additionally Zabbix frontend is monitored as well using web monitoring.org/SUSE_Studio_Xen_Howtos] To use Xen images with Citrix Xenserver you might need to convert images with XenConvert utility. Logging For logging configuration of Zabbix daemons “LogFile” configuration parameter is used. /var/lib/zabbix/bin. Firewall By default. Naming. To open additional ports .1. 6. Zabbix appliance monitoring own web frontend Note that web frontend monitoring logs in .5.log.22 (SSH) and 80 (HTTP).0. thus frontend can be accessed both as http://<host> and http://<host>/zabbix .8.d/zabbix-server status Replace server with agentd for Zabbix agent daemon.org/How_to_use_downloaded_SUSE_Studio_appliances#Xen_guest [http://en. Xen To use images in Xen server. run: xm create -c file-with-suffix. IPMI.168. The mapping between Zabbix logging levels and syslog levels is as follows: Zabbix log level 0 .1 192.opensuse. available from Citrix website.6. This can be customised in /etc/apache2/conf. Web monitoring. IPv6. Zabbix server and agent ports .opensuse.org/SUSE_Studio_Xen_Howtos [http://en. You have to restart webserver after modifying this file.modify iptables rules with SuSEfirewall2 utility: SuSEfirewall2 open EXT TCP zabbix-trapper zabbix-agent Then reload the firewall rules: SuSEfirewall2 stop SuSEfirewall2 start 6. Make sure to disable this crontab entry if stopping of Zabbix server is desired. Zabbix Processes 3.Access to frontend by default is allowed from: 127.org/How_to_use_downloaded_SUSE_Studio_appliances#Xen_guest] http://en. To control Zabbix server.7.conf. log in using SSH as root user and execute: service apache2 restart 6. SSH2.0. syslog logging facilities are used.0.this can add lots of entries to the audit log. Scheduled scripts There is a scheduled script. To do so. 1 .1. 6. If this parameter is left empty (LogFile=).7. Format-specific notes 6. configuration files are: /etc/zabbix/zabbix-server.0/16 10.for example.xenconfig See the following pages for more information on using Xen images: http://en. 6. Monitoring capabilities Zabbix server is compiled with support for the following: SNMP. This script is available since Zabbix Appliance version 1. In the provided configuration Zabbix server itself is monitored with the help of locally installed agent for some base parameters. 2 Comments 3.

SQLite3 does not use this parameter. Shared memory size for storing character. 0 . This won't impact ability of this node to propagate history from its child nodes. Zabbix Server accepts the following command line parameters: -c --config <file> specify configuration file. Comments All messages are skipped. Zabbix server has improved unreachable host handling. As a result. If PostgreSQL is used. If set to 0 then no limit is used at all.critical information 2 .warnings EVENTLOG_WARNING_TYPE (LOG_LEVEL_WARNING) 4 . Name of log file. [field].for debugging (produces lots of information) If set to 1.2 and higher. If a poller finds in the item queue an item from an unreachable host. text or log history data.8. You may include individual files or all files in a directory in the configuration file. Ignored for SQLite. Listen port for trapper. For SQLite3 path to database file must be provided. 0 . This won't impact ability of this node to propagate events from its child nodes. Path to MySQL socket. If set to '1' local history won't be sent to master node. Zabbix Server Zabbix Server is a central process of Zabbix software. Ignored for SQLite. in seconds. If set to localhost.warnings warning conditions (LOG_LEVEL_WARNING) (LOG_WARNING) 4 . which is marked like that.sock 128K1G 1-3600 Range Default /home/zabbix/bin/ 8M 60 localhost Description Location of custom alert scripts Size of configuration cache. Database port when not using local socket.0. and alarms tables. Comment this line if no password is used. the query is logged to the log file. Trapper will listen on all network interfaces if this parameter is missing. default is /etc/zabbix/zabbix_server.3. Also. at most one item for an unreachable host will be tried at a time. List of comma delimited IP addresses that the trapper should listen on. alert.disable log slow queries This option is supported in version 1. Location of fping. How often Zabbix will perform update of configuration cache.8./zabbix_server Since version 1. Housekeeping is removing unnecessary information from history.standalone server If set to '1' local events won't be sent to master node.error information 3 . in bytes.8. 0 . as it performs VACUUM. DebugLevel no 0-4 3 DisableHousekeeping ExternalScripts no no 0-1 0 /etc/zabbix/externalscripts Location of external scripts Fping6Location no /usr/sbin/fping6 FpingLocation HistoryCacheSize HistoryTextCacheSize no no no 128K1G 128K1G /usr/sbin/fping 8M 16M HousekeepingFrequency no 1-24 1 MaxHousekeeperDelete no 0500 1000000 Include no ListenIP no 0. Given that. Name of PID file. Multiple IP addresses are supported in version 1. Other pollers do not take items from a host. it takes the item and marks the host as being checked currently. No more than 'MaxHousekeeperDelete' rows (corresponding to [tablename]. Size of text history cache. DBUser and DBPassword are ignored. in bytes.0. Mapping between Zabbix log levels (messages of corresponding type) and Windows Event Log entries type is provided below: Zabbix log level 0 .2 . Database password. Zabbix Server can be started by executing: shell> cd sbin shell> . Ignored for SQLite.2. disables housekeeping. How often Zabbix will perform housekeeping procedure (in hours).3 and higher.warnings 4 . [value]) will be deleted per one task in one housekeeping cycle. Make sure that fping6 binary has root ownership and SUID flag set. deletes all corresponding rows without a limit. In this case you must know what you are doing! This option is supported in version 1. Supported parameters: Parameter AlertScriptsPath CacheSize CacheUpdateFrequency DBHost DBName DBPassword DBPort DBSocket DBUser Mandatory no no no no yes no no no no 102465535 3306 /tmp/mysql.pid .8. Individual processes 1. Shared memory size for storing hosts and items data.0 ListenPort LogFileSize LogFile no no no 102432767 0-1024 10051 1 LogSlowQueries no 00 3600000 NodeID no 0-999 0 NodeNoEvents no 0-1 0 NodeNoHistory PidFile no no 0-1 0 /tmp/zabbix_server. Maximum size of log file in MB. Database name. in bytes. Location of fping6. Shared memory size for storing history data. unreachable host will be checked by at most one poller at a time.for debugging (LOG_LEVEL_DEBUG) EVENTLOG_INFORMATION_TYPE Error Warning Information 3. The file must exist and it should have read permissions for user 'zabbix'.error information (LOG_LEVEL_ERR) error conditions (LOG_ERR) 3 . Specifies debug level 0 . Make empty (“Fping6Location=”) if your fping utility is capable to process IPv6 addresses.conf -h --help give this help -v --version display version number In order to get this help run: shell> zabbix_server -h Example of command line parameters: shell> zabbix_server -c /usr/local/etc/zabbix_server.disable automatic log rotation.critical information (LOG_LEVEL_CRIT) EVENTLOG_ERROR_TYPE 2 . socket is used for MySQL.for debugging (LOG_LEVEL_DEBUG) debug-level messages (LOG_DEBUG) For syslog configuration consult the corresponding literature. Zabbix agent under Windows uses Event Log if “LogFile” configuration parameter is provided empty.no debug 1 .conf shell> zabbix_server --help shell> zabbix_server -v The configuration file contains parameters for zabbix_server.empty (LOG_LEVEL_EMPTY) Windows Event Log entry type Event Log is not used. Database user. it was decided to remove specific poller class for unreachable hosts. Zabbix Server runs as a daemon process. 1 . suggested value is 24. Database host name.error information (LOG_LEVEL_ERR) 3 .2 and higher. If a query takes longer than this many milliseconds. Unique NodeID in distributed setup. Make sure that fping binary has root ownership and SUID flag set! Size of history cache.

DBUser and DBPassword are ignored.conf shell> zabbix_proxy --help shell> zabbix_proxy -v The configuration file contains parameters for zabbix_proxy. Location of fping6. CacheUpdateFrequency no 1-3600 60 ConfigFrequency no 1604800 3600 DBHost DBName DBPassword DBSocket DBUser DataSenderFrequency no yes no no localhost DebugLevel no 0-4 3 DisableHousekeeping ExternalScripts no no 0-1 0 /etc/zabbix/externalscripts Location of external scripts Fping6Location no /usr/sbin/fping6 FpingLocation no /usr/sbin/fping HeartbeatFrequency no 0-3600 60 HistoryCacheSize HistoryTextCacheSize no no 128K1G 128K1G 8M 16M Hostname no HousekeepingFrequency no 1-24 1 Include no ListenIP no 0. Shared memory size for storing character. Shared memory size. For a proxy in the passive mode this parameter will be ignored. text or log history data. Size of text history cache. This option is supported in version 1. Shared memory size for storing history data. After how many seconds of unreachability treat a host as unavailable. ProxyDataFrequency no 1-3600 1 SSHKeyLocation SenderFrequency SourceIP StartDBSyncers StartDiscoverers StartHTTPPollers StartIPMIPollers StartPingers StartPollersUnreachable StartPollers StartProxyPollers StartTrappers Timeout TmpDir TrapperTimeout TrendCacheSize UnavailableDelay UnreachableDelay UnreachablePeriod no no no no no no no no no no no no no no no no no no no 1-300 128K1G 1-3600 1-3600 1-3600 1-64 0-255 0-255 0-255 0-255 0-255 0-255 0-255 0-255 1-30 4 1 1 0 1 1 5 1 5 3 /tmp 300 4M 60 15 45 5-3600 30 0 Comments 3.0. If PostgreSQL is used.error information 3 . How often host is checked for availability during the unreachability period. Database password. in bytes.0 ListenPort no 102432767 10051 . Unique Proxy name.3 and higher. in bytes. disables housekeeping. How often Zabbix Server requests history data from a Zabbix Proxy in seconds. Number of pre-forked instances of discoverers. Database port when not using local socket. Make sure the Proxy name is known to the server! System hostname is used if undefined. Make sure that fping binary has root ownership and SUID flag set! Frequency of heartbeat messages in seconds. Number of pre-forked instances of ICMP pingers. How often host is checked for availability during the unavailability period. Database name. Comment this line if no password is used. Listen port for trapper.3 and higher. This option is supported in version 1. Number of pre-forked instances of pollers for passive proxies.for debugging (produces lots of information) If set to 1.8. Ignored for SQLite.8. for storing hosts and items data. Number of pre-forked instances of pollers for unreachable hosts. alert. and alarms tables. For a proxy in the passive mode this parameter will be ignored. as it performs VACUUM. Location of fping.no debug 1 . 3306 Path to MySQL socket. Supported parameters: Parameter CacheSize Mandatory no Range 128K1G 8M Default Description Size of configuration cache. If set to localhost. Zabbix Proxy accepts the following command line parameters: -c --config <file> specify configuration file. default is /etc/zabbix/zabbix_proxy. This option is supported in version 1.critical information 2 . Used for monitoring availability of Proxy on server side. Specifies debug level 0 . no 1-3600 1 Proxy will send collected data to the Server every N seconds.heartbeat messages disabled.ProxyConfigFrequency no 1604800 3600 How often Zabbix Server sends configuration data to a Zabbix Proxy in seconds. List of comma delimited IP addresses that the trapper should listen on. Source IP address for outgoing connections. Ignored for SQLite.3 and higher. Multiple IP addresses are supported in version 1. Obsolete since 1. For SQLite3 path to database file must be provided. How often proxy retrieves configuration data from Zabbix Server in seconds. For a proxy in the passive mode this parameter will be ignored. in seconds.conf -h --help give this help -v --version display version number In order to get this help run: shell> zabbix_proxy -h Example of command line parameters: shell> zabbix_proxy -c /usr/local/etc/zabbix_proxy. Number of pre-forked instances of pollers. Make empty (“Fping6Location=”) if your fping utility is capable to process IPv6 addresses. Size of history cache. socket is used for MySQL. Location of public keys for SSH checks How often Zabbix will try to send unsent alerts (in seconds). Database host name. Database user. in seconds./zabbix_proxy Zabbix Proxy runs as a daemon process. Trapper will listen on all network interfaces if this parameter is missing.warnings 4 . in seconds.8. Zabbix Proxy can be started by: shell> cd sbin shell> . Used only for proxies in a passive mode. Size of trend cache. Number of pre-forked instances of trappers Specifies how long we wait for agent.2. Zabbix Proxy Zabbix Proxy is a process which collects performance and availability data from one or more monitored devices and sends the information to a Zabbix Server.8. Housekeeping is removing unnecessary information from history. You may include individual files or all files in a directory in the configuration file.3 and higher. SNMP device or external check (in seconds). Ignored for SQLite. How often Zabbix will perform housekeeping procedure (in hours). 0 .8. This option is supported in version 1.3 and higher. in bytes. Make sure that fping6 binary has root ownership and SUID flag set. in bytes. Number of pre-forked instances of HTTP pollers.8. How often Zabbix will perform update of configuration cache. suggested value is 24. Temporary directory. The file must exist and it should have read permissions for user 'zabbix'.3. Used only for proxies in a passive mode. Shared memory size for storing trends data. Number of pre-forked instances of DB Syncers. Number of pre-forked instances of IPMI pollers. Specifies how many seconds trapper may spend processing new data.0.

Specifies how many seconds trapper may spend processing new data. LogSlowQueries no 00 3600000 PidFile ProxyLocalBuffer no no 0-720 /tmp/zabbix_proxy. Specifies debug level 0 . Older data will be lost. Maximum number of values in a memory buffer. the query is logged to the log file. Zabbix Agent can be started by executing: shell> cd sbin shell> . Agent will listen on this port for connections from the server. BufferSize no 2100 65535 DebugLevel no 0-4 3 DisableActive no 0 DisablePassive no 0 EnableRemoteCommands no 0 Hostname Include no system. Number of pre-forked instances of trappers Specifies how long we wait for agent.no debug 1 .do not disable 1 . Supported parameters: Parameter BufferSend Mandatory Range no 13600 5 Default Description Do not keep data longer than N seconds in buffer.disable automatic log rotation. 120 . Number of pre-forked instances of discoverers. Zabbix Agent accepts the following command line parameters: -c -h -v -p -t --config <file> specify configuration file. in seconds. SNMP device or external check (in seconds). Zabbix Agent (UNIX.critical information 2 .load[all. The agent will not listen on any TCP port. Proxy operating mode.3 and higher. The file must exist and it should have read permissions for user 'zabbix'. Name of PID file.8. syslog is used.0. Proxy will keep data for N hours in case if no connectivity with Zabbix Server. Name of log file. 0 .avg1]" The configuration file contains configuration parameters for zabbix_agentd. Proxy will keep data locally for N hours. Name of log file. Obsolete since 1. If not set. If not set. Number of pre-forked instances of DB Syncers. The agent will work in passive mode listening for server. in bytes. Multiple IP addresses are supported in version 1. 0 . If a query takes longer than this many milliseconds. 0 .conf --help --print -t "system. Number of pre-forked instances of ICMP pingers.2 and higher.3 and higher. For a proxy in the passive mode this parameter will be ignored. Only active checks will be processed. in seconds.proxy in the passive mode This option is supported in version 1. default is /etc/zabbix/zabbix_agentd. Temporary directory.8. 0. 0 Enable logging of executed shell commands as warnings 0 .3. 0 .error information 3 . The agent provides host's performance and availability information for Zabbix Server. After how many seconds of unreachability treat a host as unavailable. Number of pre-forked instances of IPMI pollers. Size of trend cache.disable log slow queries This option is supported in version 1. Number of pre-forked instances of pollers for unreachable hosts. Number of pre-forked instances of pollers.enabled Maximum number of new lines the agent will send per second to Zabbix Server or Proxy processing 'log' and 'eventlog' active checks.3 and higher. Disable passive checks. Standalone daemon) Zabbix UNIX Agent runs on a host being monitored. How often list of active checks is refreshed.uname ListenIP no ListenPort LogFileSize LogFile no no no LogRemoteCommands no MaxLinesPerSecond no 11000 100 PidFile RefreshActiveChecks no no 603600 /tmp/zabbix_agentd. How often host is checked for availability during the unreachability period.LogFileSize LogFile no no 0-1024 1 Maximum size of log file in MB. The provided value will be overridden by the parameter 'maxlines'.warnings 4 . Maximum size of log file in MB. 0 . IP address (or hostname) of Zabbix server. Zabbix Agent processes items of type 'Zabbix Agent' or 'Zabbix Agent (active)'.0 102410050 32767 01024 1 List of comma delimited IP addresses that the agent should listen on. Number of pre-forked instances of HTTP pollers.pid Name of PID file. The agent will send all collected data to Zabbix Server or Proxy if the buffer is full.for debugging (produces lots of information) Disable active checks. This parameter may be used if local data will be used by third party applications. Active Proxy will get configuration data from the server. How often host is checked for availability during the unavailability period. For a proxy in the passive mode this parameter will be ignored.disable automatic log rotation.8.conf --help give this help --version display version number --print print supported metrics and exit --test <metric> test specified metric and exit In order to get this help run: shell> zabbix_agentd -h Example of command line parameters: shell> shell> shell> shell> zabbix_agentd zabbix_agentd zabbix_agentd zabbix_agentd -c /usr/local/etc/zabbix_agentd.0.not allowed 1 . Required for active checks and must match hostname as configured on the server.disable Whether remote commands from Zabbix server are allowed.cpu.8. Source IP address for outgoing connections. This option is supported in version 1. provided in 'log' or 'eventlog' item key.pid 0 ProxyMode no 0-1 0 ProxyOfflineBuffer SSHKeyLocation ServerPort no no no 0-720 1 102432767 10051 Server yes SourceIP StartDBSyncers StartDiscoverers StartHTTPPollers StartIPMIPollers StartPingers StartPollersUnreachable StartPollers StartTrappers Timeout TmpDir TrapperTimeout TrendCacheSize UnavailableDelay UnreachableDelay UnreachablePeriod no no no no no no no no no no no no no no no no 1-300 128K1G 1-3600 1-3600 1-3600 1-64 0-255 0-255 0-255 0-255 0-255 0-255 0-255 1-30 4 1 1 0 1 1 5 5 3 /tmp 300 4M 60 15 45 3./zabbix_agentd Zabbix Agent runs as a daemon process.disabled 1 . syslog is used. Location of public keys for SSH checks Port of Zabbix trapper on Zabbix server.proxy in the active mode 1 . 0 . in seconds. You may include individual files or all files in a directory in the configuration file.allowed Unique hostname. Shared memory size for storing trends data.8.

ServerPort

no

10051

Server port for retrieving list of and sending active checks. List of comma delimited IP addresses (or hostnames) of Zabbix servers. No spaces allowed. First entry is used for receiving list of and sending active checks. Note that hostnames must resolve hostname→IP address and IP address→hostname. Source IP address for outgoing connections. Number of pre-forked instances of zabbix_agentd that process passive checks. Spend no more than Timeout seconds on processing Allow all characters to be passed in arguments to user-defined parameters. Supported since Zabbix 1.8.2. User-defined parameter to monitor. There can be several user-defined parameters. Format: UserParameter=<key>,<shell command> Note that shell command must not return empty string or EOL only. Example: UserParameter=system.test,who|wc -l

Server

yes

SourceIP StartAgents Timeout UnsafeUserParameters

no no no no 1-16 1-30 0,1 3 3 0

UserParameter

no

4. Zabbix Agent (UNIX, Inetd version)
The file contains configuration parameters for zabbix_agent. The file must exist and it should have read permissions for user 'zabbix'. Supported parameters:
Parameter Server Timeout Mandatory yes no Default value 3 0 Description Comma-delimited list of IP addresses of ZABBIX Servers or Proxies. Connections from other IP addresses will be rejected. Do not spend more than Timeout seconds on getting requested value (1-255). The agent does not kill timeouted User Parameters processes! Allow all characters to be passed in arguments to user-defined parameters User-defined parameter to monitor. There can be several user-defined parameters. Format: UserParameter=<key>,<shell command> Note that shell command must not return empty string or EOL only. Example: UserParameter=system.test,who|wc -l

UnsafeUserParameters no

UserParameter

no

3.5. Zabbix Agent (Windows)
Installation Installation is very simple and includes 3 steps: Step 1 Create configuration file. Create configuration file c:/zabbix_agentd.conf (it has the same syntax as UNIX agent). Step 2 Install agent as a Windows service.
zabbix_agentd.exe --install

If you wish to use configuration file other than c:\zabbix_agentd.conf, you should use the following command for service installation:
zabbix_agentd.exe --config <your_configuration_file> --install

Full path to configuration file should be specified. Step 3 Run agent. Now you can use Control Panel to start agent's service or run:
zabbix_agentd.exe --start

Windows NT 4.0 note. Zabbix_agentd.exe uses PDH (Performance Data Helper) API to gather various system information, so PDH.DLL is needed. This DLL is not supplied with Windows NT 4.0, so you need to download and install it by yourself. Microsoft Knowledge Base article number 284996 describes this in detail and contains a download link. You can find this article at http://support.microsoft.com/default.aspx?scid=kb;en-us;284996
[http://support.microsoft.com/default.aspx?scid=kb;en-us;284996]

Usage Command line syntax:
zabbix_agentd.exe [-Vhp] [-idsx] [-c <file>] [-t <metric>]

Zabbix Windows Agent accepts the following command line parameters: Options:
-c -h -V -p -t --config <file> --help --version --print --test <metric> Specify alternate configuration file (default is c:\zabbix_agentd.conf). Display help information. Display version number. Print list of supported checks (metrics) and exit. Test single check (metric) and exit.

Functions:
-i -d -s -x --install --uninstall --start --stop Install ZABBIX agent as a service. Uninstall ZABBIX agent service. Start ZABBIX agent service. Stop ZABBIX agent service.

The configuration file (c:/zabbix_agentd.conf) contains configuration parameters for zabbix_agentd.exe. Supported parameters:
Parameter Mandatory Default value Description Sets the alias for parameter. It can be useful to substitute long and complex parameter name with a smaller and simpler one. For example, if you wish to retrieve paging file usage in percents from the server, you may use parameter “perf_counter[\Paging File(_Total)\% Usage]”, or you may define an alias by adding the following line to configuration file: Alias = pg_usage:perf_counter[\Paging File(_Total)\% Usage] After that you can use parameter name “pg_usage” to retrieve the same information. You can specify as many “Alias” records as you wish. Please note that aliases cannot be used for parameters defined in “PerfCounter” configuration file records. Debug level, one of: 0 – none, 1 – critical, 2 – errors, 3 – warnings, 4 – debug Use this parameter to include a file into the configuration file. Number of parameters Include is not limited. For example: Include=c:\user_parameters.conf Port number to listen. Name of log file. If not set, Windows Event Log is used. Controls logging of unresolved symbols during agent startup. Values can be strings ‘yes’ or ‘no’ (without quotes). Sets maximum acceptable processing time of one data sample by collector thread (in milliseconds). If processing time will exceed specified value, warning message will be written to the log file. The parameter has no effect. <parameter_name>,”<perf_counter_path>”,<period> Defines new parameter <parameter_name> which is an average value for system performance counter <perf_counter_path> for the specified time period <period> (in seconds). For example, if you wish to receive average number of processor interrupts per second for last minute, you can define new parameter “interrupts” as following: PerfCounter = interrupts,”\Processor(0)\Interrupts/sec”,60 Please note double quotes around performance counter path. Samples for calculating average value will be taken every second. You may run typeperf –qx to get list of all performance counters available in Windows. The parameter has no effect. Comma-delimited list of IP addresses of ZABBIX servers. Connections from other IP addresses will be rejected.

Alias

No

-

DebugLevel Include ListenPort LogFile LogUnresolvedSymbols

No No No No No

3 10050 100 -

MaxCollectorProcessingTime No NoTimeWait No

PerfCounter

No

-

PidFile Server

No Yes

-

SourceIP StartAgents UnsafeUserParameters

No No no

0

Set source IP address all connections established by the process. The parameter has no effect. Allow all characters to be passed in arguments to user-defined parameters User-defined parameter to monitor. There can be several user-defined parameters. Format: UserParameter=<key>,<shell command> Note that shell command must not return empty string or EOL only. Example: UserParameter=system.test,who|wc -l

UserParameter

no

3.6. Zabbix Sender (UNIX)
Zabbix UNIX Sender is a command line utility which may be used to send performance data to Zabbix Server for processing. The utility is usually used in long running user scripts for periodical sending of availability and performance data. Zabbix Sender can be started by executing:
shell> cd bin shell> ./zabbix_sender -z zabbix -p 10051 -s LinuxDB3 -k db.connections -o 43

See Zabbix Sender manpage for more information.

7. Zabbix Get (UNIX)
Zabbix UNIX Get is a process which communicates with Zabbix Agent and retrieves required information. The utility is usually used for troubleshooting of ZABBIX Agents. Zabbix Get can be started by executing:
shell> cd bin shell> ./zabbix_get -s127.0.0.1 -p10050 -k"system.cpu.load[all,avg1]"

Zabbix Get accepts the following command line parameters:
-p -s -I -k -h -v --port <port number> Specify port number of agent running on the host. Default is 10050. -host <host name or IP> Specify host name or IP address of a host. --source-address <ip address> Specify source IP address -key <key of metric> Specify metric name (key) we want to retrieve. --help Give this help. --version Display version number.

In order to get this help run:
shell> zabbix_get -h

4. Configuration
4.1. Actions
Zabbix reacts to events by executing set of operations. An action can be defined for any event or set of events generated by Zabbix. Action attributes:
Parameter Name Event Source Unique action name. Source of event. Currently three sources are supported: Triggers – events generated by trigger status changes Discovery – events generated by auto-discovery module Auto registration - events generated by new active agents Description

Enable Enable escalations. If enabled, the action will be escalated according to operation steps defined for operations. escalations Period (seconds) Event Source Default subject Default message Recovery message Recovery subject Recovery message Status Time period for increase of escalation step. Event source: Triggers – action will be executed for events generated by triggers Discovery – action will be executed for discovery events Default notification subject. The subject may contain macros. Default notification message. The message may contain macros. If enabled, Zabbix will send a recovery message after the original problem is resolved. The messages will be sent only to those who received any message regarding this problem before. Subject of the recovery message. It may contain macros. Recovery message. It may contain macros. Action status: Enabled – action is active Disabled – action is disabled

Warning: before enabling recovery messages or escalations, make sure to add “Trigger value = PROBLEM” condition to the action, otherwise remedy events can become escalated as well.

Action conditions
An action is executed only in case if an event matches defined set of conditions. The following conditions can be defined for Trigger based events:
Condition type Supported operators = like not like = <> = <> = <> = <> Description = - event came from Trigger, which is part of the Application like - event came from Trigger, which is part of the Application containing the String not like - event came from Trigger, which is part of the Application not containing the String Compare against Host Group having a trigger which generated event. = - event came from this Host Group <> - event did not come from this Host Group Compare against Host Template the trigger belongs to. = - event came from a trigger inherited from this Host Template <> - event did not come from a trigger inherited from this Host Template Compare against Host having a trigger which generated event. = - event came from this Host <> - event did not come from this Host Compare against Trigger which generated event. = - event generated by this Trigger <> - event generated by other Trigger Compare against Trigger Name which generated event. like – String can be found in Trigger Name. Case sensitive. not like – String cannot be found in Trigger Name. Case sensitive. Compare with Trigger Severity. = - equal to trigger severity <> - not equal to trigger severity >= - more or equal to trigger severity <= - less or equal to trigger severity Compare with Trigger Value. = - equal to trigger value (OK or PROBLEM) Event is within time period. in – event time matches the time period. Time period is given in format: dd-dd,hh:mmhh:mm;dd-dd,hh:mm:hh:mm;… Check if host is in maintenance. = - Host is in maintenance mode. <> - Host is not in maintenance mode.

Application

Host group

Host template

Host

Trigger

Trigger description like (name) not like = <> >= <= = in = <>

Trigger severity

Trigger value Time period in Maintenance status

Trigger value: Trigger changes status from OK to PROBLEM (trigger value is PROBLEM) Trigger changes status from PROBLEM to OK (trigger value is OK) Status change OK→UNKNOWN→PROBLEM is treated as OK→PROBLEM, and PROBLEM→UNKNOWN→OK as PROBLEM→OK. The following conditions can be defined for Discovery based events:
Condition type = <> Supported operators Description Check if IP address of a discovered Host is or is not in the range of IP addresses. = - Host IP is in the range <> - Host IP is out of the range

Host IP

Service type

= <> = <> =

Check if a discovered service. = - matches discovered service <> - event came from a different service Check if TCP port number of a discovered service is or is not in the range of ports. = - service port is in the range <> - service port is out of the range Up – matches Host Up and Service Up events Down – matches Host Down and Service Down events Downtime for Host Down and Service Down events. Uptime for Host Up and Service Up events. >= - uptime/downtime is more or equal <= - uptime/downtime is less or equal. Parameter is given in seconds. Compare with value received from an agent (Zabbix, SNMP). String comparison. = - equal to the value <> - not equal to the value >= - more or equal to the value <= - less or equal to the value like – has a substring not like – does not have a substring. Parameter is given as a string.

Service port Discovery status

>= Uptime/Downtime <= = <> >= <= like not like

Received value

For example this set of conditions (calculation type: AND/OR): Host group = Oracle servers Host group = MySQL servers Trigger name like 'Database is down' Trigger name like 'Database is unavailable' is evaluated as (Host group = Oracle servers or Host group = MySQL servers) and (Trigger name like 'Database is down' or Trigger name like 'Database is unavailable')

Operations
Operation or a set of operations is executed when event matches conditions. Zabbix supports the following operations: Send message Remote command(s), including IPMI. To successfully receive and read e-mails from Zabbix, e-mail servers/clients must support standard 'SMTP/MIME e-mail' format since Zabbix sends UTF-8 data. Starting from 1.8.2 the subject and the body of the message are base64-encoded to follow 'SMTP/MIME e-mail' format standard. Starting with 1.8.3, if the subject contains ASCII characters only, it is not UTF-8 encoded. Additional operations available for discovery events: Add host Remove host Enable host Disable host Add to group Delete from group Link to template Unlink from template When adding a host, its name is decided by standard gethostbyname function. If the host can be resolved, resolved name is used. If not, IP address is used. Besides, if IPv6 address must be used for a host name, then all ”:” (colons) are replaced by “_” (underscores), since ”:” (colons) are not allowed in host names. If performing discovery by a proxy, currently hostname lookup still takes place on Zabbix server. If a host exists in Zabbix configuration with the same name as a newly discovered one, versions of Zabbix prior to 1.8 would add another host with the same name. Zabbix 1.8.1 and latter adds _N to the hostname, where N is increasing number, starting with 2.
Parameter Step Description If escalation is enabled for this action, escalation settings: From – execute for each step starting from this one To – till this (0, for all steps starting from From) Period – increase step number after this period, 0 – use default period. Type of action: Send message – send message to user Execute command – execute remote command Send message to: Single user – a single user User group – to all members of a group If selected, default message will be used. Subject of the message. The subject may contain macros. The message itself. The message may contain macros.

Operation type Event Source Send message to Default message Subject Message

Remote command List of remote commands.

Starting from 1.6.2, Zabbix sends notifications only to those users, which have read permissions to a host (trigger), which generated the event. At least one host of a trigger expression must be accessible.

Macros for messages and remote commands
The macros can be used for more efficient reporting. Example 1
Subject: {TRIGGER.NAME}: {TRIGGER.STATUS}

Message subject will be replaced by something like:
'Processor load is too high on server zabbix.zabbix.com: ON'

Example 2 Message:
Processor load is: {zabbix.zabbix.com:system.cpu.load[,avg1].last(0)}

The message will be replaced by something like:
'Processor load is: 1.45'

Example 3 Message:
Latest value: {{HOSTNAME}:{TRIGGER.KEY}.last(0)} MAX for 15 minutes: {{HOSTNAME}:{TRIGGER.KEY}.max(900)} MIN for 15 minutes: {{HOSTNAME}:{TRIGGER.KEY}.min(900)}

The message will be replaced by something like:
Latest value: 1.45 MAX for 15 minutes: 2.33 MIN for 15 minutes: 1.01

2 Comments

2. Macros
Zabbix supports number of macros which may be used in various situations. Effective use of macros allows to save time and make Zabbix configuration more transparent.

List of supported macros
The table contains complete list of macros supported by Zabbix.
MACRO Notifications Auto Discovery GUI Item key's Map Trigger Trigger Item and registration notifications Scripts parameters labels expressions names descriptions commands notifications DESCRIPTION Current date in yyyy.mm.dd.

{DATE} {DISCOVERY.DEVICE.IPADDRESS} {DISCOVERY.DEVICE.STATUS} {DISCOVERY.DEVICE.UPTIME} {DISCOVERY.RULE.NAME} {DISCOVERY.SERVICE.NAME} {DISCOVERY.SERVICE.PORT} {DISCOVERY.SERVICE.STATUS} {DISCOVERY.SERVICE.UPTIME} {ESC.HISTORY} {EVENT.ACK.HISTORY} {EVENT.ACK.STATUS} {EVENT.AGE} {EVENT.DATE} {EVENT.ID} {EVENT.TIME} {HOSTNAME<1-9>} {HOST.CONN<1-9>} {HOST.DNS<1-9>} {IPADDRESS<1-9>}

X

X X X X X X X X X

X

Current date in yyyy.mm.dd. format.

X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X

Escalation history. Log of previously sent messages.

Age of the event. Useful in escalated messages. Date of the event. Numeric event ID which triggered this action. Time of the event. Host name of the Nth item of the trigger which caused a notification. IP and host DNS name depending on host settings. Host DNS name. IP address of the Nth item of the trigger which caused a notification. The latest value of the Nth item of the trigger expression which caused a notification. Supported from Zabbix 1.4.3. It is alias to {{HOSTNAME}:{TRIGGER.KEY}.last(0)}

{ITEM.LASTVALUE<1-9>}

X

X

{ITEM.LOG.AGE<1-9>} {ITEM.LOG.DATE<1-9>} {ITEM.LOG.EVENTID<1-9>} {ITEM.LOG.NSEVERITY<1-9>} {ITEM.LOG.SEVERITY<1-9>} {ITEM.LOG.SOURCE<1-9>} {ITEM.LOG.TIME<1-9>} {ITEM.NAME<1-9>}

X X X X X X X X Name of the Nth item of the trigger which caused a notification. The latest value of Nth item of the trigger expression if used for displaying triggers. Historical (when event happened) value of Nth item of the trigger expression if used for displaying events. Supported from Zabbix 1.4.3.

{ITEM.VALUE<1-9>}

X

X

{NODE.ID<1-9>} {NODE.NAME<1-9>} {PROFILE.CONTACT<1-9>} {PROFILE.DEVICETYPE<1-9>} {PROFILE.HARDWARE<1-9>} {PROFILE.LOCATION<1-9>} {PROFILE.MACADDRESS<1-9>} {PROFILE.NAME<1-9>} {PROFILE.NOTES<1-9>} {PROFILE.OS<1-9>} {PROFILE.SERIALNO<1-9>} {PROFILE.SOFTWARE<1-9>} {PROFILE.TAG<1-9>} {STATUS} {TIME} {TRIGGER.COMMENT}

X X X X X X X X X X X X X X X X

X X

X X Contact from host profile. Device type from of host profile. Hardware from host profile. Location from host profile. Mac Address from host profile. Name from host profile. Notes from host profile. OS from host profile. Serial No from host profile. Sotware from host profile. Tag from host profile. Alias for {TRIGGER.STATUS}.

X

X

Current time in hh:mm.ss. Trigger comment. Number of unacknowledged events for a map element in maps, or for the trigger which generated current event in notifications. Supported in map element labels since 1.8.3. Number of unacknowledged PROBLEM events for all triggers disregarding their state. Supported since 1.8.3. Number of unacknowledged PROBLEM events for triggers in PROBLEM state. Supported since 1.8.3. Number of acknowledged events for a map element in maps, or for the trigger which generated current event in notifications. Supported since 1.8.3. Number of acknowledged PROBLEM events for all triggers disregarding their state. Supported since 1.8.3. Number of acknowledged PROBLEM events for triggers in PROBLEM state. Supported since 1.8.3. Numeric trigger ID which triggered this action. Key of the Nth item of the trigger which caused a notification. Name (description) of the trigger. Numerical trigger severity. Possible values: 0 - Not classified, 1 Information, 2 - Warning,3 Average, 4 - High, 5 - Disaster, Supported starting from Zabbix 1.6.2. Trigger severity. Possible values: Not classified, Information, Warning, Average, High, Disaster, Unknown Trigger state. ON - if trigger is in TRUE state, OFF - if trigger is in FALSE state. {STATUS} is deprecated. Trigger URL. Current trigger value: 0 - trigger is in OFF state, 1 – trigger is in ON state, 2 – trigger UNKNOWN. This macro can also be used in trigger expressions. Number of unacknowledged triggers for a map element, disregarding trigger state. Trigger is considered to be unacknowledged if at least one of its PROBLEM events is unacknowledged. Number of unacknowledged PROBLEM triggers for a map element. Trigger is considered to be unacknowledged if at least one of its PROBLEM events is unacknowledged. Supported since 1.8.3. Number of acknowledged triggers for a map element, disregarding trigger state. Trigger is considered to be acknowledged if all of it's PROBLEM events are acknowledged. Supported since 1.8.3. Number of acknowledged PROBLEM triggers for a map element. Trigger is considered to be acknowledged if all of it's PROBLEM events are acknowledged. Supported since 1.8.3. X X X X Simple macros as used in trigger expressions. Global and host level macros. Supported in trigger names and

{TRIGGER.EVENTS.UNACK}

X

X

{TRIGGER.EVENTS.PROBLEM.UNACK}

X

X

{TRIGGER.PROBLEM.EVENTS.PROBLEM.UNACK}

X

{TRIGGER.EVENTS.ACK}

X

X

{TRIGGER.EVENTS.PROBLEM.ACK}

X

X

{TRIGGER.PROBLEM.EVENTS.PROBLEM.ACK} {TRIGGER.ID} {TRIGGER.KEY<1-9>} {TRIGGER.NAME} X X X

X

{TRIGGER.NSEVERITY}

X

{TRIGGER.SEVERITY}

X

{TRIGGER.STATUS}, {STATUS} {TRIGGER.URL}

X X

{TRIGGER.VALUE}

X

X

{TRIGGERS.UNACK}

X

{TRIGGERS.PROBLEM.UNACK}

X

{TRIGGERS.ACK}

X

{TRIGGERS.PROBLEM.ACK}

X

{host:key.func(param)} {$MACRO}

X X

X

graph) and the change will be automatically applied to the hosts. An item may be linked with one or more applications. Email Email notification. host macros (checked first) 2. Alternatively you may disable PIN on the SIM card. Zabbix will check templates of deeper level taking into account template inheritance. one or more media types can be assigned to user.8. Subject and Message. None. Zabbix will try to find it in host templates. Change definition of a template item (trigger. disk space. in this example function min(). one or more hosts. macros defined for templates of the host. file names. Most common use cases of global and host macros: 1.avg1]. _ .4. Make sure that: Speed of a serial device (normally /dev/ttyS0 under Linux) matches GSM Modem. Currently a host cannot be linked to different templates having same application. Script Custom script. These macros have a special syntax: {$MACRO}. The macros can be used in items keys and trigger expressions. etc. global macros for global one-click configuration changes and fine tuning Example 1 Use of host macro in item “Status of SSH daemon” key: ssh. if exists. Zabbix has been tested with the following GSM modems: Siemens MC35 Teltonika ModemCOM/G10 6. In case if Zabbix is unable to find a macro. Items. Applications are used in Zabbix front-end to group items. the macro will not be substituted.last(0)}>{$MAX_CPULOAD} If you want to use amount of values as the function parameter (for example. regular expressions. These graphs can be easily accessed via the menu item “Graphs”.4. Jabber Notifications using Jabber messaging. Zabbix does not set speed of the serial link. Assign new host group to the template. global macros (checked last) In other words. Applications Application is a set of host items. triggers and graphs of the template will be automatically added to the linked hosts. List of host groups the template belongs to. Host template attributes: Parameter Name Groups New group Description Unique template (host) name.5. GSM Modem Zabbix supports sending of SMS messages using Serial GSM Modem connected to Zabbix Server's serial port. 7.load[. such as Unix minicom or Windows HyperTerminal.3. port numbers. Currently user macros are not supported in SNMP OID field. if a macro does not exist for a host. transactions per second. 3 Comments 4. . If still not found. The name must be unique within ZABBIX Node.item descriptions since 1.cpu. Graphs User-defined graphs allow the creation of complex graphs. The global and host level macros is an excellent way of making maintenance of Zabbix configuration much easier. etc 2. Zabbix substitutes macros according to the following precedence: 1. Host templates Use of templates is an excellent way of making maintenance of Zabbix much easier. A template can be linked to a number of hosts. Macros for host labels are supported starting from 1. number of slow queries. Zabbix supports global and host-level macros as well as template-level macros. processor load.load[. GSM Modem has PIN entered and it preserves it after power reset. 0-9 .min({$CPULOAD_PERIOD})}>{$MAX_CPULOAD} Note that a macro can be used as a parameter of trigger function. For example. Run commans ls –l /dev/ttyS0 to see current permission of the serial device. Medias Media is a delivery channel for Zabbix alerts. the quotes must present) in a terminal software.{$SSH_PORT} Example 2 Use of host macro in trigger “CPU load is too high”: {ca_001:system. Global and host level macros For a greater flexibility. Zabbix passes three command line parameters to the script: Recipient. include hash mark in the macro like this: SOME_PERIOD #3 Example 3 Use of two macros in trigger “CPU load is too high”: {ca_001:system. The following characters are allowed in the macro names: A-Z .cpu. PIN can be entered by issuing command AT+CPIN=“NNNN” (NNNN is your PIN number. Link with template Used to create hierarchical templates.avg1].8. It uses default settings. max(#3)). application 'MySQL Server' may contain all items which are related to the MySQL server: availability of MySQL. The serial device has read/write access for user zabbix. 3. a global template will be used. 4. . Host groups Host group may have zero. taking advantage of templates with host specific attributes: passwords. 5 Comments 4.

we create a trigger dependency: "The host is down" depends on "The router is down" In case if both the server and the router is down. timeout 500 milliseconds. Individual key parameter Each key parameter can be either quoted string. one starts with specifying key name. Example 1 Host dependency Suppose you have two hosts: a router and a server. all lowercase letters. and included double quotes must be backslash escaped. Key parameters An item key can have multiple parameters that are comma separated. dot. item key icmpping[. Key format Item key format. For example. Items Item is a single performance or availability check (metric).1. yet the trigger won't generate notifications and actions in case if one of the trigger in the list has state PROBLEM. Key name Key name itself has a limited range of allowed characters. has to follow syntax rules. How it works? A trigger may have list of one or more triggers it depends on. Which means: all numbers.2. Parameter can also be left empty. vfs. i.. Host and trigger dependencies Zabbix does not support host dependencies. Correct definition examples: vfs..fs. The name must be unique within Zabbix Node.500] would specify that interval between individual pings is 200 milliseconds. any Unicode character is allowed. In that case appropriate amount of commas must be added if any further parametrs are specified. Zabbix will not execute actions for trigger “The host is down”. Parameter . Allowed elements and characters at each point can be determined by following the lines .if some block can be reached through the line.Host group attributes: Parameter Description Group name Unique host group name.it is not allowed. For example. including key parameters.as depicted by the two lines that could be taken.1. Hosts List of hosts of this group. 19. It means that the trigger will still change its status regardless of state of the triggers in the list. unquoted string or an array. The following illustrations depict supported syntax. dash.200. which just follow each other.8.fs. Flexible and non-flexible parameters Flexible parameter is a parameter which accepts argument. . So.fs. then there's a choice to either have parameters or not . 19. trigger dependencies.size[/opt] 19.size[*] is a flexible parameter. if not . Host dependencies can be defined using more flexible option.1. thus using the default value. * is any string that will be passed as argument to the parameter.e. Item key 19. underscore. The server is behind the router. we want to receive only one notification if the route is down: “The router is down” instead of: “The router is down” and “The host is down” In order to achieve this. Allowed characters are: 0-9a-zA-Z_-. all uppercase letters.size[/] vfs. 4.1. it is allowed. and all other parameters are left at their defaults. Item key To construct a valid item key.quoted string If the key parameter is a quoted string.

<mode>.<mode>] mode bytes packets errors dropped net.<maxlines>.<user>.num[<type>] type online max system.3.tcp.ping agent.run[command.intr system.<port>] proc.<mode>] type user nice idle system kernel iowait interrupt softirq steal mode avg1 avg5 avg15 system.util[<cpu>.<type>.<mode>] mode bytes packets errors dropped net.<encoding>.<regexp>.<mode>] X .query[<ip>.<encoding>.boottime system.collisions[if] net.2. Parameter / system agent.org/software/libiconv/] (GNU Project) or Microsoft Windows SDK documentation for “Code Page Identifiers”.<regexp>. Such items are still rechecked at a fixed interval.<type>] net.zone] net.3.if.tcp.port] net.tcp. it is again enclosed in square brackets.<port>] net.<ip>.gnu.cpu.<severity>.tcp. where individual parameters come following multiple parameter specifying rules and syntax.<regexp>.load[<cpu>.<mode>] mode bytes packets errors dropped net.<state>.cpu.service.service[service.listen[port] net.mem[<name>.tcp.Parameter .total[if. 19.<mode>] net. such as documentation for libiconv [http://www.out[if.maxfiles kernel.zone.<cmdline>] state all sleep zomb run sensor[<temp>] temp temp1 temp2 temp3 system.<mode>] logrt[file_format.if.dns[<ip>.<user>. any Unicode character is allowed except comma and right square bracket (]).maxproc log[file.cpu.<mode>] mode avg1 avg5 avg15 system.4 2. Available encodings The parameter “encoding” is used to specify encoding for processing corresponding item checks.perf[service. Supported by Platform In the following lists parameters that are included in angle brackets <like_this> are optional.num[<name>.if.6 UX OS/X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X eventlog[name.port[<ip>. Parameter . so that data acquired would not be corrupted.unquoted string If the key parameter is an unquoted string.cpu.<eventid>.version kernel. 19. configurable in Administration section.if. then ANSI with system specific extension (Windows) or UTF-8 (default locale for newer Unix/Linux distributions.if.cpu. 19. please.dns.switches system. For a list of supported encodings (code page identifiers).<ip>.in[if.1.<maxlines>.<maxlines>. consult respective documentation. see your system's settings) is used by default. Unsupported items An item can become unsupported if its value can not be retrieved for some reason.list net.array If the key parameter is an array. If empty “encoding” parameter is passed.<mode>] mode wait nowait Windows X X X X X X X X X X X X X X X X X X X X X X X X X X X X Linux Linux HPMac FreeBSD Solaris AIX Tru64 OpenBSD 2.tcp.<cmdline>] mode sum avg max min proc.<source>.

Maximum number of new lines per second the agent will send to Zabbix Server or Proxy.system. Number of Maximum number of processes supported by processes.Maximum number of new lines per second the agent will send to Zabbix Server or Proxy..localtime type utc local system.4.<mode>] Monitoring of log file.<regexp>. by OS.fs. Zabbix Agent List of supported parameters Key Description Return value Returns '1' if agent is available.Code Page identifier maxlines .Code Page identifier maxlines .cksum[file] vfs.swap. Example of returned value: 1.swap.<encoding>..conf mode .num vfs.stat[resource.dev.<mode>] type sectors operations bytes sps ops bps mode avg1 avg5 avg15 vfs.file. nothing if unavailable.<type>] system.0.regexp. skip (skipping processing of older data) Parameter mode will be supported from version 2.conf mode .<maxlines>.file..<maxlines>. skip (skipping processing of older data) Parameter mode will be supported from version 2.users. Number of Maximum number of opened files supported files.file.dev. Log.size[<mode>] mode total free shared buffers cached pfree available X X X X X X X X X X X X X X X X X X X X X X X X - X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X - X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X - X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X - X X X X X - X X X X X X X X X X X X X - 19. This parameter overrides the 'MaxLinesPerSecond' option in zabbix_agentd.one of all (default).<mode>] mode total free used pfree pused vm. logrt[file_format.file.in[<device>.exists[file] vfs.hostname system.<mode>] mode modify access change vfs.fs.8.maxproc log[file..<type>.file. See detailed description.swap. Must be configured as an Active Check.<type>.time[file.uname system.<mode>] mode total free used pfree pused vfs.100] Log rotation is based on last modification times of files.<type>] type count sectors pages system.2 agent. file – full file name regexp – regular expression for pattern encoding . OS.regmatch[file.size[file] vfs. Can be used as a TCP ping. .<regexp>.<encoding>] vfs. String Parameters Comments agent. name – event log name kernel.version kernel.3}$”. Log.0.inode[fs. Example: logrt[”/home/zabbix/logs/^logfile[0-9]{1.write[device.100] See detailed description.out[<device>.ping Check the agent availability.size[fs.file.read[device.uptime system. This parameter overrides the 'MaxLinesPerSecond' option in zabbix_agentd. Integer.<encoding>] vfs.md5sum[file] vfs.file.<encoding>. Integer.<mode>] type sectors operations bytes sps ops bps mode avg1 avg5 avg15 vfs.memory. Use function nodata() to check for host unavailability.regexp.one of all (default).size[<device>.<type>] type count sectors pages system. Example: log[/home/zabbix/logs/logfile. file_format – full file name in format [absolute path][filename format as regexp] regexp – regular expression for pattern encoding .regexp[file.<type>] mode free total used pfree pused system. Must be configured as an Active Check.maxfiles Version of Zabbix Agent.<mode>] Monitoring of log file with log rotation support.

detailed file list of root directory.conf mode .regular expression maxlines .service is running 2 . proc. Float.num[<type>] system. MG. Examples: net.num[apache2.if.<cmdline>] Number of processes name having state running under user user Number of processes.<cmdline>] Memory used by process name running under user user Memory used by process. This parameter overrides the 'MaxLinesPerSecond' option in zabbix_agentd. nice.perf[service.query[<ip>. system.collisions[if] Out-of-window collision.cpu.number of processes in sleep state running under oracle having oracleZABBIX in its command line On Linux.org/wiki/Load_(computing)] .<mode>] Sum of network interface incoming and outgoing statistics.the time in the string value. net. Examples: net.www-data] .filter by command line name .0.userX Example: system.service. net. Integer.total[eth0] You may use this key with Delta (speed per second) in order to get bytes per second statistics. measured in seconds.avg5] system.num[<name>. Processor load.hostname Return host name.interface if .cpu. Example: net. max.oracle.in[if.cpu.if.in and net.cpu. Example: system.1. run.process name user . interrupt.one of online (default).timeout connecting to the service 0 .dns[<ip>.port[<ip>.ntp should be used instead of ntp.listen[port] Checks if this port is in LISTEN state.1) port ..switches Number of CPUs.<ip>.query[127.one of avg1 (default). ldap.zabbix. net. Timestamp of system boot. cpu .tcp. proc.zone to test the DNS ip .if.<eventid>. if it is possible to make TCP connection to port number port.out[eth0] You may use this key with Delta (speed per second) in order to get bytes per second statistics.if.^1$] net.cpu. imap.cpu.IP address(default is 127.<type>.mem[zabbix_server. Device interrupts..service is down 1 . proc.<mode>] Monitoring of event logs.memory used by all processes running under user “root”.service is down sec number of seconds spent while connecting to the service ip . String value utc . max net.util[0.run[ls -l /] .errors] net. pop.listen[80] Example: net. ldap.tcp. 0 .num[.dns.if.IP address (default is 127.wikipedia. wait end of execution).interface mode – bytes number of bytes (default) packets number of packets errors number of errors dropped number of dropped packets ip .0.mem[.sleep.mem[.ntp should be used instead of ntp. Old naming: check_service[*] Note that before Zabbix version 1.IP address of DNS server (ignored) zone .interface mode – bytes number of bytes (default) packets number of packets errors number of errors dropped number of dropped packets if .niceX. WKS.cpu.<mode>] CPU(s) utilisation.<type>] Performs a query for the supplied DNS record type.<mode>] Network interface outgoing statistic.process name user . iowait. pop. temp2. utilisation in kernel.service[service. Integer.<source>.0. nowait (do no wait) cpu .0.port] Check.dns.number of apache2 running under user www-data proc. skip (skipping processing of older data) Parameter mode will be supported from version 2."Failure Audit".errors] net.in[eth0] You may use this key with Delta (speed per second) in order to get bytes per second statistics. January 1.it is not 1 .<mode>.<severity>.<ip>.if.out work for dropped packets on your platform. Example: proc.num[. MR. Integer. “Error”. reads /proc/sys/dev/sensors (available on 2.tcp. system. MB.systemX.DNS is up On success returns a character string with the required type of information.<mode>] Network interface incoming statistic.1.<mode>] Example: system.num Old naming: system[switches] system. sleep. system. Integer or local .perf[ssh] can be used to test speed of initial response from SSH server.0.1) port .port number (by default standard service port number is used) name .intr Sensor reading. Integer.it is in port . Examples: net.CPU number (default is all CPUs) type .user name (default is all users) state .DNS is down 1 . agent configuration file must have EnableRemoteCommands=1 option.one of idle.port number LISTEN state 0 .if.0.<state>. smtp.port[.if.8.interface mode – bytes number of bytes (default) packets number of packets errors number of errors dropped number of dropped packets Must be configured as an Active Check.45] can be used to test availability of FTP server on TCP port 45. Examples: eventlog[Application] eventlog[Security.Record type to be queried (default is SOA) Supported since Zabbix agent version 1. Number of available processors.one of temp1..if. nntp.zone] Checks if DNS service is up.total[eth0.in[eth0.memory used by all processes zabbix_server running under user zabbix proc.1.hh:mm:ss.(default) the time since the Epoch (00:00:00 UTC.errors] net. sensor[<temp>] system.one of ssh. Time in seconds.1) port .Maximum number of new lines per second the agent will send to Zabbix Server or Proxy. net.80] can be used to test availability of WEB server running on port 80.avg5 (average within 5 minutes).port number (by default standard service port number is used) service .mysql] .0.<port>] Check if service is running and accepting TCP connections.average number of runnable kernel threads (float) b . “Success Audit” source .cpu.run[command. ntp. Switches count.0. “Warning”.cpu.if.if.list List of network interfaces: Type Status IPv4 Description String if .can connect 0 . imap. tcp ip . tcp ip . net. http.root] .<type> information about kernel thread states: r . TXT Example: net. ftp.boottime system.tcp.8.zabbix.Source identifier eventid .number of processor units this partition is entitled to receive (float) kthr. ent . Old naming: system.one of all (default).. Integer. Note that dropped packets are supported only if both net. .max.zabbix] .average number of kernel threads placed in system.IP address of DNS server (ignored) zone . CNAME. MINFO. percents softirq. avg15 type . MD.out[eth0.filter by command line temp .dns[127. nntp. system.service[ftp.user name (default is all users) mode .service.command for execution mode . sum (default) cmdline . net.zabbix.<port>] Check performance of service Example: net.<mode>] Run specified command on the host.<user>.IP address (default is 127.0. Context switches. SOA.oracle. zomb cmdline . Example: net.zone.localtime System time.8.memory used by most memory hungry process running under oracle having oracleZABBIX in its command line Example: proc.<regexp>.4 only).529|680] eventlog[System. Number of collisions. smtp..3 service.zone to test the DNS type .idleX. 1970). MF. temp3. steal mode .user. Old naming: check_service[*] Note that before Zabbix version 1. http."Warning|Error"] eventlog[System.if. PTR.one of avg. ntp.cannot connect 1 . net. min.nn.tcp. ftp.0. MX.total[if.util[<cpu>.cpu.oracleZABBIX] .load[] Old naming: system. Old naming: check_port[*] Example: net.tcp. system. Log. Note: To enable this functionality.tcp.CPU number (default is all CPUs) mode .one of avg1 (default). NULL. CPU load [http://en.load[<cpu>.oracleZABBIX] .one of wait (default. avg15 Text result of the command command . Example of returned value www.com system. 0 .tcp.3 service. Integer.tcp.number of processes running under user mysql proc.0.eventlog[name.com.if.cpu.tcp. NS. 'yyyy-mmdd. if .one of ssh.<user>.<maxlines>. “Failure Audit”.cpu.out[if.. system. net. regexp – regular expression severity – regular expression The parameter accepts the following values: “Information”. HINFO.tcp.com] net.cpu.+hh:mm' format Parameters for this item will be supported from version 2.avg5 (average within 5 minutes).mem[<name>.loadX Example: system.one of all (default).0.tcp..port number service . Processor user (default).MX] type can be one of: A.

pused (used swap space.GNU regular expression encoding .write[device.trap and interrupt rate: in .last change time fs .stat[resource.one of total Memory size (default).<encoding>] Find string in a file Example: vfs.file.pages paged out to paging space (float) fr . free swap Example: system.memory.pages scanned by page-replacement algorithm (float) faults.one of total Example: vfs.percentage of free space).size of the free list (integer) page.free] Old naming: vfs.one of total (default).pages] of swapins). vfs.file. since defaults are different under various OSes) device .one of count (default.pages paged in from paging space (float) po . file .time[file.breakdown of percentage usage of processor time: us .one of modify (default.conf] vfs.inode[fs. sectors Old naming: swap[out] (sectors swapped out).dev.disk device (default is all) type . Number of seconds. sps.file.file. 0 . vfs. system.<mode>] File time information.1.regexp.full path to file by algorithm used by UNIX cksum.8.swap.<type> information about the usage of virtual and real memory: avm .swap.swap device (default is all). ops.file page-outs per second (float) pi .file.<type> .regexp[file.dev. free. Number of bytes or percentage system.full path to file.fs. used.operations] Old naming: io[*] vfs.file.regmatch[file. pfree (free. Number of users connected. change .file does not exist 1 .regexp[/etc/passwd.out[<device>.inode.one of sectors.swap.file.total[*] (used.fs.indicates the available physical processors in the shared pool (float) disk.<type> .file.device interrupts (float) sy .md5sum[file] File's MD5 check sum vfs. operations.<type>] Virtual memory statistics Numeric value the Virtual Memory Manager wait queue (float) memory. pfree (free swap Old naming: system.disk statistics: bps .<mode>] Swap space.fs. bps (must specify exactly which parameter to use. percentage) In case of a mounted volume. vfs.error] vfs.Code Page identifier file . Matched string or EOF if expression not found 0expression not found 1 . type . percentage) fs . (free.system time (float) id .free[*]. sps.file.indicates the amount of data transferred (read or written) to the drive in bytes per second (integer) tps . number Example: system.GNU regular expression encoding .one of count (default.file page-ins per second (float) fo . vfs.system.pfree[*]. type . percentage) Example of returned value: FreeBSD localhost 4. access . file .swap.size[/var/log/syslog] vfs.pfree] Old naming: (default).cksum[/etc/passwd] vfs.<type>] Disk write statistics.md5sum[/etc/zabbix/zabbix_agentd.indicates the number of transfers per second that were issued to the physical disk/tape (float) This item is supported starting from version 1.file. total (total swap swap space space).size[/tmp.total[*].full path to file Example of returned value: 1938292000 Example: vfs. Number of seconds Number of users vfs. Numeric value Example: vfs. device .in[<device>.size[file] File size File must have read permissions for user zabbix Example: vfs.swap. Can be used only for files less than 64MB. Swap statistics system.file.disk device (default is all) type .dev.fs.Code Page identifier file .<mode>] Disk space Disk space in bytes mode .free. Command who is used on agent side.full path to file mode .buffers.indicates the percentage of logical processor(s) utilization that occurred while executing at the user and system level (float) app . vfs.kernel thread context switches (float) cpu.regexp. sectors Old naming: swap[in] (sectors swapped in).system calls (float) cs . percentage). used. vfs.pages freed (page replacement) (float) sr .uname Returns detailed host information. pages (pages swapped in) device .inode.full path to file file exists MD5 hash of the file.in[.found Size in bytes.exists[/tmp/application.<type>] Swap out.<encoding>] Find string in a file Example: vfs. ops.filesystem mode .memory. bytes.fs.inode.fs.read[.FreeBSD.4-RELEASE FreeBSD 4.file.one of free (default.pused[*] Old naming: vm. since defaults are different under various OSes) system.active virtual pages (integer) fre .file.fs.pid] Example of returned value: b5052decb577e0fffd622d6ddc017e82 Example: vfs.free[*].swap. type .log. pused (used. percentage).pfree[*].zabbix] vfs. free. . unsupported otherwise. device . Example: vfs. modification Example: vfs. Numeric value Example: vfs. number Example: system.full path to file regexp .one of sectors.<type>] Swap in.size[. free.number of physical processors consumed (float) ec . pused vfs. operations.out[.4-RELEASE #0: Tue Sep 18 11:57:08 PDT 2001 murray@builder.fs.fs.idle time during which the system had outstanding disk/NFS I/O request(s) (float) pc .<type> information about page faults and paging activity: fi . percentage).fs.inode[/.pfree] . bps (must specify exactly which parameter to use.total space.read[device.used[*].modify] time). pages (pages swapped out) device .exists[file] Check if file exists Example: vfs. pfree vfs.idle time (float) wa .size[<device>.the percentage of entitled capacity consumed (float) lbusy .swap device (default is all). vm.org: /usr/src/sys/compile/GENERIC i386 Use Units s or uptime to get readable values. shared.last access time.fs.num System's uptime in seconds. String value system.file .cksum[file] Calculate file check sum File check sum calculated file .time[/etc/passwd.file.write[. bytes.cached. Swap statistics system.uptime system.user time (float) sy .<mode>] Number of inodes Numeric value vfs.swap. regexp .regmatch[/var/log/app.pages] of swapouts).dev.swap.swap device (default is all). disk space for local file system is returned.<type>] Disk read statistics.<type> .filesystem mode .size[fs.users.operations] Old naming: io[*] vfs.fs.

total web. use 'snmpwalk' (part of ucd-snmp/net-snmp [http://www. manual.list of newline or 0.zabbix. Since 1. SNMP Agent Zabbix must be configured with SNMP support in order to be able to retrieve data provided by SNMP agents.path to HTML document (default is /) port .list of started services services[automatic. It must be unique for each device.6 interval is used.zabbix.perf[host. services.hostname path .Number of bytes written by process during I/O operations io_write_op .started] . paused separated by a exclude .grsecurity. Example: web.Number of bytes read by process during I/O operations io_read_op .2] Linux-specific note.page.php.Process kernel time in milliseconds utime .php. vm.representation type (meaningful attribute. the template may not be compatible with the host. for “interval” is 1. 19.80] web. stopped] .index.unknown 255 – no such service services[<type>. This parameter is supported starting from version 1. Set the host Status to NOT MONITORED.net-snmp. service_state[*] State of service.Number of read operation performed by process io_write_b .buffers.org/] software which you should have installed as part of the Zabbix installation) or equivalent tool: shell> snmpwalk <host or host IP> public This will give you a list of SNMP strings and their last value. use the following parameter: proc_info[iexplore.org] limit access rights of non-privileged users.start pending 3 .6 this parameter will return correct value only for counters that require just one sample (like \System\Threads).<regexp>. make sure that msgAuthoritativeEngineID (also known as snmpEngineID or “Engine ID”) is never shared by two devices. “service1.pause pending 4 .com. cached. stop_pending. Excluded services should be written in double quotes.g. If it doesn't then it is possible that the SNMP 'community' is different from the standard public in which case you will need to find out what it is.<state>.<path>.<path>.maximal value among all processes named <process> avg . start_pending. e. However.port number (default is 80) regexp . vm.Number of page faults ktime . available WEB page source as text host .port number (default is 80) host .perf[www. pfree.exe. Until version 1.page. perf_counter[counter.gdiobj and userobj attributes available only on Windows 2000 and later versions of Windows. Kernel patches from www.hostname path . shared. Example: web.free.zabbix. automatic. Default value.5. continue_pending. if services to list would be exclude it from empty.<port>] Get content of WEB page Returns EOF on fail.regexp[www. If monitoring SNMPv3 devices.grsecurity. so the check returns an average value for last “interval” seconds every time.Size of process working set (amount of physical memory used by process) in Kbytes pf .php. where “counter” is the counter path.80.service2.sum of values for all processes named <process> Examples: 1. For SNMPv3 privacy and authentication currently MD5 and DES protocols are supported.80] web.exe.1.Number of I/O operations <process> performed by process.one of all (default).Number of USER objects used by <attribute> process requested process <type> .Process user time in milliseconds io_read_b . excluding services with names service1. other than read and process name write operations (same as in gdiobj . and “interval” is the time period for storing the average value. the result.<port>.<length>] Get first occurrence of regexp in WEB page Matched string Returns EOF on fail (no match).size[<mode>] Memory size Memory size (default).sum] 2.average value for all processes named <process> sum .one of all (default). that should be run. length number of characters to return Old naming: vm.Number of GDI objects used by proc_cnt[] process parameter) userobj .memory.<interval>] Average value of the “counter” during last “interval” seconds.service2 and service3 proc_info[<process>.Size of process virtual memory in Kbytes wkset .memory. stopped. WIN32-specific parameters This section contains description of parameter supported by Zabbix WIN32 agent only.GNU regular expression. Step 2 Find out the SNMP string of the item you want to monitor. 6 – stopped 7 .com.SNMP template which would automatically add set of items. that should be run services[automatic.hostname path . vm.Number of bytes transferred by process during operations other than read and write operations io_other_op .continue Parameter must be real service name as pending seen in service properties under “Name:” 5 . You would then go through the list until you find the string you want to monitor.index.path to HTML document (default is /) port .wkset.memory.pf.stop pending or name of EXE file.regexp[host.com.org [http://www.get[www.port number (default is 80) host .memory.page. The following steps have to be performed in order to add monitoring of SNMP parameters: Step 1 Create a host for the SNMP device.Number of write operation performed by process io_other_b . without spaces. you wanted to monitor .page.index. Valid values are: min minimal value among all processes named <process> max .shared. Parameter is service name.page.memory.get[host. You can use the host. separated by comma. disabled state . The following attributes are currenty supported: vmsize .avg] Note: All io_xxx.OK. when more than one process with the same name exists). Enter an IP address and a port of 161.0. List of pause_pending.<attribute>.<port>] Get timing of loading full WEB page Time in seconds Example: web. stopped. running. Return value Comments Performance Monitor can be used to obtain list of available counters. started.page. use the following parameter: proc_info[iexplore.8. not on Windows NT 4. After creating the host.vm.service3”] -list of stopped services. in bytes buffers. In order to get the amount of physical memory taken by all Internet Explorer processes.<path>. free.list of stopped services. if not given. Key Description Value of any performance counter.<exclude>] type . Examples: services[. Zabbix agent must have read-only access to filesystem /proc.memory.cached. 0 – running 1 – paused 2 .like CPU utilisation.<type>] Different information about specific process(es).path to HTML document (default is /) port . It will not work as expected for counters that require more that one sample . vm. In order to get the average number of page faults for Internet Explorer processes.

2. However.3.memory.<timeout>] 0 – ICMP ping fails 1 – ICMP ping successful icmppingloss[<target>. Example 2 Monitoring of Uptime Parameter Description Community public Oid Key Value type Units Multiplier MIB::sysUpTime.1.<port> Description Checks if FTP server is running and accepting connections Checks if FTP server is running and accepting connections Return value 0 – FTP server is down 1 – FTP server is running 2 – timeout 0 – FTP server is down Otherwise. 3COM seem to use port numbers in the hundreds.62.ifTable. Set the 'Status' to Monitored.3 where the last number in the string is the port number you are looking to monitor. in some cases. Simple checks Simple checks are normally used for agent-less monitoring or for remote checks of services.ifOctetsIn. So.<timeout>] Loss of packets in percents icmppingsec[<target>. ftp_perf.<size>. please use tcp and tcp_perf for checks like these.timeout in milliseconds Return percentage of lost packets target .3.packet size in bytes timeout . As a workaround.6. port 1=port 101. Now save the item and go back to the hosts area of Zabbix.45.<packets>.number of packets interval . Depending on whether you used a template or not when creating your host you will have either a list of SNMP items associated with your host or just a new item box.<port> icmpping[<target>. Step 3 Create an item for monitoring.8.6.<interval>. Note that Zabbix agent is not needed for simple checks. number of seconds spent connecting to FTP server.2. If missing.3 = Counter 32: 614794138 You should now use the snmpget command to find the OID for interfaces. http_perf.uptime Float uptime 0. except tcp and tcp_perf.6. List of supported simple checks: Key ftp.ifEntry. standard default service port is used.number of packets interval . ‘my_param’.7.7.g. We will work on the assumption that you are going to create the item yourself using the information you have just gathered using snmpwalk and snmpget. now go back to Zabbix and click on Items.1.time between successive 0 – HTTP (WEB) server is down Otherwise.<port> 0 – HTTP server is Checks if HTTP server down is running and 1 – HTTP server is accepting running connections 2 – timeout Checks if HTTP (WEB) server is running and accepting connections Checks if server is accessible by ICMP ping target . Make sure the 'Host' field has your switch/router in it and change the 'Type' field to “SNMPv1 agent”.3: shell> snmpget -On 10. e.10.0 Monitoring of SNMP parameters is possible if either -with-net-snmp or -with-ucd-snmp flag was specified while configuring Zabbix sources.ucdavis. Examples of using simple checks: ftp. so enter a plain English description in the 'Description' field of the new item box. Choose the Multiplier if you want one and enter an 'update interval' and 'keep history' if you want it to be different from the default.1. Zabbix server is responsible for processing of simple checks (making external connections.host IP or DNS name packets .1.01 19.time between successive packets in milliseconds size .number of packets interval .ifEntry.e. string OID must be converted to numeric representation.2.timeout in milliseconds Return ICMP ping response time target . the 'Type of information' to Numeric (float) and the 'Store value' to DELTA (important otherwise you will get cumulative values from the SNMP device instead of the latest change). Description Note that OID can be given in either numeric or string form.ifInOctets.3 Enter the 'SNMP port' as 161 and the 'Key' as something meaningful. This should give you something like the following: .10.0 router.<packets>.155 http http_perf.<interval>.ifTable. All simple checks.<packets>. port 3=port 103.6.2.host IP or DNS name packets .2.8080 IP is taken from the Zabbix host definition.1. Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported.ifEntry.1. e.3.<mode>] Number of seconds . From here set the SNMP device to be Monitored and check in Latest data for your SNMP data! Example 1 General example Parameter Community public Oid Key 1. number of seconds spent connecting to HTTP server.45.packet size in bytes timeout .3.g.22 interfaces.0) <Unique string to be used as reference to triggers> For example.the bytes coming in to your switch on port 3 you would use: interfaces. .ifOctetsIn.2.g.8.host IP or DNS name packets . i.<timeout>. accept one optional parameter: port .memTotalSwap.0 (or . etc).port number.1. selecting the SNMP host you created earlier.1.1.1. but Cisco use regular numbers.<size>. e.2.<interval>. Enter the community (usually public) and enter the numeric OID that you retrieved earlier in to the 'SNMP OID' field being sure to include the leading dot.3 = Counter32: 614794138 again the last number in the OID is the port number.time between successive packets in milliseconds size . Utility snmpget may be used for this purpose: shell> snmpget -On localhost public enterprises.<port> http. port 3=3.6.ifTable.<size>.2. SNMP-InOctets-Bps.

<port> ntp. Internal checks Internal checks allow monitoring of internals of Zabbix. Do not use if MySQL InnoDB.<timeout>. 56 bytes on x86. Oracle or PostgreSQL is used! This item is supported starting from version 1. Key zabbix[boottime] zabbix[history] Description Startup time of Zabbix server process in seconds.<port> ldap. 0 – TCP service is down 1 – TCP service is running 2 – timeout 0 .timeout in milliseconds mode . smtp_perf. “fping” default. number of seconds spent connecting to NTP server. 0 – NTP server is down 1 – NTP server is running 2 – timeout 0 – NTP server is down Otherwise.3.the service on the port is down Otherwise. max. Oracle or PostgreSQL is used! This item is supported starting from version 1. Zabbix writes addresses to be checked to a temporary file.<port> smtp.<port> ntp_perf. 68 bytes on x86_64 -b Warning: fping defaults can differ depending on platform and version .if in doubt. icmppingsec and icmppingloss) will not be processed.7.<port> ldap_perf.<port> ssh. In case if Timeout time is exceeded. Oracle or PostgreSQL is used! Do not use if MySQL InnoDB. check fping documentation. Do not use if MySQL InnoDB. zabbix[items] zabbix[items_unsupported] zabbix[log] Character.<size>.port Timeout processing Zabbix will not process a simple check longer than Timeout seconds defined in Zabbix server configuration file.<port> 0 – SMTP server is Checks if SMTP server down is running and 1 – SMTP server is accepting running connections 2 – timeout 0 – SMTP server is Checks if SMTP server down is running and Otherwise. which is then passed to fping. Add item with this key to have Zabbix internal messages stored. 0 – POP server is down 1 – POP server is running 2 – timeout 0 – POP server is down Otherwise. 19. number of accepting seconds spent connections connecting to SMTP server.icmppingsec[<target>. avg (default) Number of seconds imap. zabbix[history_log] zabbix[history_str] zabbix[history_text] zabbix[history_uint] Number of values stored in table HISTORY_UINT Number of items in Zabbix database Number of unsupported items in Zabbix database Stores warning and error messages generated by Zabbix server. number of seconds spent connecting to NNTP server.3.port tcp_perf. Checks if SSH server is running and accepting connections Checks if SSH server is running and accepting connections Checks if TCP service is running and accepting connections Checks if TCP service is running and accepting connections 0 – SSH server is down 1 – SSH server is running 2 – timeout 0 – SSH server is down Otherwise. “fping” default Description fping flag -c -i -t 56 or 68 bytes. number of seconds spent connecting to the TCP service. imap_perf.<port> 0 – IMAP server is Checks if IMAP server down is running and 1 – IMAP server is accepting running connections 2 – timeout 0 – IMAP server is Checks if IMAP server down is running and Otherwise.<port> nntp_perf. Oracle or PostgreSQL is used! This item is supported starting from version 1. 0 – NNTP server is down 1 – NNTP server is running 2 – timeout 0 – NNTP server is down Otherwise.one of min.<port> nntp. Internal checks are calculated by Zabbix Server.<port> pop_perf.8. Run these commands as user root in order to setup correct permissions: shell> chown root:zabbix /usr/sbin/fping shell> chmod 710 /usr/sbin/fping shell> chmod ug+s /usr/sbin/fping The default values for ICMP checks parameters: Parameter packets interval size timeout 3 25 500 Value pings to the target milliseconds. “fping” default milliseconds. number of seconds spent connecting to POP server.<packets>.<port> pop. ICMP pings Zabbix uses external utility fping for processing of ICMP pings. . Number of values stored in table HISTORY Number of values stored in table HISTORY_LOG Number of values stored in table HISTORY_STR Number of values stored in table HISTORY_TEXT Comments Unix timestamp. 2 is returned. Do not use if MySQL InnoDB.8.packet size in bytes timeout . If the utility is missing. If items have different parameters.8. Oracle or PostgreSQL is used! Do not use if MySQL InnoDB.<interval>. has wrong permissions or its location does not match FpingLocation defined in configuration file. number of seconds spent connecting to SSH server. number of seconds spent connecting to LDAP server.<mode>] packets in milliseconds size .3.<port> tcp. number of accepting seconds spent connections connecting to IMAP server. 0 – LDAP server is Checks if LDAP server down is running and 1 – LDAP server is accepting running connections 2 – timeout Checks if LDAP server is running and accepting connections Checks if NNTP server is running and accepting connections Checks if NNTP server is running and accepting connections Checks if NTP server is running and accepting connections Checks if NTP server is running and accepting connections Checks if POP server is running and accepting connections Checks if POP server is running and accepting connections 0 – LDAP server is down Otherwise.<port> ssh_perf. The utility is not part of Zabbix distribution and has to be additionally installed. only ones with identical parameters are written to a single file. ICMP pings (icmpping.

w are supported in the Queue which are delayed by for these parameters. Low number indicates performance problems on the database side. Host name 'www1. For custom command execution using Zabbix agents see user parameter documentation."mysql.8.9. <from> to <to> seconds. 19.conf. Do not use if MySQL InnoDB.”Germany”. Syntax of item's key: script[parameters] * script – name of the script.<cache>.168.4”. if necessary.8.sh with parameters ”-h 192. This directory is located on Zabbix server. If you don't want to pass your parameters to the script you may use: script[] or script <.avg1]".<param>] Access to Proxy related information.1.8.default: 6 seconds <to> .company."300"] 19. Parameters from and to are inclusive. zabbix[trends] zabbix[trends_uint] zabbix[triggers] zabbix[uptime] zabbix[wcache.3.3. other parameters are substituted by parameters."system."last". and permissions on the command should allow that user to execute it.1 Zabbix server will find and execute the command in directory defined in configuration parameter ExternalScripts in zabbix_server. Standard error and exit code are discarded.h. Command will be executed as the user Zabbix server runs as.zabbix[proxy.<from>.<name>.<to>] <from> . Number of values stored in table TRENDS Number of values stored in table TRENDS_UINT Number of triggers in Zabbix database Uptime of Zabbix server process in seconds. First command line parameter is host name."vfs.total]".<cache>.m.lastaccess] Trigger function fuzzytime() can be used to check availability of proxies. Number of values processed by Zabbix server.1. * parameters – list of command line parameters.8. grpsum["MySQL Servers".d.size[/. Do not overuse external checks! It can decrease performance of Zabbix system a lot. Oracle or PostgreSQL is used! Do not use if MySQL InnoDB."last". External checks do not require any agent running on a host being monitored. Example 1 Execute script check_oracle. zabbix[queue. Only commands in the specified directory are available.com'. Zabbix uses the standard output of the script as the value. External checks External check is a check executed by Zabbix Server by running a shell script or a binary."item func".<mode>] Cache Mode values all float uint str log text history pfree total used free trend pfree total used free text pfree total used free zabbix[rcache."0"] Example 3 Average (5min) number of queries per second for host group 'MySQL Servers' grpavg["MySQL Servers". Oracle or PostgreSQL is used! This item is supported starting from version 1.4] Zabbix will execute: .this simplified syntax is supported starting from Zabbix 1.cpu.<mode>] Cache Mode buffer pfree total used free Free space in the history buffer in percentage."Item key". zabbix[proxy.fs. It is the best indicator of Zabbix performance. Zabbix server collects aggregate information by doing direct database queries.load[.qps". so any access permissions or environment variables should be handled in a wrapper script.168.sh[-h 192. check_oracle. supported starting from version 1. <name> ."parameter"] Supported group functions: GROUP FUNCTION DESCRIPTION grpavg grpmax grpmin grpsum Average value Maximum value Minimum value Sum of values Supported item functions: ITEM FUNCTION avg count last max min sum DESCRIPTION Average value Number of values Last value Maximum value Minimum value Sum of values Examples of keys for aggregate items: Example 1 Total disk space of host group 'MySQL Servers'."avg". Aggregated checks Aggregate checks do not require any agent running on a host being monitored. Syntax of aggregate item's key groupfunc["Host group".default: infinity Number of server monitored items Suffixes s.Proxy name List of supported parameters (<param>): lastaccess – timestamp of last heart beat message received from Proxy For example. grpavg["MySQL Servers"."0"] Example 2 Average processor load of host group 'MySQL Servers'.

not upon receiving a new value. division by zero 4.2 adds support for additional character: % Key telnet..1 Calculated items is a very nice way of creating virtual data sources.fs. ARGUMENT func host:key DEFINITION One of functions supported by trigger expressions: last.bytes]")+last("net. Note that syntax is slightly different. To use calculated items. choose item type Calculated. Zabbix agent is not needed for Telnet checks. Actual commands to be executed must be placed in the Executed script field in the item configuration.) More complex expression may use a combination of functions.Z0. Example 2 Calculate 10 minute average number of values processed by Zabbix.if. Key ssh. More complex expression: 100*last("net. Item values will be periodically calculated based on a arithmetical expression and data stored in Zabbix database. SSH checks are used for agent-less monitoring. operators and brackets.. You can create any key name using supported symbols.com -h 192.9 ..out[eth0.in[eth0.10.zA.Z0. etc Is a reference to an item...Z0. User parameter has the following syntax: UserParameter=key. Multiple commands can be executed one after another by placing them on a new line.in[eth0.free]")/last("vfs.<parameter1>.<parameter2>.8. 10. Simple user parameters In order to define a new parameter for monitoring._- Supported characters for a key: a. no data to calculate a function 3.8. The following functions are supported: A very simple expression might look like: func(<key>|<hostname:key>. /bin/sh is used as a command line interpreter under UNIX operating systems.if. 19.Zabbix will execute: check_oracle.fs.2).zA. User parameters are commands executed by Zabbix agent. you have to update all formulas that used the old key manually.<ip>. Till version 1.size[/.1. SSH checks Zabbix must be configured with SSH2 support. You could use all functions and operators supported in trigger expressions. Calculation definition should be entered in the Formula field (named Expression in 1.bytes]")+last("net.values]"..if.12. Use of function last: 100*last("vfs. Actual commands to be executed must be placed in the Executed script field in the item configuration. min. avg.. supported characters that prompt the prompt can end with: $ # > Zabbix version 1.8. User Parameters Functionality of Zabbix agents can be enhanced by defining user parameters (UserParameter) in agent's configuration file. referenced item(s) not found 2.if. Example 3 Calculate total bandwidth on eth0.if. syntax errors Example 1 Calculate percentage of free disk space on '/'.0._ Supported characters for a function: a..sh www1. Calculated items Support of calculated items was introduced in Zabbix 1.168.11. Sum of two functions: last("net.<port>. however logic and operator precedence are exactly the same.9_ Unlike trigger expressions.<encoding>] Description Run a command by using SSH remote session Comments 19.out[eth0.bytes]")) 16 Comments 10. max..command .8.0. Telnet checks Telnet checks are used for agent-less monitoring.<ip>. Also if you change item key of a referenced item.1.total]") Zabbix will take the latest values for free and total disk spaces and calculate percentage according to the given formula.bytes]") Example 4 Calculate percentage of incoming traffic. Zabbix processes calculated items according to item update interval. count.bytes]")/(last("net..run[<unique short description>.1.company. A calculated item may become unsupported in several cases: 1.1 and 1..<encoding>] Description Run a command on a remote device using telnet connection Comments 19.9..600) Note that extensive use of calculated items with long time periods may affect performance of Zabbix Server.zA..in[eth0.<port>.run[<unique short description>. It may be defined as key or hostname:key parameter(s) Optional parameters Supported characters for a hostname: a. one line has to be added to configuration file of Zabbix agent and the agent must be restarted. The minimal supported libssh2 library version is 1. Multiple commands can be executed one after another by placing them on a new line. Note that Zabbix agent is not needed for SSH checks. Use of function avg: avg("Zabbix Server:zabbix[wcache.size[/.8.4.

float. Flexible user parameters Flexible user parameters can be used for more control and flexibility.mysqladmin –u$1 –p$2 ping|grep alive|wc –l This parameter can be used for monitoring availability of MySQL database. text. For flexible user parameters. Description Command Command to be executed to evaluate value of the Key. 10.1. awk '{print $$2}'. This is normal trigger state. In this case. You can use them to create complex logical tests regarding monitored statistics. if this value is part of this expression. This may happen because of several reasons: server is unreachable trigger expression cannot be evaluated trigger expression has been recently changed 12. '0' . log 0 – values are equal 1 – values differ Number of historical values for period of time in seconds or number of last #num values matching condition.command Parameter Key Command Description Unique item key. Trigger functions The following functions are supported: All functions return numeric values only.….our_password] Example 3 How many lines matching a regular expression in a file? UserParameter=wc[*]. and fourth parameter time_shift. The function accepts second optional parameter pattern. UserParameter=key[*]. avg(3600. Called TRUE in older Zabbix versions. The [*] defines that this key accepts parameters. Parameter time_shift is supported from Zabbix 1. It is useful when there is a need to compare the current average value with the average value time_shift seconds back. Expression for triggers The expressions used in triggers are very flexible. The operator is defined as: A=B (A>B-0. wc[/etc/passwd. The function accepts a second. Called FALSE in older Zabbix versions.8. . We can pass user name and password: mysql. 2 Comments 12. optional parameter time_shift. The expression may have the following values: VALUE PROBLEM OK UNKNOWN DESCRIPTION Normally means that something happened. Comparison to strings is not supported. Unless UnsafeUserParameters agent daemon configuration option is enabled. Trigger status (expression) is recalculated every time Zabbix server receives new value.8.000001) Is equal. See manpage in earlier versions for more information.2. For example.ping[*]. Example 1 Simple command UserParameter=ping. If time based functions like nodata() are used in the expression.root] wc[/etc/services|zabbix] Note that Zabbix agent daemon does not support user parameters with -t or -p agent switches (used to test single item or print out a list of all supported items) until version 1. Example 2 More complex example UserParameter=mysql. The operator is defined as: A=B (A<B-0.echo $1 We may define unlimited number of items for monitoring all having format ping[something].000001) Logical AND Logical OR DEFINITION 12. Zabbix cannot evaluate trigger expression.otherwise.2.mysqladmin -uroot ping|grep alive|wc –l The agent will return '1'. int. it is not allowed to pass flexible parameters containing these symbols: \ ' ” ` * ? [ ] { } ~ $ ! & . float.echo 1 The agent will always return '1' for item with key 'ping'. int. Triggers Trigger is defined as a logical expression and represents system state. ping[0] – will always return '0' ping[aaa] – will always return 'aaa' Example 2 Let's add more sense! UserParameter=mysql. The following operators are supported for triggers (descending priority of execution): PRIORITY OPERATOR 1 2 3 4 5 6 7 8 9 10 / * + < > # = & | Division Multiplication Arithmetical minus Arithmetical plus Less than More than Not equal.$10 in the command. Zabbix parses content of [] and substitutes $1.ping. To use positional references unaltered. text.ping[zabbix.for example.2. FUNCTION ARGUMENT SUPPORTED VALUE TYPES DEFINITION abschange ignored Returns absolute difference between last and previous values.000001) & (A<B+0. ( ) < > | # @ Example 1 Something very simple UserParameter=ping[*].grep "$2" $1|wc -l This parameter can be used to calculate number of lines in a file. log 0 – values are equal 1 – values differ Average value for period of time. int change ignored Returns difference between last and previous values. For instance. third parameter operation.86400) will return the average value for an hour one day ago.Parameter Key Unique item key. avg sec or #num float. if MySQL server is alive.3. processor load is too high. Command to be executed to evaluate value of the Key.000001) | (A>B+0. specify double dollar sign . it is recalculated every 30 seconds. For strings: str. Parameter defines length of the period in seconds. for example. For strings: str.

Finally. text this case more than one value will be processed. 0 .12.8.com [http://www. count(600. fuzzytime sec 1st – string 2nd – sec or #num iregexp str. 123.00001 String.load[all. See function avg for an example of its use. Returns: 1 – found 0 – otherwise float. log Returns log severity of the last log entry. #num ignored Some of the functions cannot be used for non-numeric parameters! Most of numeric functions accept number of seconds as an argument. text and log items: operators like (default). int.com:system. Minimal value for period of time..2. See function avg for an example of its use. str. last sec #num logseverity ignored logsource string log max sec. See function avg for an example of its use. Parameter time_shift is supported starting from Zabbix 1. Examples: 0. Second optional parameter is number of seconds or number of lines to analyse.86400) will return the most recent value one day ago. Same as max()-min().8.2.count sec or #num For example. for the last 600 seconds 24 hours ago. If there is a need to count arbitrary values. Zabbix does not guarantee exact order of values if more than two values exists within one second in history.com:system. The period should not be less than 30 seconds. int min sec. For example. Usually used with system.6. optional parameter time_shift.load[all. log 0 – otherwise float. ge – greater or equal str. In this case more than one value will be processed.12. optional parameter time_shift. last(0) is always equal to last(#1) float. log lt – less le – less or equal like (textual search only) . Returns current time in HHMMSS format. Since Zabbix 1. Another example: count(#10.avg1]’.zabbix. log. int. For example. /kernel. #num float. Parameter defines length of the period in seconds. You may also use prefix # to specify that argument has a different meaning: ARGUMENT sum(600) sum(#5) DEFINITION Sum of all values within 600 seconds Sum of the last 5 values The following constants are supported for triggers: CONSTANT <number> DEFINITION Positive float number. Integer items: exact match Float items: match within 0.cpu. log. For example: 20031025 Returns day of week in range of 1 to 7.file. int Returns 1 if timestamp (item value) does not differ from Zabbix server time for more than N seconds.”gt”) will return exact number of values which are more than '12' stored in the history for the last 600 seconds. .load[all. Parameter defines string to find. /etc/inetd. ‘>5’ means that the trigger is in the PROBLEM state whenever the most recent processor load measurement from www.avg1]. 4G.55 K – 1024*N M – 1024*1024*N G – 1024*1024*1024*N Examples: 2K. Posix style. logsource(“VMWare Server”) Maximal value for period of time. the function supports a second.zabbix. int any Sum of values for period of time.com]’ and the key being monitored is ‘system. date ignored dayofweek ignored delta sec or #num ignored diff Returns: float. Case sensitive! Second optional parameter is number of seconds or number of lines to analyse. Parameter defines regular expression. text This function is non case-sensitive analogue of regexp.zabbix. useful for Windows event logs).zabbix. January 1.. the function supports a second. log The function also supports an optional time_shift parameter.min(600)}>2 The expression is true when either the current processor load is more than 5 or the processor load was more than 2 during last 10 minutes. 0 – does not match 1 – matches Normally used for Windows event logs.com [http://www.12) will return exact number of values equal to '12' stored in the history. count(600. Parameter time_shift and string operators are supported from Zabbix 1.zabbix. 0 – otherwise.2.com] is overloaded {www.localtime to check that local time is in sync with local time of Zabbix server. the function supports a second. Returns: 1 – found 0 . log. 0 – default severity N – severity (integer. last(#3) – third most recent value str. such as /etc/passwd.2. Parameter defines length of the period in seconds. the function supports a second.5M <number><K|M|G> A simple useful expression might look like: {<server>:<key>. Parameter: sec – ignored #num – Nth value For example. 0.otherwise Returns number of seconds since the Epoch (00:00:00 UTC.6. 1.cpu.load[all. optional parameter time_shift. 1 – last and previous values differ str. Zabbix takes log severity from field Information of Windows event log.last(0)}>5|{www. which ignore it.cpu.com:system. In str. etc. ne are supported Supported operators: eq – equal ne – not equal gt – greater float. text. Mon – 1. Parameter #num is supported from Zabbix 1. Last (most recent) value. Sun – 7.zabbix.”gt”.<function>(<parameter>)}<operator><const> Parameter must be given even for those functions.zabbix. #num float.8.cksum[/etc/passwd].zabbix. last(0. Example: last(0) Example 1 Processor load is too high on www.com:system. any any float.zabbix. Returns: 1 – if no data received during period of time in seconds.2. 0. Parameter defines length of the period in seconds. This function is case-sensitive.8.diff(0)}>0 The expression is true when the previous value of checksum of /etc/passwd differs from the most recent one.com [http://www. Example 2 www.zabbix. optional parameter time_shift.com:system.load [http://www.1. text.cpu.2. log Same as last(#2) Check if last value matches regular expression. Parameter is ignored.avg1]. Example: 123055 sum time sec.86400) should be used.last(0)}>5 ‘www. It specifies that the server is ‘www. text. for instance.zabbix. eq. int.2.zabbix.com] is greater than 5. Returns previous value.matches if contains pattern.15.86400) will return exact number of values which are larger than '12' stored in the history among last 10 values 24 hours ago. Check if log source of the last log entry matches parameter. See function avg for an example of its use. text str 1st – string 2nd – sec or #num Find string in last (most recent) value.8.com] {www. we are referring to the most recent value. text. int nodata now prev sec ignored ignored any any float. For example. Parameter #num is supported starting from Zabbix 1. int Returns current date in YYYYMMDD format. int. Since Zabbix 1.avg1]’ gives a short name of the monitored parameter.avg1].zabbix.8. By using the function ‘last()’.zabbix. Example 3 /etc/passwd has been changed Use of function diff: {www. Similar expressions could be useful to monitor changes in important files. Since Zabbix 1.otherwise regexp 1st – string 2nd – sec or #num str.load] [all. 1970).com:vfs.cpu. Parameter is ignored. count(600. Since Zabbix 1.conf.com [http://www.cpu.

if. Dark red. For example. only at night (00:00-06:00) time.zabbix.com:tick. audio alarms in Status of Triggers screen. the trigger value becomes PROBLEM. Different colors for different severities.zabbix.4. Screen is a table which may contain the following elements in each cell: simple graphs user-defined graphs maps . then trigger status will not be changed and thus actions will not be executed and notifications will not be sent. Example 8 No heartbeats within last 3 minutes Use of function nodata(): {zabbix. This is when Trigger dependencies may be handy. the Host trigger won't be updated. 12. Average problem. Red. a host Host is behind router Router2 and the Router2 is behind Router1. Financial losses. 12. Trigger dependencies Trigger dependencies can be used to define relationship between triggers.Example 4 Someone is downloading a large file from the Internet Use of function min: {www. Disaster. In order to do this.last(0)}=2 The ‘status’ is a special parameter which is calculated if and only if corresponding host has at least one parameter for monitoring. Example 6 Zabbix agent needs to be upgraded Use of function str(): {zabbix.Router1 – Router2 .last(0)}=0 The expression is true when both SMTP servers are down on both smtp1.VALUE}=0&{server:temp.cpu.com:net. 12. If so. Screens and Slide Shows Zabbix screens allow grouping of various information for quick access and display on one screen. Hysteresis Sometimes a trigger must have different conditions for different states. Not classified Unknown severity. See description of ‘status’ for more details. Example 7 Server is unreachable {zabbix.5.min(300)}>100K The expression is true when number of received bytes on eth0 is more than 100 KB within last 5 minutes.com:net. For example. One does not want to receive three notifications about the Host. we define the following trigger: Example 1 Temperature in server room is too high ({TRIGGER. Different media (notification channel) for different severities. Information Warning Average High Disaster For information purposes.zabbix.tcp. Trigger severity Trigger severity defines how important is a trigger.VALUE}=1&{server:temp.last(0)}>15) Note use of macro {TRIGGER. we define these dependencies: trigger 'Host is down' depends on trigger 'Router2 is down' trigger 'Router2 is down' depends on trigger 'Router1 is down' Before changing status of trigger 'Host is down'.avg1].zabbix.3. Bright red.avg1].com:net.com.service[smtp].zabbix. In this case.avg1]. Light green. Zabbix .time(0)}<060000 The trigger may change its status to true.min(300)}>2&{zabbix:system. user medias. Zabbix will check if there are corresponding trigger dependencies defined. item 'tick' must be defined.zabbix. The macro returns current trigger value.com:status.VALUE}.str(beta8)}=1 The expression is true if Zabbix agent has version beta8 (presumably 1. Zabbix performs this check recursively. and one of the triggers is in PROBLEM state. The severities are used to: visual representation of triggers. Something important has happened.com:agent.zabbix.version.zabbix.load[all. email – other. Light yellow.com and smtp2.service[smtp]. For example. Example 5 Both nodes of clustered SMTP server are down Note use of two different hosts in one expression: {smtp1.cpu.nodata(180)}=1 'tick' must have type 'Zabbix trapper'.load[all.cpu.0beta8).load[all. If Router1 or Router2 is unreachable.last(0)}>20)| ({TRIGGER. SMS – high severity. Be warned. If no data is received within 180 seconds. 8 Comments 4. we would like to define a trigger which would become PROBLEM when server room temperature is higher than 20C while it should stay in the state until temperature will not become lower than 15C.13.bytes].tcp. Easyto-use screen builder makes creation of the screens easy and intuitive.time(0)}>000000&{zabbix:system. Trigger dependencies is a very convenient way of limiting number of messages to be sent in case if an event belongs to several resources. then obviously the Host and the Router2 are also unreachable. Example 9 CPU activity at night time Use of function time(): {zabbix:system. In order to make this trigger work. the Router1 and the Router2. Zabbix supports following trigger severities: SEVERITY DEFINITION COLOR Gray.Host If the Router1 is down. The host should periodically send data for this parameter using zabbix_sender.in[eth0.last(0)}=0&{smtp2. Different audio for different severities. etc.

The user has access to everything: Monitoring. What we are interested is availability of service provided by our IT department. Update Interval of the slide show will be used. A very simple IT Service structure may look like: IT Service | |-Workstations | | | |-Workstation1 | | | |-Workstation2 | |-Servers Each node of the structure has attribute status. structure of existing IT infrastructure. Zabbix supports several types of users. 4. The type controls what administrative functions a user has permission to.14.1. Users can not use their user id and password to log directly into the UNIX server unless they have also been set up accordingly to UNIX.16.16. Permissions are granted to user groups on a host group level. Overview Zabbix has a flexible user permission schema which can be efficiently used to manage user permission within one Zabbix installation or in a distributed environment. User permissions All Zabbix users access the Zabbix application through the Web-based front end. If set to 0. any trigger is not shown in the legend. Communication between the Web Server and the user's browser can be protected using SSL. Triggers create lowest level of the IT Services. Configuration and Administration. Permissions to host groups must be explicitly assigned. By default. Permissions cannot be revoked by denying access to specific host groups. We can also be interested in identifying weak places of IT infrastructure. This parameter defines default interval between screen rotations in seconds. [To be finished…] Note that up to and including Zabbix version 1. high processor load.2. Statistics shown by the Queue is a good indicator of performance of Zabbix server. Overview Zabbix Queue displays items that are waiting for a refresh.15. no permissions are granted on a screen when user is registered to the Zabbix. Zabbix IT Services provides answers to all mentioned questions.2.16. List of individual slides (screens): Screen name How long the screen will be displayed. User types User types are used to define access to administrative functions and to specify default permissions. All user passwords are encrypted and stored on the Zabbix database. 4. Permissions to host groups must be explicitly given. Slide Show is a set of screens. which will be automatically rotated according to configured update intervals. IT Services IT Services are intended for those who want to get a high-level (business) view of monitored infrastructure. 4. The status is calculated and propagated to upper levels according to selected algorithm. like lack of disk space. PARAMETER Name Update interval (in sec) Slides Screen Delay Name of slide show.1.other screens plain text information server information (overview) trigger information (overview) data overview clock history of events history of actions URL (data taken from other location) Number of elements in each screen is unlimited. In many cases. in seconds. IT Services is hierarchy representation of monitored data. we are not interested in low-level details. 4. There is no IPC queue or any other queue mechanism in Zabbix. and many other information of higher level. Note that a user is automatically disconnected after 30 minutes of inactivity. If graph height is set to be less than 120 pixels.15. The Queue 4. etc. 4. Each Zabbix user is assigned a unique login name and a password. The Queue is just a logical representation of data from the database. The user has no access to any resources by default. Description Example 1 Slide show “Zabbix administrators” The slide show consists of two screens which will be displayed in the following order: Zabbix Server Pause 60 seconds seconds Zabbix Server2 … Zabbix Server2 Pause 30 seconds Zabbix Server Pause 60 6. The user has access to Monitoring and Configuration. The user has no access to any host groups by default. User type Zabbix User Zabbix Admin Zabbix Super Admin Description The user has access to Monitoring menu. The user has Read-Write access to all host groups. How to read . Access permissions on screen within the menu may be set for each user.1 triggers with severities Not classified and Information do not impact SLA calculation.8. SLA of various IT services.15.

in seconds. One hour by default.inc. or entered manually. The scripts are located under directory misc/init.2. Configuration guide: Install snmptrapd (part of net-snmp or ucd-snmp) Edit snmptrapd. One hour by default. in seconds. Frontend definitions While many things in the frontend can be configured using the frontend itself. The master node receives historical data with a certain delay (normally. so the information is delayed. however we should not trust the information as it depends on: performance of the Child node communications between Master and Child nodes possible local time difference between Master and Child nodes A special item key zabbix[queue] can be used to monitor health of the queue by Zabbix. ZBX_MIN_PERIOD Minimum graph period.17. 6. Note that information displayed for a child node is not up-to-date. Run snmptrapd 18. Parameters in this file that could be of interest to users: TRIGGER_FALSE_PERIOD For how long to show triggers in OK state after their state changed from PROBLEM. Regular expression types All regular expressions in Zabbix.sh Copy misc/snmptrap/snmptrap.1. support POSIX extended regular expressions [http://en. ZBX_MAX_PERIOD .1. Located in the frontend directory. in seconds.sh to configure some basic parameters Add special host and trapper (type “string”) item to Zabbix. @mycustomregexp .php. 6.sh to ~zabbix/bin Edit snmptrap. prefixed with @. whether created with the advanced editor. Using regular expressions After a regular expression has been created. There's a full list of such internal items in item configuration section.The Queue on a standalone application or when displayed for a master node shows items waiting for a refresh.17.sh for the item's key.org/wiki/Regular_expression#POSIX_Extended_Regular_Expressions] . and one item of type Zabbix agent (active) waiting more than five minutes (perhaps the agent is down?).d. which is part of package net-snmp. some customisations are currently only possible by editing a definitions file. ZBX_PERIOD_DEFAULT Default graph period. Utilities 6. 18. we see that we have three items of type Zabbix agent waiting to be refreshed 0-5 seconds. See snmptrap. The script must be used in combination with snmptrapd.20.conf. On the screenshot we see that there are 93 items waiting more than 5 minutes for refresh on node “Child”. 18. 4. Start-up scripts The scripts are used to automatically start/stop Zabbix processes during system's start-up/shutdown. Add this line: traphandle default /bin/bash /home/zabbix/bin/snmptrap. it can be used everywhere regular expressions are supported by referring to it's name. in seconds. TRIGGER_BLINK_PERIOD For how long a trigger should blink after its state changed.sh The script is used to receive SNMP traps. this file is include/defines. snmptrap.wikipedia. Regular expressions Complex regular expressions can be created and tested in the Zabbix frontend by going to Administration → General → Regular expressions. In this case. for example.2.17. up-to 10 seconds for inter-node data transfer).

Possible values: 0 . you will see “Connected as Admin” in the lower right corner of the page and access to Configuration and Administration areas will be granted: 5. Login This is “Welcome to Zabbix” screen.21. Examples These multipliers allow to write expressions that are easier to understand and maintain. the user will be accessing Zabbix with “guest” permissions.6.8. 1 . works the same as raw value. Standard multipliers The following table summarises available standard multipliers in Zabbix frontend and server: Till_1.1.zabbix_proxy. By default. one year before that. when used. When installed. Two years by default since 1.2. d . .7. h . GRAPH_YAXIS_SIDE_DEFAULT Default location of Y axis in simple graphs and default value for drop down box when adding items to custom graphs. Suffixes It is possible to simplify Zabbix trigger expressions or item keys by using suffixes.2. Protection against brute force attacks In case of five consecutive failed login attempts. User “Admin” is Zabbix superuser. which has full permissions.seconds. “guest” has no permissions on Zabbix objects. use user name Admin with password zabbix to connect as Zabbix superuser.8. make sure to add your user to one of existing groups. for example Network administrators.lastaccess]}>2m {host:system.Maximum graph period. When logged in. navigate to Administration → Users and switch to Users in the dropdown.uptime[]. User “guest” is a special default user. for example the following expressions: {host:zabbix[proxy.days w . Quick Start Guide 5.2 Server K (Kilo) M (Mega) T (Tera) G (Giga) K (Kilo) M (Mega) G (Giga) T (Tera) P (Peta) E (Exa) Z (Zetta) Y (Yotta) Frontend 4.last()}<1d 5.minutes. Zabbix interface will pause for 30 seconds in order to prevent brute force and dictionary attacks.21.weeks.21.zabbix_proxy. In new user form.1. 4. 5.1.uptime.last()}<86400 could be changed to: {host:zabbix[proxy. In order to add new user. Time-related multipliers Since Zabbix version 1.2 Additional in 1. IP address of a failed login attempt will be displayed after successful login. If an user does not log in.right. Add user After initial installation.hours.3. in seconds.1. m .2 the following time-related multipliers are available: s . then click “Create User”.8. Zabbix has only two users defined. 4.21.lastaccess]}>120 {host:system.left. 4.

By default. enter email address of the user. Email is one of those. then click Select. In this popup. Email configuration can be found under Menu → Administration → Media types. Done! You may try to log in using credentials of the new user. so click on Add below the Read only listbox. click on the group in Groups column. 3. click Save . mark checkbox next to Linux servers. The new user appears in the userlist. all access rights are assigned to user groups. new users have no media (notification method). In user group properties. In the new popup. This user will have read-only access to Linux servers group. By default. In Zabbix. To grant user rights. . To create one. Email settings Initially. new user has no permissions. This opens group properties. then click Save in the user properties. but leave all of them enabled for now. Click on Email in the list of pre-defined media types. You can also customise severities for which the media will be active. Zabbix has several predefined notification delivery methods (media types). click Add in the Media section. Click Add .

Monitoring default Zabbix server Open Configuration → Hosts to see the list of currently defined hosts. If the host is not monitored. 4.if agent and server daemons are running properly. According to the details. 0 Comments 4. That's it. The host should be successfully created. but now we want to add another one. There will be one pre-defined host. When done.8. Move groups from the right hand side box to the left hand side box and the opposite until you are satisfied with the result. SMTP email is used as the From address for outgoing e-mails. That should show a high level configuration overview of this host. For passive Zabbix agent monitored hosts IP address should be defined. choose one of the groups you added your new host to. then mark checkbox next to Template_Linux entry (assuming the newly added host is running Linux) and click on Select. Monitoring an agent-enabled host The section provides details about monitoring a host which has Zabbix agent running. Zabbix server . the effect of using a template should be that this new host now has entities from Template_Linux . spaces and underscores are allowed. Click on Create host . Now you have media type “Email” defined. Monitoring a different server Open Configuration → Hosts to see the list of currently defined hosts. you will see single enabled host.3 or later.3. Note that Zabbix agent daemon must have Zabbix server IP address specified in its configuration file Server directive.let's verify that. Groups Host must belong to at least one host group. Other options will suit us with their defaults.8. In the Group dropdown. IP address Enter the IP address of the host. click on Not monitored in the Status column and confirm the popup. we don't have to do anything else . A media type must be linked with users. As the minimum. If you are using Zabbix up to version 1. click on the Add button. host definition for our purposes should have the following defined: Host name. we will use one of the pre-defined templates as well.3. You must have the agent installed and configured properly. Host name Enter a host name here. Alpha-numericals. 4. Host must belong to at least one hostgroup. click Save . 4. If you are using Zabbix appliance version 1. Verifying current configuration . Click on Details in the upper left corner of the resulting page that should show you what actually happened. Linked templates On the right hand side block Linked templates . For a quickstart. The situation will be different depending on Zabbix version being used.2. Zabbix server . Press Save when ready. choose Templates in the Group dropdown. otherwise it will not be used.1. you will see single disabled host. the host will be monitored from now on. SMTP helo and SMTP email values.Set correct SMTP server.

which indicates which template do the entities come from. If that icon is gray. In there. click on Graph link next to any item. if any. Go to Menu→Latest data and expand some category in there. In Zabbix.move your mouse cursor over it to see the error message. there's a horizontal strip which allows to easily navigate between different entity categories of a host. By default.triggers also seem to be in place (the above screenshot only shows part of the output. triggers and graphs supposedly have been added to our new host. Zabbix entity lists are limited to 50 entries per page. you can modify this in your user profile. Looks like items have been added successfully.using the host bar above the trigger list navigate to custom graph configuration. Here we can see that some templated custom graphs are available as well. Great . Note the Template_Linux text in gray prefixing them. If the Z icon in the Status column is red.In this list we can see that several items. click on Triggers.these graphs are generated on runtime. there is some error with communication . Let's make sure that this host indeed has those items. though). and try refreshing the page later as well. Now it is time to see what information is available. To view such a graph. for all numeric items a graph can be obtained without any configuration at all . What about triggers? Looking above the item list. Click on Items next to it. . The values are being gathered and displayed along with change information. no status update has happened so far. There was also something about graphs . Check that Zabbix server is running.

5. In the upcoming popup. If the notifications don't work. Click on New in that block. Monitoring → Maps for network maps. will be replaced with trigger name and trigger status. currently visible in the Default subject and Default message fields. make sure user you created has at least read permissions on the host which generated the event. and they are changing from OK to PROBLEM state and back as situation changes. Feel free to explore other areas that display monitoring information. Monitoring → Screens for compound pages showing several elements at once. Monitoring → Dashboard for a high level overview. We also have problem conditions.1. Congratulations . Click Add in the Edit operation block. you can check out action log by going to Administration → Audit. Monitoring → Triggers for a list of currently active problems. In the most simple case. To do this. XML Import and Export 6. click Create Action . we might want to actually notify on situation changes. While we can look at the data to determine the current status. called triggers. choose the user we created before. which opens new operation configuration form.NAME} and {STATUS}. Additionally. so click Save in the Action block.and that is done in the Action operations block. After having the basic monitoring in place. Use cases: Sharing of templates or network maps Zabbix users may share configuration parameters.we are done with the simple setup of monitoring some host and sending out notifications based on problem condition definitions. Macros (or variables) {TRIGGER. 2 Comments 6. it is not feasible to do so all the time . there are no actions configured. We are done with the simple action configuration. Here. as well as data for individual items. We still should define what the action should do . In the upcoming form. and choosing Actions in the dropdown. Trigger status will be either PROBLEM or OK. then click on Select. if we don't add any conditions. respectively. Goals Zabbix Import/Export functionality is created to make possible effective exchange of various configuration entities. To create one. Integration with third-party tools . choose Single user in the Send message to dropdown.You can change the currently displayed time period using the controls above the graph. set up. enter a name for the action. Data is exported in XML format which is easy to read and modify. which we'll set up in the next section. including: Monitoring → Graphs for custom graphs. Set up notifications We have a host or several hosts monitored. Notice how the e-mail address we specified for that user will be used here. We can see simple and custom graphs. as discussed in the ”Add user” step. By default. action will be used upon any trigger change from OK to PROBLEM and vice versa. located in the upper right corner. open Configuration → Actions.which means we will want to set up notifications.

avg5]"> <color>999900</color> .0" date="11. including labels and status indicators.0</expression> <priority>3</priority> </trigger> .load[.8..load[. Map import/export Zabbix map import/export supports the following elements since version 1. Host export Menu→Configuration→Export/Import Step 1 Select elements for export We selected host “Template_Linux” and all its items and triggers. triggers. Items.3.. All connectors with associated data. 6. <graphs> <graph name="CPU Loads" width="900" height="200"> <show_work_period>1</show_work_period> <show_triggers>1</show_triggers> <yaxismin>0.8. 6. Overview Currently two main categories of configuration are supported for export . Triggers. Templates..05. 6.2: Full map configuration.0000</yaxismin> <yaxismax>100. 6.load[..2. and network maps. Host import/export Zabbix host Import/Export processes the following data: Hosts and their linkage to templates.0000</yaxismax> <graph_elements> <graph_element item="{HOSTNAME}:system.diff(0)}&gt.1</ip> <port>10050</port> <status>1</status> <groups> </groups> <items> <item type="0" key="agent.2. host groups and maps.xml.0. </items> <triggers> <trigger> <description>Version of zabbix_agent(d) was changed on {HOSTNAME}</description> <expression>{{HOSTNAME}:agent.1. The file has the following format (one element of each type is shown): <?xml version="1.avg1]"> <color>009900</color> <yaxisside>1</yaxisside> <calc_fnc>2</calc_fnc> <periods_cnt>5</periods_cnt> </graph_element> <graph_element item="{HOSTNAME}:system.2. Applications. Press button “Preview” to see list of elements to be exported: Step 2 Export data Press button “Export” to export selected elements to a local XML file with default name zabbix_export.0.2.Universal XML format makes integration and data import/export possible with third party tools and applications. including images.2.0"?> <zabbix_export version="1.. hosts.07" time="11.hosts and their associated data.cpu.version.avg15]"> <color>990000</color> <yaxisside>1</yaxisside> <calc_fnc>2</calc_fnc> <periods_cnt>5</periods_cnt> </graph_element> <graph_element item="{HOSTNAME}:system. Custom graphs.ping" value_type="3"> <description>Ping to the server (TCP)</description> <delay>30</delay> <history>7</history> <trends>365</trends> <snmp_port>161</snmp_port> <valuemap>Service state</valuemap> <applications> <application>General</application> </applications> </item> .cpu..cpu. All map elements. Exporting and importing network maps is supported since Zabbix version 1.11"> <hosts> <host name="ZABBIX Server"> <useip>1</useip> <ip>127.

x place triggers before items in the export and such data can not be imported in Zabbix 1.5. then the import will update it with data taken from the file.“Import Map”. hosts. 6. 5. Host import Menu→Configuration→Export/Import Step 1 Configure settings for data import and press “Import”. Press “Import Map” button. Wait till page reloads. If parameter Add is set for Missing element. Select file where Zabbix should store XML data with exported maps. images or any others elements related to the exported map are not exported.5. import will fail. Map export and import Map export and import is available since Zabbix version 1. 4.5. 6. Otherwise it will not add it. triggers etc.. triggers. If parameter Update is set for Existing element. hostgroups.2. showing image importing options (available since version 1. It can take some time if you have lots of maps to import or lots of hosts. Map export and import controls can be found under Configuration → Maps menu. Map exporting In left bottom corner a selection box is available with two options: “Export selected” and “Delete selected”. items should be moved in front of the triggers. then the import will add new element with data taken from the file. where all configured maps are displayed. or why it failed to import. Mark boxes next to maps you wish to export.. If such a path is desired. Check box under “Add missing” if you need to create a new map if it's missing. Thus if at least one of the elements map refers to is missing. 6. 3. Description Rules Note that Zabbix versions 1.. but this trigger has been deleted in the meantime. What is not exported? Any maps. if map refers to a specific trigger on a specific node. Zabbix frontend will inform you about import success or failure. Press on “Choose file” button to select XML file containing exported Zabbix maps.3. 3.8. Export format An example empty map export with background image from a distributed setup node: <sysmap> . 6. Otherwise it will not update it. What is exported? Only map structure is exported. You will get to a screen similar to what you see when importing hosts in Configuration→ Export/Import (Import) menu. Map importing Importing maps is as easy as exporting them. To export maps: 1.2. 6.4. That means all map settings are exported. Press button “Go”. Pay attention to the following parameters of the item: PARAMETER Import file File name of XML file.5.5. 2.. you will find new button . Select “Export selected” if it's not selected already..8. 4.4. On the top right corner near “Create Map” button.. 6.1. Map import dialogue Map import dialogue for Zabbix super admin. </hosts> </zabbix_export> 6.5. For example. Check box under “Update existing” if you need to update (overwrite) existing maps. 2. 6.8.5. Press import to send needed data to Zabbix frontend. Element defines element of XML file.6. </graphs> </host> .x. import would fail with an error message: Cannot find trigger "our_node5:Zabbix server:Disk is full" used in exported map "Small map".<yaxisside>1</yaxisside> <calc_fnc>2</calc_fnc> <periods_cnt>5</periods_cnt> </graph_element> </graph_elements> </graph> . so are the map links and map link status indicators. all contained elements with their settings are exported.3) Click on “Details” link on the left hand side to see more information about what was done by import. To import maps: 1.

trigger description and trigger expression. image itself is specified: DM setup <node>noden1</node> <name>Local Image</name> Single server setup <name>Local Image</name> To use default icon for any state.memory.last(0)}&lt. <elementid> refers to the actual Zabbix entity that is represented on the map (map/hostgroup/host etc.5.last(0)}=0 &amp. 6. Nodes <iconid_off>. {TimeHost:system.5. <iconid_unknown>. Macros can be used in labels. <node> tag will be present if the exported map comes from a distributed setup. <elementtype> describes what type of element info is stored in <elementid> node. <selementid> is a unique element id. used for map link references.1.3.memory.size[free].5. Inside icon block.last(0)}=2</expression> </elementid> <elementtype>2</elementtype> <iconid_off> <node>noden1</node> <name>Hub</name> </iconid_off> <label>New Element</label> <label_location>-1</label_location> <x>231</x> <y>122</y> </selement> <selement> is the opening tag for an element (shorthand of “System map element”).2. node for that state should be skipped in the <selement> block. skipped otherwise.5. Host group reference DM setup <node>noden1</node> <name>Local Host Group</name> Single server setup <name>Local Host Group</name> Host groups are referred to by host group name..localtime[local]. Element types and storage elementtype tag in map export can be one of the following: Value 0 1 2 3 4 Type Host Map Trigger Host group Image Host reference DM (distributed monitoring) setup <node>noden1</node> <host>LocalHost</host> Single server setup <host>LocalHost</host> Hosts are referred to by host name. Element labels <label> describes map elements labels.size[free].10000</expression> Single server setup <host>LocalHost</host> <description>Lack of free memory on server {HOSTNAME}</description> <expression>{LocalHost:vm. Map reference DM setup <node>noden1</node> <name>Local map</name> Single server setup <name>Local map</name> Maps are referred to by map name. Map elements Let's take XML excerpt of some Zabbix map element as an example: <selement> <selementid>100100000000372</selementid> <elementid> <node>noden1</node> <host>LocalHost</host> <description>DOUBLE</description> <expression>{TimeHost:system. 6. Image reference For images <elementid> node can be skipped.10000</expression> Trigger is referred to by host name.last(0)}&lt. <iconid_on>. <iconid_off> is used. <label_location> is used for positioning element's label: Value -1 0 1 2 3 Type use map default bottom left right top .5.localtime[local].5. For default icon. Trigger reference Triggers are described in a more complex way: DM setup <node>noden1</node> <host>LocalHost</host> <description>Lack of free memory on server {HOSTNAME}</description> <expression>{LocalHost:vm. <iconid_maintenance> and <iconid_disabled> describes what icons should be used for the map element according to its status.<selements> </selements> <links> </links> <name>TEST</name> <width>800</width> <height>600</height> <backgroundid> <node>aly_trunk</node> <name>Map BG</name> </backgroundid> <label_type>2</label_type> <label_location>0</label_location> <highlight>1</highlight> <expandproblem>1</expandproblem> </sysmap> 6.

It can take some time if you have lots of screens to import or lots their elements.8.individual image element <name> . Select “Export selected” if it's not selected already. . Click the button to select XML file containing exported Zabbix screens.6. 6.image type. To export screens: 1. Click on “Details” link in the left upper corner to see more detailed information about what has been done by import.last(0)}&lt.6. Wait till page reloads. it will affect all maps that are using this image. That includes all screen settings are and all screen elements along with their configuration.6.1. Check box under “Update existing” if you need to update (overwrite) existing screens. Element positioning <x> and <y> nodes are used for positioning element on the map by x and y coordinates. Example: <linktrigger> <triggerid> <node>aly_trunk</node> <host>Symmetra PX40 Clone2</host> <description>APC: Input Current (PHASE L3)</description> <expression>{Symmetra PX40 Clone2:upsPhaseInputCurrent.18</expression> </triggerid> <drawtype>0</drawtype> <color>0</color> </linktrigger> <triggerid> describes trigger used for indicating link status.2.5.15 | {Symmetra PX40 Clone2:upsPhaseInputCurrent. <drawtype> and <color> are used to indicate how link should be drawn on the map if this trigger has the highest severity from all the active triggers that are attached to this link. Linked trigger referenced the same as map element trigger. Exported data Only screen structure is exported. 3. Mark checkboxes next to screens you wish to export. 2 background <encodedImage> .. 6.4.base64 encoded image When importing.3.5.5.3. missing images can be added and existing images can be overwritten by marking appropriate checkboxes. Zabbix frontend will inform you about import success or failure..5. unique <imagetype> . 6. Screen export and import controls can be found under Configuration → Screens menu. Screen export and import Screen export and import is available since Zabbix version 1.last(0)}&gt. 3. File selection along with options to control import is shown. Select file where Zabbix should store XML data with exported screens. On the top right corner near “Create Screen” button. Map links Example: <link> <selementid1>100100000000399</selementid1> <selementid2>100100000000402</selementid2> <drawtype>0</drawtype> <color>00AA00</color> <linktriggers> </linktriggers> </link> <selemetid1> and <selementid2> nodes are used to specify map elements that link connects.8. Check box under “Add missing” if you need to create new screen if it's missing. or why it failed to import. 6. 6. 4. <drawtype> defines default link style: Value 0 2 3 4 Style line bold line dot dashed line <color> specifies what the default link colour is. To import screens: 1. Press “Import Screen” button. 4. Press import to send needed data to the Zabbix frontend. <linktriggers> contains information about link status indicators. where 1 icon.L3. 2. 2. 5.5. Used tags: <images> . Screen importing Importing screens is as easy as exporting them. where all configured screens are displayed. Images Image import/export is supported since Zabbix version 1.6. 6.ErkJggg==</encodedImage> </image> </images> Value for the <encodedImage> tag is truncated in the above example. If exported map is using any images.L3. It is possible to import images only by unchecking both map checkboxes.6.“Import Screen”. Image importing is only available to users of Zabbix Super Admin type.root element for images <image> . An example of how an exported image might look like: <images> <image> <name>Server (small)</name> <imagetype>1</imagetype> <encodedImage>iVBORw0KGgoAA.image name.5.5. Screen exporting In left bottom corner a selection box is available with two options: “Export selected” and “Delete selected”. It is possible to export and import used images alongside maps.2. you will find new button . they are stored in the resulting XML file.6. Screen import form 6. Press button “Go”. Warning: if replacing an existing image.

if higher than 1. <width> . with: Cannot find trigger "child_node5: ZBXHost:DOUBLE CHECK" used in exported screen "Link Screen" 6.6. if applicable.8.if higher than 1. 1 . 2 .7. <width>. <style> . <resourcetype> . XML format .bottom.middle.6. <dynamic>. Resource type 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Graph Simple graph Map Plain text Hosts info Triggers info Server info Clock Screen Triggers overview Data overview URL History of actions History of events Status of hostgroup triggers System status Status of host triggers Description 6. 1 . for example.rows.columns.screen elements Available screen elements and their IDs. <screens> <screen> <name>Screen name</name> <hsize>1</hsize> <vsize>2</vsize> <screenitems> <screenitem></screenitem> . node will always be identified by name: <node>Zabbix node</node> For example.load</key_> </resourceid> Individual object references are listed at each element.6. Additional tags: <resourceid> .vertical align: 0 . 2 . Normal text . <rowspan> . <dynamic> . sets count of columns to merge (to the right).2.6.6.amount of rows to show.tag available for all elements.left. 6. vsize . <height>. import will fail. Additional tags: . Not exported data Anything included in the screen itself (like a host.element location on screen table by Y axis (cell of the upper left corner).load</key_> </resourceid> In a distributed setup. Available <resourceid> contents: <host>Zabbix host</host> <name>Graph name</name> 6. screenitem . it can have subtags.screen definition Screen export consists of screen definition itself and any additional elements. <colspan> . <elements> . If there are additional tags available for the specific element. Additional tags: <resourceid> . they are listed here.top. XML format .6..Graph (by name). as per the table above. <screenitem></screenitem> </screenitems> </screen> </screens> name .allows to apply the element to different hostgroups and/or hosts. depends of resource type.6. if applicable.cpu.6. if applicable.cpu. Data overview Resource type 10. Clock Resource type 7. XML format .6. XML format . If <resourceid> refers to an object by name.5.screen name.8. <x> .right.8. Available <resourceid> contents: <name>Linux servers</name> 6. Server time (1). Additional tags: <width>.individual screen element details. it becomes: <resourceid> <node>Zabbix node</node> <host>Zabbix server</host> <key_>system.4. Italic text . if any of the referenced elements is missing. When importing a screen.8. if applicable. <height>.element location on screen table by X axis (cell of the upper left corner). <style> .centre.Local time (0).4.tag optionally available for some elements (see below for details).1. If data is exported from a distributed setup installation.available element tags Bold text .3.8. A-Z Each individual element must have mandatory tags from the previous section and may have tags that are available for all elements.meaning depends on resource type.individual screen items.horizontal align: 0 . History of actions Resource type 12.element's width in pixels.6. <valign> .mandatory tag for all elements.element's height in pixels. Graph Resource type 0. described below. if applicable. <resourceid> . 6.6. hostgroup or any other data) is not exported.. <height> . <y> . 6. 6. sets count of rows to merge (down). hsize .identifies resource. Simple graph <resourceid> entry from a non-distributed setup would look like this: <resourceid> <host>Zabbix server</host> <key_>system.identifies element type.Host group (by name). <halign> .

9.number of rows to show.8.8.if set.6. Plain text Resource type 3. Additional tags: <resourceid> .6. in the lower right cell. 6.6. XML export example The following is a simple screen (2×2). <style> .8. Additional tags: <resourceid> .8.<elements> .6. 6. Additional tags: <resourceid> . Status of host triggers Resource type 16.8.6.load</key_> 6. Available <resourceid> contents: <name>aaa</name> 6. traffic</name> </resourceid> <width>1000</width> <height>100</height> <x>0</x> <y>0</y> <colspan>2</colspan> <rowspan>0</rowspan> <elements>0</elements> .Host group (by name).8. Available <resourceid> contents: <host>Zabbix server</host> <key_>system. It contains one custom graph in upper left cell (spanning two columns).10.0" encoding="UTF-8"?> <screens> <screen> <name>Excellent screen</name> <hsize>2</hsize> <vsize>2</vsize> <screenitems> <screenitem> <resourcetype>0</resourcetype> <resourceid> <host>Zabbix server</host> <name>CPU Load &amp. filtered for a hostgroup.load</key_> 6.cpu. History of events Resource type 13. Additional tags: <resourceid> . Additional tags: <resourceid> . Hosts info Resource type 4. No additional tags available.number of rows to show. HTML code will rendered for in item data that contains strings.11.12.16.8. <dynamic>.Host (by name).8. Available <resourceid> contents: <host>aleksei_host</host> 6.8.8. Additional tags: <resourceid> .9. Status of hostgroup triggers Resource type 14.6.8.Host group (by name). Triggers overview Resource type 9. <?xml version="1. Available <resourceid> contents: <name>aaa</name> 6. exported to XML. 6. Additional tags: <url> . 6.14.Item (by key).8.Host group (by name).6.. Additional tags: <elements> .5.8.6. URL Resource type 11. Notice the encoding of & as &amp.6. <elements> .7. Map Resource type 2. Additional tags: <resourceid> .fully qualified or relative URL.15.8.number of rows to show. Available <resourceid> contents: <name>aaa</name> 6. No additional tags available.6.6. Available <resourceid> contents: <name>Application servers screen</name> 6.6. System status Resource type 15. Additional tags: <resourceid> . Triggers info Resource type 5.Zabbix map (by name).17.Host group (by name). Screen Resource type 8.cpu. <elements> . Available <resourceid> contents: <name>City map</name> 6. <dynamic>. one simple graph in the lower left cell and trigger status element.6. Available <resourceid> contents: <name>Linux servers</name> 6.Screen (by name).Item (by key).13. Server info Resource type 6. Additional tags: <resourceid> .amount of rows to show.6.amount of rows to show. 6. Simple graph Resource type 1. <elements> .6. Available <resourceid> contents: <host>Zabbix server</host> <key_>system.

questions to the monitored host.conf Step 2 Add a new item for monitoring of a log file. It is assumed that a host is configured already in ZABBIX frontend. Step 1 Write a script or command line to retrieve required parameter. Pay attention to the following parameters of the item: PARAMETER Type Key Type of information Update interval (in sec) Must be set to ‘ZABBIX Agent (active)’. Test this parameter by using zabbix_get utility. Step 4 Add new item for monitoring. Remote commands This tutorial provides step-by-step instructions how to setup remote execution of pre-defined commands in case on an event. Normally must be set to 1 second in order to get new records as soon as possible. For example. Remote command may contain macros! Description Syntax of remote commands: .3. Make sure that parameter Hostname matches host name of the host configured in Zabbix frontend. Must be set to ‘log[file<. queries. Description 7. for example. 7. Tutorials This section contains step-by-step instructions for most common tasks.regexp>]’. Add new item with Key=mysql. Follow standard instructions in order to install and configure agent on monitored host. Step 1 On Zabbix agent. Also make sure that parameter DisableActive is not set in zabbix_agentd. we may write the following command in order to get total number of queries executed by a MySQL server: mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S" When executed. Monitoring of log files This tutorial provides step-by-step instructions how to setup monitoring of log files. In zabbix_agentd. Make sure that the file has read permissions for user ‘zabbix’ otherwise the item status will be set to ‘unsupported’.questions is an unique identifier. Must be set to ‘log’. Otherwise Zabbix won't accept them.<valign>0</valign> <halign>0</halign> <style>0</style> <dynamic>0</dynamic> </screenitem> <screenitem> <resourcetype>1</resourcetype> <resourceid> <host>Zabbix server</host> <key_>zabbix[uptime]</key_> </resourceid> <width>500</width> <height>90</height> <x>0</x> <y>1</y> <colspan>0</colspan> <rowspan>0</rowspan> <elements>0</elements> <valign>0</valign> <halign>0</halign> <style>0</style> <dynamic>0</dynamic> </screenitem> <screenitem> <resourcetype>14</resourcetype> <resourceid> <name>Linux servers</name> </resourceid> <width>500</width> <height>100</height> <x>1</x> <y>1</y> <colspan>0</colspan> <rowspan>0</rowspan> <elements>25</elements> <valign>0</valign> <halign>0</halign> <style>0</style> <dynamic>0</dynamic> </screenitem> </screenitems> </screen> </screens> 7.2. Extending Zabbix Agents This tutorial provides step-by-step instructions how to extend functionality of Zabbix agent. Each line must contain an command for remote execution. 1 Comment 7.mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S" mysql. Add the command to zabbix_agentd. the command returns total number of SQL queries. enable remote commands. Zabbix agent will filter entries of log file by the regexp if present. It is assumed that Zabbix is configured and operational.d/apache restart. For example: host:/etc/init.1. The parameter defines how often ZABBIX Agent will check for any changes in the log file. Step 3 Restart Zabbix agent. Step 2 Configure new action by going to Configuration → Actions and choosing operation type Remote command. Restart agent daemon if changing this parameter. Step 1 Configure Zabbix agent.conf make sure that parameter EnableRemoteCommands is set to 1 and uncommented. Pay attention to the following parameters of the action: PARAMETER Action type Remote command Must be set to 'Remote command'. Agent will reload configuration file. log[/var/log/syslog. Be aware that type of returned values must be set correctly on Zabbix server. For example: log[/var/log/syslog]. Step 2 Add this command to agent's configuration file. It can be any string.questions.conf: UserParameter=mysql.error]. Type of the item must be either Zabbix Agent or Zabbix Agent (active).

Normally a scenario is defined for one particular part of functionality of a WEB application. if I wanted to monitor the “workstation” service then my service would be lanmanworkstation. execute as root: # visudo Example lines that could be used in sudoers file: # allows 'zabbix' user to run all commands without password. Goals Zabbix WEB Monitoring support is developed with the following goals: Performance monitoring of WEB applications Availability monitoring of WEB applications Support of HTTP and HTTPS Support of complex scenarios consisting of many steps (HTTP requests) 9. The data is automatically used for graphs. triggers and notifications. value type Integer.2. To configure access. set environment variable http_proxy for Zabbix server user. Overview Zabbix provides effective and very flexible WEB monitoring functionality. The application must exist. which will be periodically executed by Zabbix server.d/apache restart Remote commands in Zabbix < 1.02 on Linux . Zabbix does not check if a command has been executed successfully Access permissions Make sure that user 'zabbix' has execute permissions for configured commands. Example 1 Restart of Windows on certain condition. The scenario may have the following steps: 1. All cookies are preserved during execution of a single scenario. For example. In the General tab you should see a field called Service name. Supported values: “on”. Scenarios are very convenient way of monitoring user experience. WEB Scenario is periodically executed and consists of one or more Steps. The following information is collected per each step of WEB scenario: Response time Download speed per second Response code Zabbix also checks if a retrieved HTML page contains a pre-defined string. 9. Zabbix agent executes commands in background. Logout If a step cannot be performed. WEB Scenario is linked to a host application for grouping.4. Parameter Application Name Update interval Agent Description WEB scenario will be linked to this application. Examples: Server restart: host:IPMI reset on. we have to login. The name will appear in Monitoring → Web For example: Zabbix GUI How often this scenario will be executed. zabbix ALL=(ALL) /etc/init. value mapping Windows service state. For example: Opera 9. “off” or number (1. by default). Zabbix WEB monitoring supports both HTTP and HTTPS. execution of scenario fails. Go to Status of Triggers screen 4. Step 2 Add item for monitoring of the service Add item with a key service_state[lanmanworkstation]. define the following actions: PARAMETER Action type Remote command 'Remote command' host:c:\windows\system32\shutdown. For example: Zabbix Server Name of the WEB scenario. Go to Overview screen 3.4 they are limited to 255 characters. http_proxy=http://proxy_ip:proxy_port.4 are limited to 44 characters. Syntax of IPMI remote commands: REMOTE COMMAND <host>:IPMI <ipmi control> [value] <group>#IPMI <ipmi control> [value] Description The syntax is for execution of IPMI command on a single host. WEB Scenario Scenario is set of HTTP requests (steps).1. Login 2. To use HTTP proxy. zabbix ALL=NOPASSWD: ALL # allows 'zabbix' user to restart apache without password. “power”. <group>#<command> Command 'command' will be executed on all hosts of host group 'group'. It is assumed that ZABBIX server and ZABBIX agent are configured and operational. Supported ipmi controls: “reset”. One may be interested in using sudo to give access to privileged commands.REMOTE COMMAND <host>:<command> Description Command 'command' will be executed on host 'host'. For example. Monitoring of Windows Services This tutorial provides step-by-step instructions how to setup monitoring of Windows services. 9. Server reboot: host:IPMI power off The syntax is for execution of IPMI command for all hosts of a host group. For example: 60 Zabbix will pretend to be the selected browser. WEB Monitoring 9. Step 1 Get service name You can get that name by going to the services mmc and bring up the properties of the service you want to monitor it's up/down status. Description 7. Useful for monitoring of WEB sites which generate different content for different WEB browsers.exe –r –f Replace 'host' with Zabbix hostname of Windows server. The value that follows that you put in the brackets above.3. in seconds. check how quickly Overview and Status of Triggers screens work and then logout. Example 1 Monitoring of Zabbix GUI If we want to monitor availability and performance of Zabbix GUI. In order to automatically restart Windows in case of a problem detected by Zabbix. The module periodically executes WEB scenarios and keeps collected data in the database. in Zabbix >= 1.

e.Step. The information will be sent as is.test. Actual scenario and step names will be used instead of “Scenario” and “Step” respectively.5. it will be replaced by its value when the step is executed. Navigate to Configuration → Web.test.Status Active: active scenario. For example: id=2345&userid={user} If {user} is defined as a macro of the WEB scenario. Open Configuration → Hosts.Step] Type: integer Response time for step 'Step' of scenario 'Scenario' Response code for step 'Step' of scenario 'Scenario' Web monitoring items are added with 30 day history retention and 90 day trend retention periods.in[Scenario. If empty. Otherwise this step fails. it will NOT be executed List of macros to be used in configuration of the steps. any status code is accepted. This step is not required if you already have a suitable application. For example: Homepage of Zabbix List of HTTP status codes to be considered as success.test. provides right content and how quickly it works. Parameter Name URL Name of the step. if any. We will add a new scenario for monitoring of Zabbix Web interface.. Example 1 Trigger “Zabbix GUI login is too slow” The trigger expression can be defined as: {zabbix: web. Step 2 Add new Web scenario. 9. this step fails. First we login with our user name and password. Item key: web. In the application section.bps] Type: float This item will collect information about response time of the step in seconds. We want to know if it is available. 0 is returned. For example: {user}=guest {password}=guest Steps of the scenario. Zabbix automatically adds the following items for monitoring and links them to the selected application. Zabbix will not spend more than 2 x Timeout seconds on the step. Therefore. Step 1 Add new host application.210 Description Post Timeout Required Status codes As soon as a step is created.. it will be executed Disabled: disabled scenario.zabbix.time[ZABBIX GUI. For example: 15 The string (given as POSIX regular expression) must exist in retrieved content. Item key: web. The scenario will execute number of steps.bps]}.test. Item Description This item will collect information about download speed (bytes per second) of the whole Download speed for scenario scenario.fail[Scenario]}.test.time[Scenario.bps] Type: float Failed step of scenario 'Scenario' This item keeps number of failed step of the scenario.test. Real life scenario Let's use Zabbix Web Monitoring for monitoring of Zabbix Web interface. then click on Applications next to the host you want to use for web monitoring. These items can be used to create triggers and define notification conditions.Step] Type: float This item will collect response codes of the step. Steps are executed in a pre-defined order.last(0)#0 Do not forget to replace the Scenario with real name of your scenario. If empty. Variables Steps As soon as a scenario is created. any content will be accepted. click Create application.zabbix.last(0)<10000 Do not forget to replace the Scenario with real name of your scenario. . WEB Step Step is basically a HTTP request. These items can be used to create triggers and define notification conditions.in[Scenario. Actual scenario name will be used instead of “Scenario”.4. For example: 200. Syntax: {macro}=value The macro {macro} will be replaced by “variable” in Step's URL and Post variables. You may also want to create a host if one does not exist.Login]}.rspcode[Scenario. Actually this parameter defines maximum time for making connection to the URL and maximum time for performing an HTTP request. Click on Select next to the Application field and choose the application we just created. Item Download speed for step 'Step' of scenario 'Scenario' Description This item will collect information about download speed (bytes per second) of the step. If retrieved status code is not in the list.com [http://www. If all steps are executed successfully. i. Example 1 Trigger “WEB scenario failed” The trigger expression can be defined as: {host: web.test. 'Scenario' Item key: web. Zabbix automatically adds the following items for monitoring and links them to the selected application. Example 2 Trigger “WEB application is slow” The trigger expression can be defined as: {host: web.in[Scenario.fail[Scenario] Type: integer Web monitoring items are added with 30 day history retention and 90 day trend retention periods. then click Create scenario button.com] HTTP POST variables. Do not spend more than Timeout seconds for execution of the step. select a host. average for all steps. Item key: web. For example: Login URL For example: www. Item key: web.test.last(0)>3 9.

{user} and {password}. Additionally. Profile link appears in the upper right corner. Example string for logging into Zabbix frontend: name=Admin&password=zabbix&enter=Enter If using the macros as in this example.for example.php file. . and only further steps may check for logged-in features. Web scenario step 4 Now that we have verified that frontend is accessible. login step must use full URL to index. returns with HTTP response code 200 and contains text SIA Zabbix. we check for a string that is only visible when logged in . click Add . we should now verify the fact. Note that Zabbix frontend uses JavaScript redirect when logging in. All the post variables must be on a single line and concatenated with & symbol.Note that we also created two macros. {user} and {password}. To do so. we can log in and retrieve logged-in content.otherwise Zabbix database will become polluted with lots and lots of open session records. Web scenario step 1 We start by checking that the first page responds correctly. login string becomes: name={user}&password={password}&enter=Enter Web scenario step 3 Being logged in. Step 3 Define steps for the scenario. we should also log out . Web scenario step 2 We continue by logging in the Zabbix frontend. Click on Add button in the Steps section to add individual steps. thus first we must log in. When done configuring the step. and we do so by reusing the macros (variables) we defined on the scenario level.

The number of bytes already analyzed (the size counter) and the last modification time (the time counter) are stored in the Zabbix database and are sent to the agent. All files matching the filename format in the provided directory are analyzed every cycle the agent tries to get the next line from the log (for logrt). then there should not be directory “file”. since it is not possible to unambiguously define whether ”."UTF-8". For example: log["/home/user/file.1. An item used for monitoring of a log file must have type Zabbix Agent (Active)."pattern_to_match". to make sure it starts reading the log file from this point. Whenever the log file becomes smaller than the log size counter known by the agent.100] or logrt["/home/user/filelog_. 2. the counter is reset to zero and the agent starts reading the log file from the beginning taking the time counter into account."pattern_to_match".Final step configuration The final web scenario step configuration should look like this: Step 4 Save the finished web monitoring scenario.log". Log File Monitoring 10. Overview Zabbix can be used for centralized monitoring and analysis of log files with/without log rotation support. Special note for “\” path separators: if file_format is “file\.100] The last one will collect data from files such “filelog_abc_1” or “filelog__001”.log”. How it works Monitoring of log files requires Zabbix Agent running on a host. The agent starts reading the log file from the point it stopped the previous time.” is escaped or is the first symbol .3}". Zabbix Agent does not send more than maxlines of a log file per second. then the agent will read lexicographically the smallest one. Notifications can be used to warn users when a log file contains certain strings or string patterns.*_[0-9]{1. The list of applications and linked scenarios will appear in Monitoring → Web: Click on the scenario name to see more detailed statistics: 2 Comments 10.<pattern>. its value type must be Log and key set to log[file. Zabbix Agent processes new records of a log file once per Refresh period seconds.<pattern>.<encoding>. The limit prevents overloading of network and CPU resources and overrides the default value provided for MaxLinesPerSecond parameter in the configuration file of the agent."UTF-8".<max lines>] or logrt[path to log file with filename format. If there are several matching files with the same last modification time in the directory.<encoding>. Important notes: The server and agent keep a trace of the monitored log's size and last modification time (for logrt) in two counters.<max lines>] .

2. Zabbix generates the following events: Event Service Up Service Down Host Up Host Down Service Lost Host Discovered Host Lost When generated Every time Zabbix detects active service.60-70 IP range Delay (in sec) Checks Uniqueness criteria may be: Device uniqueness IP address (no processing multiple-IP devices) criteria One of discovery check of the rule. Zabbix will use this list of checks for discovery of hosts and services. If host is lost after being up. Simplify administration Properly configured network discovery can simplify administration of Zabbix system a lot.55. SMTP. Goals There are several goals of Zabbix network discovery module: Simplify deployment Network discovery can be used to significantly simplify and speed up Zabbix deployment. and generate discovery event or several events. IP.192. etc) Information received from Zabbix agent Information received from SNMP agent It does NOT provide: Discovery of network topology Every service and host (IP) checked by Zabbix network discovery module generates events which may be used to create rules for the following actions: Generating user notifications Adding and removing hosts Enabling and disabling hosts Adding hosts to a group Removing hosts from a group Linking hosts to a template Unlinking hosts from a template Executing remote scripts The actions can be configured to respect host or service uptime and downtime. 4. Every time Zabbix cannot detect service.0/24 List: 192. we discover a host or a service. Discovery 1. Service Discovered If the service is back after downtime or discovered for the first time.1. SNMPv1 Agent. Events generated by network discovery module have Event Source “Discovery”.of the file name.168. Discovery Zabbix periodically scans IP ranges defined in network discovery rules. IMAP.1. Each rule defines set of service checks to be performed for IP range. HTTP. POP.168.1.168.168. its status.192. up/down time.2.2 IPv4 addresses are still processed by located fping. Real life scenario Suppose we would like to setup network discovery for local network having IP range of 192. Support of changing environments Network discovery makes possible use of Zabbix in rapidly changing environments with no excessive administration. 11.168. TCP.255. If Zabbix server is compiled with IPv6 support and fping6 utility is missing.3. It may have the following formats: Single IP: 192.1. SNMPv3 Agent Parameter Ports may be one of following: Single port: 22 Range of ports: 22-45 List: 22-45.5. Will be based either on a SNMP or Zabbix Agent check. Status Active – the rule is active and will be execute by Zabbix server Disabled – the rule is not active. Range of IP addresses for discovery.1192. 11. How it works Network discovery basically consists of two phases: Discovery and Actions. “Local network”.1-255.0/24 This parameter defines how often Zabbix should execute this rule.200. ZABBIX Agent.168.3.3. Only from 1. For a description of all operations available for network discovery based events see operations. Actions For a description of all conditions available for network discovery based events see action conditions. WEB.168. ICMP checks will fail for IPv4 devices as well. LDAP. SSH.2. List of supported checks: SSH.1-255 IP mask: 192. 0 Comments 11. Then we process the events and apply certain actions depending of type of discovered device. IMAP. NNTP. First. 11. Parameters of network discovery rule: Parameter Name Description Name of the rule. Network discovery rule Network discovery rule is a rule used by Zabbix to discover hosts and services.8. It also makes possible creation of user friendly appliances.33 Range of IP addresses: 192. SNMPv2 Agent.1-100. If the service is lost after being up. If host is back after downtime or discovered for the first time. TCP. For example. Frequency of the check is configurable for each rule individually.1. If at least one of the services is UP for the IP. etc. POP3. 4 Comments 11.192.4.168. FTP. Zabbix network discovery is based on the following information: IP ranges Availability of external services (FTP. 2. It won't be executed.4. If all services are not responding. Overview Zabbix provides effective and very flexible network discovery functionality.1. In our scenario we want to: discover only hosts having Zabbix Agent running run discovery every 10 minutes add host for monitoring if host uptime is more than 1 hour remove hosts if host downtime is more than 24 hours use Template_Windows for Windows hosts use Template_Linux for Linux hosts add Linux hosts to group “Linux servers” add Windows hosts to group “Windows servers” .168.

12. link Windows boxes to Windows_Template.168. Step 4 Define an action for removing lost servers. Advanced SNMP Monitoring 1. Linux boxes to Linux_Template. Zabbix will automatically start discovery and generation of Discovery based events for further processing.255 by connecting to Zabbix Agents and getting value from system.1. Step 3 Define an action for adding newly discovered Windows servers. Zabbix will automatically start monitoring of the host using items and triggers from “Template_Linux”.1. A value received from an agent can be used to apply different actions for different operating systems.uname (Zabbix Agent's key we used in rule definition) contains “Linux” Uptime is more than 1 hour (3600 seconds) The action will execute the following operations: adds newly discovered host to group “Linux servers” (also adds host if wasn't added previously) links host to template “Template_Linux”.Step 1 Define network discovery rule for our IP range.uname key. The rule will be executed every 10 minutes (600 seconds). For example.1-192. Step 2 Define an action for adding newly discovered Linux servers. The action will be activated if: service “Zabbix Agent” is Up value of system. When the rule is added. Special OIDs . A server will be removed if service “Zabbix Agent” is Down for more than 24 hours (86400 seconds).168. Zabbix will try to discover hosts in IP range of 192.

14.Some of the most used SNMP OIDs are translated automatically to a numeric representation by Zabbix. An estimate of the interface's current bandwidth in bits per second.1.2.2.5 1.1.2.. including those that were discarded or not sent.1. ifIndex.5.2.2.2.6.13 ifInErrors 1. IPMI agent's IP address.1.1.3.1. Also.0 is translated to 1. 13.2.broadcast or subnetwork-multicast) packets delivered to a higher-layer protocol.1.2.1.1.2.6.19 no errors had been detected to prevent their being transmitted.. Use of Proxies Zabbix Proxies may greatly simplify maintenance of Zabbix environment and increase performance of the central Zabbix server.3.3. distinguished according to the physical/link protocol(s) immediately `below' the network layer in the protocol stack."GigabitEthernet0/1"] Parameter base OID of data index base OID of index Base OID to use for data retrieval."<string to search for>"] For example.1.2."ifDescr".1.2.2. One possible reason for discarding such a packet could be to free up buffer space. 1.2.5376 HOST-RESOURCES-MIB::hrSWRunPath.6 1.6. IPMI actions Two types of actions can be defined: automatic actions.3.2.1.3.. A textual string containing information about the interface. etc).1.5391 HOST-RESOURCES-MIB::hrSWRunPerfMem. Using dynamic indexes leads to more SNMP queries in Zabbix versions up to 1.1.2.2.18 The number of outbound packets which were chosen to be discarded even though 1..1.3.3.1.6.4 1.2. to get the ifInOctets value for the GigabitEthernet0/1 interface on a Cisco device. The interface's address at the protocol layer immediately `below' the network layer in the protocol stack.1.6.2.1. shutdown. etc). the product name and the version of the hardware interface. 13. Goals There are several goals of Zabbix IPMI monitoring: Monitoring of health and availability of IPMI devices Remote IPMI based management functions Remote restart.2.15 ifOutOctets ifOutNUcastPkts ifOutDiscards ifOutErrors ifOutQLen 1.2. 1. The total number of octets transmitted out of the interface.1.2.3. Use of dynamic indexes Dynamic indexes are supported since Zabbix version 1.2. ifInDiscards 1.1.2..7.14 ifInUnknownProtos 1.6. The current administrative state of the interface.2.2.5377 HOST-RESOURCES-MIB::hrSWRunPath. "/usr/sbin/apache2"] .5392 = = = = = = = INTEGER: INTEGER: INTEGER: INTEGER: INTEGER: INTEGER: INTEGER: 528 KBytes 528 KBytes 31468 KBytes 31740 KBytes 32116 KBytes 30420 KBytes 32560 Kbytes Dynamic indexes are cached since Zabbix version 1.2."<base OID of index>".7. port number.1. Dynamic index lookup and data retrieval is performed in single connection since Zabbix version 1. Description string to search for The string is used for exact match with a value when doing lookup. The size of the largest datagram which can be sent / received on the interface. HOST-RESOURCES-MIB::hrSWRunPath.2.11 The number of subnetwork-unicast packets delivered to a higher-layer protocol.3.1.5388 HOST-RESOURCES-MIB::hrSWRunPerfMem.2.1.1. Description 1.3.1. The number of inbound packets which were chosen to be discarded even though no errors had been detected to prevent their being deliverable to a higher-layer protocol.2.1.2.2.6. The syntax: <base OID of data>["index".2.8 A unique value for each interface.6.1 1.3.6. In order to use IMPI monitoring.2.5389 HOST-RESOURCES-MIB::hrSWRunPerfMem.1.2.1. Monitoring of IPMI devices 13.2.3.2.1.2. Another example.5389 . 1."HOST-RESOURCES-MIB::hrSWRunPath". including framing characters.1.1.1.2.3.2 1. = = = = STRING: STRING: STRING: STRING: "/sbin/getty" "/sbin/getty" "/usr/sbin/apache2" "/sbin/sshd" Now we have index.1. halt.1. Special OID ifIndex ifDescr ifType ifMtu ifSpeed ifPhysAddress ifAdminStatus ifOperStatus ifInOctets ifInUcastPkts ifInNUcastPkts Identifier 1.1.6.1.6.6.2.e.1.1. The current operational state of the interface.17 1. 1.12 The number of non-unicast (i.1.1.3.2.3. use the following OID: ifInOctets["index".1.2.1.1. getting memory usage of apache process: HOST-RESOURCES-MIB::hrSWRunPerfMem["index".20 The number of outbound packets that could not be transmitted because of errors.6.2.2.2. can be executed manually from ZABBIX GUI See corresponding sections of the Manual for more details.3.2.2. The total number of packets that higher-level protocols requested be transmitted to a subnetwork-unicast address.1.3.1. 2.2.1.1. See configuration of hosts for more details.3.This string should include the name of the manufacturer.1. ifIndex is translated to 1.0.1.1.2.2.2.2. use of Zabbix Proxies is the easiest way of implementing centralized and distributed monitoring.5377 HOST-RESOURCES-MIB::hrSWRunPerfMem. Sun hardware.6.3. 14.1.6.10 The total number of octets received on the interface.1. Method of processing.1.6.1.2.2.3.2. a host must be configured to process IPMI commands. subnetwork.6. A special syntax for item OID can be used in order to deal with dynamic data (random IDs of network interfaces.1. The type of interface.1.1.6.1.5388 HOST-RESOURCES-MIB::hrSWRunPath. which are executed automatically IPMI scripts.1.1. 5388. Why use Proxy? Zabbix Proxy can be used for many purposes: .3. Case sentitive. The number of packets received via the interface which were discarded because of an unknown or unsupported protocol.3. One possible reason for discarding such a packet could be to free up buffer space.1.3 1. IMPI parameters ZABBIX IPMI monitoring works only for devices having IPMI support (HP iLO. when all Agents and Proxies report to one Zabbix server and all data is collected centrally.2. and other commands can be executed either automatically or manually from ZABBIX front-end.2.1. 13. user name and password must be configured properly. The number of inbound packets that contained errors preventing them from being deliverable to a higher-layer protocol. The table contains list of the special OIDs. Currently one method is supported index – search for index and append it to the base OID The OID will be used to make a lookup for the string.2.6.1.5390 HOST-RESOURCES-MIB::hrSWRunPerfMem.2.2. specified in octets.1. including framing characters.3.6.6.7 1.2.5376 HOST-RESOURCES-MIB::hrSWRunPerfMem.6.1.2.1.2. The index will be appended to the Data OID in order to receive value we are interested in: HOST-RESOURCES-MIB::hrSWRunPerfMem.1.2.21 The length of the output packet queue (in packets). For example.2.

1. When communication is back. Configuration of Nodes . Hierarchical monitoring This is for monitoring of complex multi-level environments. Configuration 15. Distributed Monitoring Zabbix can be configured to support hierarchical distributed monitoring.1. Goals There are several goals of the distributed monitoring: Get control of whole monitoring from a single or several locations Zabbix administrator may control configuration of all Nodes from a single Zabbix WEB front-end. 3. several considerations must be taken into account. Each Node is responsible for monitoring of its own Location.2.2. Hierarchical distributed monitoring allows having tree-like structure of Nodes. when there are no connectivity between Master and Child Node. Configuration 3. All Nodes may work even in case of communication problems. Lightweight GUI Node No Proxy Yes Works Easy independently maintenance No Yes Automatic Ready for One way Local Centralised Generates DB embedded TCP administration configuration notifications creation hardware connections No Yes Yes No No Yes Yes Yes No Yes Yes No Yes Yes No Yes 3. 1. 15.e. Node When making a choice between use of a Proxy or a Node. Monitoring a host by a proxy Every host can be monitored either by Zabbix Server or by Zabbix Proxy. Proxy v. Zabbix supports up-to 1000 (one thousand) Nodes in a distributed setup. Configuration of the whole distributed setup can be done from a single location via common WEB interface. Historical information and events are stored locally.3. the Proxy will perform gathering of performance and availability data for the host. Offload the overhead from busy Zabbix server Monitoring thousands of hosts using single Zabbix server? This may be for you! 15. Configuration of Child Nodes can be done in off line mode. Managing proxies Zabbix proxy management screen can be accessed by opening Administration → DM and choosing Proxies from the dropdown in the upper right corner. Node can be configured either locally or by its Master node which has a copy of configuration data of all Child Nodes.3. Each Node has its own configuration and works as a normal Zabbix Server.2.s. This is configured in host definition screen: If a host is configured to be monitored by a Proxy. Opening proxy properties also allows to select which hosts should be monitored by that proxy. Child Nodes will optionally send the data to Master Node. 15. The data will be collected by the Proxy and sent to Zabbix Server for further processing. Each proxy also has last time listed when it contacted the server (either to send in new data or because of the heartbeat connection).Offload Zabbix Server when monitoring thousands of devices Monitor remote locations Monitor locations having unreliable communications Simplify maintenance of distributed monitoring 14. Each Node reports to its Master Node only. Proxies can be created and deleted here. No restart of any Node required. Monitor large complex environments This is especially useful when monitoring several geographical locations. New Nodes can be attached to and detached from the Zabbix distributed setup without any loss of functionality of the setup. Overview Zabbix provides effective and reliable way of monitoring distributed IT infrastructure. i.

. Simple configuration Our simple configuration consists of a Central Node and a Child Node.. Zabbix automatically converts time stamps to local timezone when transferring time related data across nodes... done.168. In file zabbix_server.. Central Node will have total control over configuration of Child Node. Zabbix trapper must be listening on this port number.2... install Zabbix frontend and binaries.. Child Node will report to central node events.. This should be executed only once.. history and trends.. We should see NodeID in startup messages of server log file: 31754:20070629:150342 server #16 started [Node watcher. Step 5 Add child node... Port: 15052 For Central Node Step 1 Install Zabbix...... Zabbix won't keep trends of the node longer than N days. while Child Node's NodeID=2..... Central Node IP: 192. Unique Node ID.. Step 2 Setup NodeID in server configuration file..... Node ID:1] For Child Node Step 1 Install Zabbix.. Default is 10051. Node IP address. For non local trend data only.... This option is not required to start Zabbix server! Step 4 Configure Node parameters... Description 15..conf Converting tables ...... Step 6 Start Master Node... Central Node will have NodeID=1...Parameters of a Node: Parameter Name Id Type Time zone IP Port Do not keep history older than (in days) Do not keep trends older than (in days) Unique node name. cd bin ... For non local historical data only... Step 2 Setup NodeID in server configuration file. Zabbix server has to be executed to convert unique IDs for use by first node../zabbix_server -n 1 -c /etc/zabbix/zabbix_server..3. Follow standard installation instructions to create database.5. Zabbix won't keep history of the node longer than N days.168.conf: NodeID=2 . Follow standard installation instructions to create database. install Zabbix frontend and binaries....2.. Zabbix trapper must be listening on this IP address.conf: NodeID=1 Step 3 Convert database data.. Node Port number.. In file zabbix_server. Port: 10051 Child Node IP: 192.3...3. Conversion completed...... Local – Local node Remote – Remote node Time zone of the Node....

. Step 6 Start Child Node./zabbix_server -n 2 -c /etc/zabbix/zabbix_server. ...... done... This should be executed only once.. Each Node may be configured either locally (using local WEB interface) or from one of its Master Nodes... Zabbix server has to be executed to covert unique IDs for use by first node... Conversion completed..... We should see NodeID in startup messages of server log file: 27524:20070629:150622 server #9 started [Node watcher.3....3....conf Converting tables ......Step 3 Convert database data........... Step 5 Add master node.. This option is not required to start Zabbix server! Step 4 Configure Node parameters. Node ID:2] Does it work? Selection of active nodes will appear automatically after nodes are defined: Add host for monitoring for Child Node node and see events coming to Master Node: 15........... More complex setup The setup consists of seven Nodes.... cd bin ..............

Zabbix does not send configuration of a Master Node to Childs. 8. Data flow Source port Destination port 10051 10051 Child to Master Any Master to Child Any This is default port used by Zabbix trapper process. 6.7. 15. Make sure that all IP addresses and port numbers are correct. Sending of Events and History can be controlled by configuration parameters NodeNoEvents and NodeNoHistory. Riga (node 4) will collect events from all child nodes. You may see the following messages in server log file: . Data flow 15. Zabbix front end must be installed and configured. Master Node must be powerful enough to process and store not only local data but also data received from its all Child Nodes. Trends are calculated locally based on received historical data. Child Node will resend data in case of communication problems. Step 2 Configure zabbix_server.In this example. It may also optionally collect historical information as well. Switching between nodes When connecting to a node in distributed setup.2.7. Additional steps Step 1 Follow standard installation procedure. For example..sql. 16. Zabbix database must be created and populated with data from data. item-related information (last check. It may be practical to use less powerful hardware with ZABBIX Server running SQLite or MySQL MyISAM while nodes of higher levels may use combination of a better hardware with MySQL InnoDB. Performance considerations Any node requires more processing resources in a distributed setup. Zabbix node will automatically start configuration and data exchange with all nodes in distributed setup. 15. Oracle or PostgreSQL backend. Step 4 Start Zabbix Node.5.. Firewall settings Inter-node communications use TCP protocol only.. Configuration of a single Node Every Node in distributed environment must be properly configured to have a unique Node ID. Events History Every 10 seconds.3. Also child nodes can be installed without ZABBIX frontend. Child to Master Each Child Node periodically sends configuration changes.1. Zabbix does not send operational data across the nodes. Maintenance mode for Zabbix GUI .7./zabbix_server If everything was configured properly. Network communications must be also fast enough for timely transfer of new data. 4. last value.. Follow standard installation procedure but do not start Zabbix Server. Use Zabbix Frontend to configure details of Nodes having direct communication with the Node.conf. Data Frequency Configuration changes Every 120 seconds. Step 3 Configure Master and Child Nodes. Start Zabbix Server: shell> . 15. etc) exists only locally. 15. Add NodeID to Zabbix Server configuration file. Every 10 seconds. Master to Child Each Master Node (a node with at least one child) periodically sends configuration changes to Child Nodes either directly or via other Child Nodes directly connected to the Master Node. All information available in the GUI belongs to the selected node. NodeID must be a unique Node ID. It displays current node. Platform independence A node may use its own platform (OS. historical data and events to its Master Node. hardware) and database engine independently of other nodes. Data Frequency Configuration changes Every 120 seconds. a list of available child nodes is accessible in right-upper corner of the GUI.7. 11656:20061129:171614 NODE 2: Sending data of node 2 to node 1 datalen 3522738 11656:20061129:171614 NODE 2: Sending data of node 2 to node 1 datalen 20624 .

16. Creating your own theme By default. into directory styles/. The file you created.'.css. Original code: $cmbTheme = new CComboBox('theme'. There are two pieces of code that have to be amended. Parameter ZBX_DENY_GUI_ACCESS Details Enable maintenance mode: 1 – maintenance mode is enabled. $cmbTheme->AddItem('css_new.css'. // MSG showed on Warning screen! $_REQUEST['warning_msg'] = 'Zabbix is under maintenance. For example. you must add the constant used for name in locale files . The screen is refreshed every 30 seconds in order to return to normal state withiout user intervention when maintenance is over. Open this file for editing. css_new.3. Step 3 Edit include/forms.0.1). $cmbTheme->AddItem(ZBX_DEFAULT_CSS. thus protecting integrity of database. triggers. file conf/maintenance.Zabbix GUI can be temporarily disabled in order to prohibit access to the front-end. // IP range. You may follow this step-by-step procedure in order to create your own. $cmbTheme->AddItem(ZBX_DEFAULT_CSS.S_BLACK_AND_BLUE). Note that original themes use constants.css'. search for css_bb. Step 2 Place the new CSS file into correct location.css.css'. 16. you may take Black&Blue CSS file from styles/css_bb.css.1.$theme).php.1'). ZBX_GUI_ACCESS_IP_RANGE For example: 192.S_SYSTEM_DEFAULT). 17. This can be useful for protection of Zabbix database from any changes initiated by users.0.conf.$theme).S_SYSTEM_DEFAULT). Step 1 Create your own CSS file. but the new example uses string (enclosed in apostrophes). items.1-255 warning_msg Informative message. Configuration In order to enable maintenance mode.css'.php must be modified to uncomment the following lines: // Maintenance mode define('ZBX_DENY_GUI_ACCESS'.css'. Zabbix database can be stopped while Zabbix GUI is in the maintenance mode.2.css and create new css_new. $cmbTheme->AddItem('css_ob.1. $cmbTheme->AddItem('css_ob.S_BLACK_AND_BLUE). You should not omit apostrophes. The file can be based on existing CSS files coming with Zabbix.in that case make sure to prefix it with S_.1.inc. WEB Interface There are several useful features of ZABBIX WEB interface: almost all screens support full-screen mode Ctrl + Mouse click make possible selection of multiple list elements (hosts.S_ORIGINAL_BLUE). as that will result in warnings. If you want your theme name to be translatable. Modified code: $cmbTheme = new CComboBox('theme'. Goals There are several goals of the maintenance mode: Protect Zabbix database from any changes initiated by users Perform database maintenance Inform users about reason of the maintenance work Users from a range of IP addresses will be able to work with the GUI during the maintenance mode normally Automatic return to normal mode when maintenance is over 16. who allowed to connect to FrontEnd $ZBX_GUI_ACCESS_IP_RANGE = array('127. . $cmbTheme->AddItem('css_bb. $cmbTheme->AddItem('css_bb. disabled otherwise Connections from these IP addresses will be allowed with no maintenance mode.S_ORIGINAL_BLUE). Zabbix provides number of predefined themes. How it looks like The following screen will be displayed while in maintenance mode. Feel free to share result of your work with Zabbix community if you created something nice. etc) sound alarm can be switched on and off in Status of Triggers view a new theme can be created to match your preferences or a company color schema 17.'MY_COOL_THEME').168.

Status of the scenario: Active – the scenario is active Disabled – the scenario is disabled. Unique name of the WEB scenario.1. MS Explorer or any other application. Status of the scenario: Active – the scenario is active Disabled – the scenario is disabled. 2. 2. It has the following format: {macro1}=value1 {macro2}=value2 For example: username=Alexei password=kj3h5kJ34bd The macros can be referenced as {username} and {password}. Step 5 Activate new theme.3.1. Configuration 2. List of steps executed by the scenario: Name – step name Timeout – timeout URL – location to connect to Required – required string Status – step status Description Variables Steps 2. WEB step configuration The screen is used to define parameters of each individual step of the WEB scenario. In Zabbix GUI.1.php file: $combo_theme->addItem('css_new. Frequency of execution of the WEB scenario. Description Number of steps Number of individual steps (HTTP requests) the scenario consists of. .1. Displayed data: Parameter Name Update interval Status Unique name of a WEB scenario. List of variables (macros) that can be used in scenario steps (URL and Post variables). you may either set this theme to be a default one or change your theme in user profile. Note that disabled scenarios are not displayed by default. Note that disabled scenarios are not displayed by default. Frequency of execution of the WEB scenario.'MY_COOL_THEME'). Client agent string. Zabbix will pretend that it is Firefox. WEB scenarios configuration The screen is used to define parameters of an individual WEB scenario. Configuration parameters: Parameter Application Name Update interval (in sec) Agent Status Host application the scenario is linked to. WEB The screen can be used to manage monitoring of WEB scenarios. Useful when WEB site returns different content for different browsers.css'.Step 4 You should also add your new theme to the config. List of WEB scenarios It provides list of active WEB scenarios. Enjoy new look and feel! 2 Comments 2. Zabbix will automatically replace them with actual values.2.1.

Required string.google. If Zabbix gets a code which is not in the list. Host mass-update screen The screen is accessible by selecting hosts and clicking on button “Mass update”. Retrieved content (HTML) must contain this string.com] List of POST variables.201. Host Status: Monitored – Host is active and being monitored Disabled – Host disabled Description Agent (Zabbix. GET variables can be passed in the URL parameter.com] https://www.com [https://www. .2. Description List of expected HTTP codes.Configuration parameters: Parameter Name URL Post Timeout Required Unique step name. no check is performed. Hosts The screen is used to manage host related information.210-299 2. Zabbix will not spend more than Timeout second on processing the URL. It is ignored by Zabbix if no agent used. Zabbix Agent port number.zabbix. For example: http://www. no check is performed. If empty.1.zabbix.2. SNMP) availability: Availability Available – agent is up and running Unknown – agent is not available Error Any errors related to use of agent based checks. Host DNS name if used. It is a very effective way of changing attributes for a number of hosts. List of templates linked to the host. Status codes If empty.google.com [http://www. For example: 200. otherwise the step will fail. Displayed data: Parameter Name DNS IP Port Templates Status Unique host name. List of Hosts The screen provides a list of monitored hosts. URL to connect and retrieve data. the step will fail. Host IP address if used. Hosts 2.

but preserve information about items. Port number of the IPMI device. Templates The screen is used to manage host templates. The host can be monitored either by Zabbix Server or one of Proxies: (no proxy) – host is monitored by Zabbix Server Proxy name – host is monitored by Proxy “Proxy name” Host status: Monitored – Host is active. List of host groups the host belongs to.Host configuration The screen give access to host details. if empty. Information about items. Configuration parameters: Parameter Name Groups New group DNS name IP address Connect to Port Monitored by proxy Status Unique host name. Enable or disable use of extended Host profile. Description Link with template Use IPMI IPMI IP address IPMI port IPMI privilege level IPMI username IPMI password Use profile Use extended profile 2. Unlink – unlink from template. New group can be created and linked to the host. Enable or disable use of Host profile. IP address of IPMI management device. Ignored. List of Templates The screen provides list of templates. Default value is 10050. Keep default setting here. Optional host IP address.2. triggers and graphs will be inherited from the templates. Optional host DNS name. Password for authentication. Zabbix server will use this setting to retrieve data from agents: DNS name – Connect to host DNS name IP address – Connect to host IP (recommended) Zabbix agent TCP port number. User. ready to be monitored Not monitored – Host is not active.2. triggers and graphs Unlink and clear – unlink from template and remove all information inherited from the template Enable IMPI management functionality for this host. thus not monitored Link host with one or more templates. . User name for authentication.

Displayed data: Parameter Name Unique Proxy name. if empty. triggers and graphs will be inherited from the templates.2.3. List of host groups the template belongs to. New group can be created and linked to the template. Ignored. Templates List of hosts linked to this template. Information about items. Description . Link template with one or more templates. List of Proxies The screen provides list of proxies. Template configuration The screen give access to template details. Proxies The screen is used to manage proxies.Displayed data: Parameter Name Description Template name. Configuration parameters: Parameter Name Groups New group Link with template Unique template name. Description 2.

Host group configuration The screen provides access to host group details. Host groups The screen is used to manage host groups.4.Last seen (age) Last time we received a heart beat message or data from the Proxy. Members List of hosts monitored by this Proxy. The screen provides list of host groups. Displayed data: Parameter Name # Members Description Host Group name. Configuration parameters: Parameter Description Proxy name Unique Proxy name. 2. Number of group members (hosts). List of Host Groups. Hosts List of hosts monitored by this Proxy. List of host group members. Proxy configuration The screen gives access to proxy details.2. Configuration parameters: .

Description Configuration of application The screen give access to management of applications.5. Configuration parameters: Parameter Name Hosts Description Application name. Show Link to host items.3. Hosts List of hosts linked to the template. Items The screen is used to manage item related information. . also displays number of items (members of the application). 2. Displayed data: Parameter Description Description Item description (name).3. Displayed data: Parameter Description Templates Host template name. Configuration parameters: Parameter Template Hosts Description Template name. List of Applications The screen provides list of applications.6.2.2. Template linkage The screen is used to manage host template linkage.Parameter Description Group name Unique host group name. Items 2. Displayed data: Parameter Application Application name. Applications The screen is used to manage applications. Template linkage The screen give access to management of host template linkage. List of Templates The screen provides list of template and linked hosts. Hosts List of hosts. Must be unique within one host.1. members of the group. List of hosts linked to the template. 2. Host name the application is linked to. 2. List of Items The screen provides list of items linked to a host.

5KB unixtime – translated to “yyyy. Type of data as stored in the database after performing conversions. Any errors related to this item. additionally supported prefixes include: P (Peta). default multiplier is 1000. G (Giga). 1-5. enter new value and press “Save”. Until version 1. Bps. For example: 10 sec. if units are set to B. it is for displaying data only. etc into B. Not supported – item is not supported by Zabbix or SNMP agent. Multiply all received value by this integer or floating-point value. parameter is treated as number of seconds. Refresh this item every N seconds. and special processing is used for units B. hh:mm:dd”. It works with integer items only. special processing for bits. time. Do not use . the smallest Delay value is used for the overlapping period. Older data will be (in days) removed by Housekeeper.8. Triggers The screen is used to manage triggers. The key value must be supported by an agent or Zabbix server. This item will not be processed. and the rest of the line.active (normal) status. Item type. avg. See more details about items in other sections of the Manual.hh:mm-hh:mm. s – translated to “yyymmmdddhhhmmmsss”.8. minutes or secondsare shown). second. Disabled – item is disabled.Monday. “Windows service states”.8.1000 is 1K. if any.09:00-18:00. Item configuration The screen provides access to configuration of a single item. parameter is treated as number of seconds since 01/01/1970.fs. max. where multiplier is 1024. the description will be automatically changed to “Free disk space on /” Item type. List of Triggers The screen provides list of triggers linked to a host. 1-5. If there are no weeks to display.09:00-18:00 – refresh set to 10 seconds for working hours. Zabbix will process this item. Since version 1. Select hosts you would like to copy items and press “Copy”. where value – current value value_prev – previously received value Apply value mapping to this item. however Zabbix may try to periodically set status of such items to Active if configured.free]”. Status Active . T (Tera). It is very effective way of changing attributes of a number of items. bps .2.dd-dd. Click on a parameter you would like to change.do not pre-process received values Custom multiplier – multiply received values by value defined in Custom multiplier Use this option to convert values received in KB. Zabbix Agent (active). Decimal – data in decimal format Octal – data in octal format Hexadecimal – data in hexadecimal format Zabbix will automatically perform conversion to numeric.dd hh:mm:ss” uptime – translated to “hh:mm:ss” or “N days.10:00-12:00 1 . Otherwise default update interval will be used. Delta (simple change) – evaluate as (value-prev_value). only is shown “1m5d” (no hours. For example. Note that “p” and ”:” chars are just placeholders and can be anything other than “yMdhms”. Must be set for keys log[]. Store value Show value Log time format Applications Link item to one or more applications. then follow date.4. Copy selected to… The screen makes possible copy of a selected item to a number of hosts.…$9 – first. Triggers 2. Displayed data: . like 1m3w5d or 2h4m46s.045 Zabbix Agent started. if key type is Zabbix Agent. Till Zabbix 1.8.7 . Zabbix will add prefix if required and the unit postfix to all received values.8.Key History Trends Type Status Applications Error Unique item key. Supported placeholders: * y: Year (0001-9999) * M: Month (01-12) * d: Day (01-31) * h: Hour (00-23) * m: Minute (00-59) * s: Second (00-59) Leaving this field blank means don't try to parse the timestamp.2. See sections below for detailed description of each type. Text – text of unlimited size The data type is used for integer items in order to specify expected data type. count) detailed history for N days in the database.1. Simple check. If set.” It begins with six character positions for PID. Older data will be removed by Housekeeper. Item key. where value – current value value_prev – previously received value time – current timestamp prev_time – timestamp of previous value This setting is extremely useful to get speed per second based on constantly growing value. Zabbix 1. Item mass-update screen The screen is accessible by selecting items and clicking on button “Mass update”. Available for items of type Log only. It may contain this macros: $1. M and G). List of exceptions for Update Interval. Item status.6-7. This item will not be processed. Number of days Zabbix keeps detailed historical data. For example. Only 3 upper major units are shown. Since Zabbix 1.mm.2 (revision 11211).size[/.hh:mm-hh-mm For example. E (Exa). Numeric (unsigned) – 64bit unsigned integer Numeric (float) – floating point number Character – character (string) data limited to 255 bytes Log – log file. If multiple flexible intervals overlap. Period format: dd-dd. Pre-process received values. Z (Zetta). Otherwise Zabbix cannot correctly set prefixes (K. This is supported starting from version 1. List of applications the item belongs to. Item attributes: Parameter Description Item description.1 Zabbix supports the following unit prefixes: K (Kilo). …. The key must be unique within a single host. Number of days Zabbix keeps trends data. MBps.8. M (Mega). and some units have special processing: b.… ninth parameter of item key For example: Free disk space on $1 If item key is “vfs.2. For example. Zabbix will display: 1 as 1B 1024 as 1KB 1536 as 1. default multiplier is 1024. Log time format for this line would be “pppppp:yyyyMMdd:hhmmss”. Update interval Frequency of the check. Y (Yotta).4. Value mapping does not change received values. Description Type Key Type of information Data type Units Use multiplier Custom multiplier Update interval (in sec) Flexible intervals Keep history (in days) Keep trends Keep aggregated (hourly min. consider the following line from Zabbix agent log file: ” 23480:20100328:154718. As is – no pre-processing Delta (speed per second) – evaluate value as (value-prev_value)/(time-prev_time).$2.Sunday Keep detailed history for N days in the database. 2. or Zabbix aggregate.

Graph width in pixels. Graph type: Normal – normal graph. Exploded – exploded pie graph. Description Graph type Show working If selected. Operations List of operations for execution. Actions 2. May contain instructions for fixing specific problem. Type: . Actions The screen is used to manage actions. simple triggers will be displayed as red lines. Type of Y axis: Calculated – Y axis value will be automatically calculated Calculated [min=0] – Y min value is set to 0. More configuration options are available if escalation is enabled: See more details about configuration of actions.1. Text field used to provide more information about this trigger. enter new value and press “Save”. (Left) Percentile line Display percentile for right Y axis. contact detail of responsible staff. Normal – events are generated normally. Select hosts you would like to copy items and press “Copy”. Graphs The screen is used to manage custom graphs.8. Description Trigger status. Description See also more information about triggers. Trigger configuration The screen provides access to configuration of a single trigger. Graph height in pixels. List of Actions The screen provides list of actions. Percentile line Display percentile for left Y axis. Status Status of the action. 2. Note that Disabled triggers are hidden by default. Trigger can be disabled if required. Trigger mass-update screen The screen is accessible by selecting triggers and clicking on button “Mass update”. on trigger status change Normal + Multiple PROBLEM events (Multiple TRUE events in 1.2 and before) – events are also generated on every PROBLEM evaluation of the trigger Trigger severity. 2. Click on a parameter you would like to change. Action configuration The screen provides access to configuration of a single action.6.5. Normally used for displaying 95% percentile. the URL is used in the screen 'Status of Triggers'. Graph height in pixels. maximum value will be automatically calculated. Copy selected to… The screen makes possible copy of a selected trigger to a number of hosts. If not empty. Graphs 2. It is very effective way of changing attributes of a number of triggers. non-working hours will be shown with gray background. conditions and operations in other sections of the Manual. Displayed data: Parameter Name Description Action name. List of triggers the trigger depends on. Trigger attributes: Parameter Name Expression The trigger depends on New dependency Event generation Severity Comments URL Disabled Trigger name. (Right) Comments Text field used to provide more information about this trigger. For Pie graphs only. Expression Trigger expression. contact detail of responsible staff. The name may contain macros. etc.Parameter Severity Status Name Coloured trigger severity. Display legend.5. Y axis type 3D view Legend Items Graph element: Attributes of a graph element: Parameter Parameter Description Selection of host item. etc.6. For Pie graphs only. Displayed data: Parameter Name Width Height Description Graph name. Graph width in pixels. time Show triggers If selected. Fixed – fixed min and max value for Y axis. Enable 3D style.1. List of graph elements (items) to be displayed for this graph. Logical expression used for calculation of trigger state. Graph attributes: Parameter Name Width Height Unique graph name. List of Graphs The screen provides list of graphs. values displayed as lines. Trigger name. Add new dependency. Normally used for displaying 95% percentile. Conditions List of conditions for this action. Graph type: Normal Graph type Stacked Pie Pie exploded Graph configuration The screen provides access to configuration of a single custom graph. Pie – pie graphs. May contain instructions for fixing specific problem. Stacked – stacked graph. which will be displayed.

Displayed data: Parameter Name Width Height Description Map name Map width in pixels. same way as HTML column spanning works.8.8.7. Screen high-level attributes: Parameter Description Information displayed in the cell: Clock – digital or analog clock displaying current server or local time Data overview – latest data for a group of hosts Graph – single custom graph History of actions – history of recent actions History of events – latest events Hosts info – high level host related information Map – single map Plain text – plain text data Screen – screen (one screen may contain other screens inside) Server info – server high-level information Simple graph – single simple graph Triggers info – high level trigger related information Triggers overview .no icon labels are displayed Display icon label on: Bottom – bottom (under the icon) Left – left side Right – right side Top – top of the icon Icon label type Icon label location Map configuration (configuration of map elements) The screen provides access to configuration of map icons and links. .7.1. round background will be used. square highlighting background will be used. Screen configuration (high-level) The screen provides access to configuration of a single screen. Maps 2. Number of columns in the screen. having Icon same colour as the highest severity trigger. average and maximum) Min – minimum only Avg – average only Max – maximum only Draw style: Line – draw lines Filled region – draw filled region Bold line – draw bold lines Dot – draw dots Dashed line – draw dashed line RGB color in HEX notation. 0 will be processed first. host group or another map) has a single problem. List of Maps The screen provides list of maps. Draw order. Map configuration (high-level) The screen provides access to configuration of a user-defined screen. Screen high-level attributes: Parameter Name Columns Rows Description Unique screen name. For upgrades from previous installations it is enabled by default on all maps. number of columns and rows.8.8. Expand single problem If a map element (host. same way as HTML row spanning works. This option is available since Zabbix 1. This option is available since Zabbix 1. If marked. List of Screens The screen provides list of screens.Type Simple Aggregated What values will be displayed. used when more than one value exists for a single pixel (Xcoordinate): All – all (minimum. this option controls whether problem (trigger) name is printed. Screens 2. Map height in pixels. 2. Screens The screen is used to manage screens. Parameter Name Screen name. Function Draw style Color Aggregated periods count Y axis side Sort order (0→100) What Y axis side the element is assigned to. host name) Status only – status only (OK or PROBLEM) Nothing . Number of rows in the screen.1.status of triggers for a host group URL – include content from an external resource Possible values: Center Left Right Possible values: Middle Top Bottom Extend cell to a number of columns. List of map elements (icons): List of links: Configuration of map element The screen provides access to configuration of a single map element. No scaling is performed. Label type used for all map icons: Label – icon label only IP address – IP address only Element name – element name (for example. Map height in pixels. Click on a screen element (cell) to change what information should be displayed in the screen cell. or problem count. Map width in pixels. Maps The screen is used to manage user-defined maps. Description Use background image: Background No image – no background image (white background) image Image – selected image to be used as a background image. Map high-level attributes: Parameter Name Width Height Unique map name. If element has an active trigger. Extend cell to a number of rows. problem name is used. If element status is “disabled” or “in maintenance”. Description Dimension (cols x rows) Screen size. Resource Horizontal align Vertical align Column span Row span 2. Screen configuration (screen elements) The screen provides access to configuration of a single screen giving access to configuration of all elements.1. Map elements will receive highlighting.

Icon to be used when no problem exists. Service times: One-time downtime – a single downtime. How to calculate status of the service: Do not calculate – do not calculate service status Problem. It is used for reporting. all service operates 24x7x365. It is used for reporting. NNTP.1. SNMPv1 Agent. Icon to be used if the selected host is disabled. Status of the discovery rule: Active – the rule is active Disabled – the rule is disabled Discovery rule configuration The screen provides access to configuration of a discovery rule. Discovery 2.10. Services of the lowest level must be linked to triggers. Trigger IT Service configuration The screen provides access to configuration of IT services. SMTP. List of triggers linked to the link. By default.168.168. HTTP. X coordinate for the map element.10. thus depends on the trigger status Description Status calculation How the service updates its status. Second element that link connects. Format: Single IP: 192. This parameter may be one of following: Single port: 22 Description IP range Delay (seconds) Checks New check . any string.168.9. its style is applied to the link. Status of all triggers of this host group will be used.1-255.9. the URL will be used when an user clicks on the screen element.200 This parameter defines how often Zabbix should execute this rule in seconds. Who performs discovery: (no proxy) – Zabbix Server is doing discovery proxy name – This proxy performs discovery Range of IP addresses for discovery. IT Services 2. Parent service. If set. Icon to be used in case of problems (one or more). Add new service times to make exceptions.192. Frequency in seconds. Macros and multi-line string can be used in labels starting from version 1. List of IT Services The screen provides list of IT Services.2. POP.8 Label location: Default – Map's default label location Bottom – bottom (under the icon) Left – left side Right – right side Top – top of the icon Status of triggers of this hosts will be used. it cannot be changed. First element that link connects. Displayed data: Parameter Name IP range Delay Checks Status Description Name of discovery rule. Displayed data: Parameter Service Service name. For reference only. LDAP. lowest comes first. Linked to a trigger: none – no linkage trigger name – linked to the trigger. List of checks executed by the discovery rule.1-100. Default link style: Line – single line Bold line – bold line Dot – dots Dashed line – dashed line Default link colour. Status of this triggers will be used. FTP. Configuration of a link The screen provides access to configuration of a link. Type (OK) Colour (OK) 2.168. SNMPv3 Agent SLA percentage for this service. Display sort order.1. Service state within this period does not affect SLA.168. IT Service attributes: Parameter Name Parent service Depends on Status calculation algorithm Calculate SLA Acceptable SLA (in %) Service times New service time Link to trigger Sort order Service name.192. List of supported checks: SSH.1. List of discovery rules The screen provides list of discovery rules.1. SLA percentage for this service. In case if a trigger has status PROBLEM. Status of all elements of this map will be used.1-255 List: 192. IT Services The screen is used to manage IT Services. Type Label Label location Host Map Trigger Host group Icon (ok) Icon (problem) Icon (disabled) Coordinate X Coordinate Y URL Icon (unknown) Icon to be used in case of problems (one or more). Description 2. Map link attributes: Parameter Label Element 1 Element 2 Link status indicators Description Label that will be rendered on top of the link.33 Range of IP addresses: 192. TCP. if it least one child has a problem – consider problem if at least one child service has a problem Problem. if all children have problems – consider problem if all children have problems Select to display SLA data.1.Map element attributes: Parameter Description Type of the element: Host – icon representing status of all triggers of the selected host Map – icon representing status of all elements of a map Trigger – icon representing status of a single trigger Host group – icon representing status of all triggers of all hosts belonging to Image – just an icon not linked to any resources Icon label. List of child services the service depends on. You can use macros here. Discovery The screen is used to manage discovery rules. Zabbix Agent. Discovery rule attributes: Parameter Name Discovery by proxy Unique name of the discovery rule.2. SNMPv2 Agent. IMAP. Uptime – service uptime Downtime – Service state within this period does not affect SLA. Range of IP addresses affected by the discovery rule. Y coordinate for the map element.

11. items. Image attributes: Parameter Name Type Upload Description Unique name of an image.1. Default is 100. Description Templates Select to export template related information. 3.1.1. Host status. Value mappings are used for representation of data in both Zabbix front-end and information sent by email/jabber/SMS/whatever. Select to export host items. Configuration parameters: Parameter Do not keep actions older than (in days) Do not keep events older than (in days) Description This parameter defines how many days of executed actions (emails. For example.60-70 Status of the discovery rule: Active – the rule is active Disabled – the rule is disabled Status 2. Discovery rule attributes: Parameter Description Import file XML file to import. 1 Comment 3. Export The screen provides list of hosts and their elements for export. Select to export host triggers.2. Set of rules for each type of element: Existing – what to do if element already exists Missing – what do to if element is missing Possible actions: Update – update existing element Add – add element Skip – do not process new data Rules Press “Import” to import selected file. Images List of images Image definition Zabbix images are stored in the database.55. Select elements you would like to export. however images bigger than 1. etc) history Zabbix will keep in the database. This parameter defines for how many days event are displayed in Status of Triggers screen. There are two types of images: Icon Background Icons are used in for displaying System Map elements. Administration 3.3. Housekeeper The Housekeeper is a periodical process which is executed by Zabbix Server. 3. Host DNS name. Older events will be removed. JPEG) to be uploaded to Zabbix Note that you may upload image of any size. Import The screen is used to perform XML import of host related data.1. Value mapping definition .1. triggers and graphs. Backgrounds are used as background images of System Maps.1. which are used to customize look and feel of Zabbix front-end.4.1. jabber. Configuration parameters: Parameter Event acknowledges Show events no older (Days) Mac count of events per trigger to show Description This parameter defines if event acknowledges are activated in Zabbix interface.1. Export/Import 2. Themes Zabbix support themes. Value mapping Value maps are used to create a mapping between numeric values and string representations. Older actions will be removed. An user may override the default theme in user profile.11. Export The screen is used to export hosts. then press “Preview” or “Export”. Zabbix agent port number. SMS. This parameter defines how many days of events history Zabbix will keep in the database.Port Single port: 22 Range of ports: 22-45 List: 22-45. Increase value of max_memory_size in php. Displayed data: Parameter Name DNS IP Port Status Items Triggers Graphs Host name. IP address of Zabbix agent. Select to export host graphs.5. Events This screen defines event related settings. Default is 7 days. The process removes outdated information and information deleted by user. General 3.2. Preview page: 2.11. Maximum number of event to show for each trigger in Status of Triggers screen. an item which has value ‘0’ or ‘1’ can use value mapping to represent the values in a human readable form: ‘0’ ‘1’ ‘Not Available’ ‘Available’ Value mapping can be used only for items having type ‘Unsigned integer’.5MB may not be displayed in maps. 3. 3. Either Icon or Background Name of local file (PNG. Possible parameters: Parameter Default theme Description Theme used for all users.ini if you have this problem. Default theme is “Original blue”.

Access to GUI. Zabbix LDAP authentication works at least with Microsoft Active Directory and OpenLDAP. i.ou=system Password for binding to the LDAP server. The user is ignored by Zabbix. The watchdog will send notifications to a user group in case if the database is down. Proxies check unsupported items every 10 minutes.… . LDAP The screen can be used to enable external LDAP authentication.1.dd-dd.3. Working time is displayed as a white background. Displayed data: Parameter Alias Name Surname User type Groups Is online? GUI Access Description User short-name.com Port of LDAP server. User name. User surname.hh:mm-hh:mm. 3. Zabbix can be configured to periodically make unsupported items active. 3.ou=system uid uid=Admin. a special Zabbix server process. however his Zabbix password will not be used. The user must exist in LDAP. Database watchdog Availability of Zabbix server depends on availability of back-end database very much. 2 – Tuesday . it is supported for all databases.com For secure LDAP server use ldaps protocol ldaps://ldap. List of users It provides list of users. Status Actions User configuration The screen provides user details and gives control to change user attributes. Some user groups can still be authorised by Zabbix. HTTP Authentication. Note that an user must exist in Zabbix as well. 7 – Sunday Hours: 00-24 Minutes: 00-59 Empty format is equal to 01-07.8. User group for sending alarm message or ‘None’.09:00-18:00 1-5. These groups must have GUI Access set to Internal. LDAP password of the test user. Zabbix will not activate LDAP authentication if it is unable to authenticate the test user. Users 3. The authentication will be used to check user names and passwords.2 database watchdog is supported for MySQL only. Users The screen can be used to manage Zabbix users. The Administration Tab is available to users of type Super Administrators only. Set of mappings.10:00-16:00 3. Currently this is used for graphs only.… Format dd hh mm Description Day of week: 1 – Monday.2. HTTP The screen can be used to enable Apache based (HTTP) authentication. Default is 389. 3. Database watchdog. Enable LDAP authentication. For secure LDAP connection port number is normally 636. Name of a test user. In case of Apache authentication all users (even with GUI Access set to Internal) will be authorised by Apache. .6-7. It cannot work without a database. If set to 0.2. Until Zabbix version 1. Parameter Refresh unsupported items (in sec) User group for database down message Description Zabbix will activate unsupported item every N seconds. Other Refresh unsupported items Some items may become unsupported due to errors in User Parameters or possible an item is not supported by an agent. one of following: Zabbix User Zabbix Admin Zabbix Super Admin List of all group the user belong to. Note that an user must exist in Zabbix as well. LDAP Authentication Internal – the user is authenticated by Zabbix regardless of system settings Disabled – GUI access is restricted to this user User status.09:00-18:00. Configuration parameters: Parameter Description HTTP Authentication Enabled This parameter defines if Apache based authentication is enabled. not by Zabbix! 3. Configuration parameters: Parameter LDAP Host Port Base DN Search Attribute Bind DN Bind Password LDAP Authentication Enabled Test Authentication Login User Password Description Name of LDAP server.3.Parameters of a value mapping: Parameter Name Mapping Description Unique name of set of value mappings.00:00-23:59 For example: 1-5.2. it will wait until the database is back again to continue processing.hh:mm-hh:mm. while nonworking time is displayed as grey. Be careful! Make sure that Apache authentication is configured and works properly before switching it on. For example: ldap://ldap. This is not configurable for Proxies. the automatic activation will be disabled.2.8. The authentication will be used to check user names and passwords.zabbix.7. New mapping Single mapping for addition.1. Working time Working time is system-wide parameter which defines working time. Zabbix server will not stop. is created in order to alarm Zabbix administrators in case of disaster. Is user online.1. however his Zabbix password will not be used.2.e. depends on settings of user groups: Enabled – the user is active Disabled – the user is disabled. ou=Users. depends on settings of user groups: System default – Zabbix. Since 1. Authentication 3. User type.6. login name. Working time has the following format: dd-dd.1.zabbix.

Displayed data: Parameter Description Media type: Email – email notification SMS – SMS notifications sent using serial GSM modem Jabber – Jabber notification Script – script based notification Configuration details. Defines how the GUI looks like: System Default .user must have write permission for the host to execute the script. Configuration parameters: Parameter Description Unique media name. Must be unique! User name. the rights depend on user group membership! The information is available read-only. Description Script configuration The screen provides script details and gives control to change script attributes. Zabbix user may execute a script from the front-end by clicking on host from certain screens. Set it to 0 to disable auto-logout. Read . List of all medias. The medias are used by Zabbix for sending notifications. User Groups The screen can be used to manage Zabbix user groups. Browser cookies are used for this. Media type is a delivery method for user notifications.serial device name of GSM modem Jabber – Jabber notification Jabber Identifier . Type Description Name of the media.2.name of the custom script Description 3. Media types The screen can be used to manage Zabbix media types. 3.1. Displayed data: Parameter Name Command User group Host group Host access Unique script name. List of all group the user belong to. Click on User Rights Show to display user rights.4.4. List of user groups It provides list of user groups. Details Media configuration The screen provides user details and gives control to change media attributes. depends on media type. including Administration tabs. Media types 3. System default – use default authentication Internal – use Zabbix authentication Disabled – access to Zabbix GUI is forbidden Status of group members: Users Status Enabled – users are active Disabled – users are disabled Rights Three lists for different host permissions: Read-write – host groups with read-write access Read-only – host groups with read-only access Deny – host groups with deny access Click on User rights (Show) to see what permissions the user group has: 3. Displayed data: Parameter Name Description Host group name.e. i. etc. User type. Zabbix Admin – access to Monitoring and Configuration tabs. The script is available for hosts of the host group only. List of scripts It provides list of scripts known to Zabbix.disable) User will be logouted after N seconds if inactivity. Enabled – users are active User status Disabled – all users of the group are disabled GUI Access Members Displays how the users are authenticated. login name. Language of Zabbix GUI. Type Media type: Email – email notification SMTP Server . Scripts The screen can be used to manage user-defined scripts. System default – use default authentication Internal – use Zabbix authentication Disabled – access to Zabbix GUI is forbidden List of group members User group configuration Configuration parameters: Parameter Description Group name Unique group name. List of media types It provides list of media types. Zabbix Super Admin – access to everything. Must be unique.server name SMTP Hello – Hello string. Configuration parameters: Parameter Description . Depending on permission.5.user must have read permission for the host to execute the script Write .Configuration parameters: Parameter Alias Name Surname User type Groups Media Language Theme Auto-login (1 month) URL (after login) Refresh (in seconds) Description User short-name. The scripts are executed on Zabbix Server side even for hosts monitored by a proxy. normally domain name SMTP Email – sender email address SMS – SMS notifications sent using serial GSM modem GSM Modem .3. Can be set to 0 to disable.use system settings Original Blue – standard blue theme Black & Blue – alternative theme Enable if you want Zabbix to remember you. Users GUI Access List of members of this group. The script is available to members of the user group only. How the users of the group are authenticated. Auto-logout (0 . screens. Command to be executed. It is impossible to change user rights here. plain text data. one of following: Zabbix User – access to Monitoring tab only. Refresh used for graphs. User surname.Jabber ID Password – Password of the Jabber ID Script – script based notification Script name . Make Zabbix to transfer you to the URL after successful login.

Command User group Host group Host access 3. 3. Installation The screen makes possible creation of Zabbix front-end configuration file. Description Item name. The command will run on Zabbix Server side. Error if the notification was not sent. leave translation empty Fill with default value – if something is not translated. shows statistics about local server. For each user number of notifications is displayed per each media type. which was affected: Application Graph Host Item User Performed action: Added Login Logout Removed Updated More detailed information about action.9. User name. Locale to extend New entries Select language you'd like to improve. Audit logs Displayed data: Parameter Time User Description Time stamp when an action took place. The following macros are supported here: {HOST.Name Unique script name. 3. which can be used to replace files under include/locales. Resource Action Details Audit actions The screen provides access to history of notifications and remote commands. 3.CONN} A special syntax for IPMI commands must be used: IPMI <ipmi control> [value] For example: IPMI power off The script is available to members of the user group only. Full path to a command.8. The time stamps will always be in the past. Locale selection Select locale you'd like to select for further processing. ignore it Leave empty – if something is not translated. For each Proxy and local Zabbix Server the following data is displayed: Parameter Proxy Description Proxy name or Server. Data is delayed for 1-5 minutes. Recipient(s) List of recipients. Details The view gives very detailed information about delayed items. which will be executed on user request. Audit The screen can be used to see front-end audit records and list of notifications sent to users.DNS} {IPADDRESS} For example: /bin/ping-c 3 {HOST. 3. Message Error Message used in notification. Data is delayed for 30-60 seconds. Type of executed operation: Notifications Remote command Status: Not sent Sent Status Retires left Number of retries left. Displayed data: Parameter Time Type Description Time stamp when an action took place. displayed last. Notifications This is report on number of notifications sent to each user grouped by media types. 1 Comment .10. right side consists of translated phrases. Overview For each item type the following data is displayed: Parameter Items 5 seconds 10 seconds 30 seconds 1 minute 5 minutes Item type Data is delayed for 5-10 seconds. Data is delayed for 10-30 seconds.CONN} {HOST. Description More than 10 minutes Data is delayed for more than 10 minutes. Left side is filled with default language.7. Read .user must have read permission for the host to execute the script Write . Data is delayed for 5-10 minutes. press button “Download” to have translation file.user must have write permission for the host to execute the script. Overview by proxy The view gives more detailed information about performance of Zabbix Server and Proxies.6. fill translation with default value Description Translation form This form is used to translate phrases used in Zabbix front-end. Server. Locales Locales provides functionality for easy editing of translations of Zabbix front-end. Parameters: Parameter Take for default locale The locale will be used as a base one. Queue The Queue provides information about performance of Zabbix. Once translation is ready. List of items is displayed with the following details: Parameter Description Next check Expected time stamp of next data retrieval. Do not add – if something is not translated. Host Host name. The script is available for hosts of the host group only. Object.

256Mb.4.1. 18. However. Suppose.1.1.e. keeping of MySQL temporary files in tmpfs is recommended 18.2. Pentium IV 1. General Recipes 19.0. Monitoring of server's availability At least three methods (or combination of all methods) may be used in order to monitor availability of a server.net/forum/message. and 'trends' are most heavily used tables. Keeping small update interval may be good for nice graphs. i. Doing simple calculation.5.5Ghz. Operating System Use latest (stable!) version of OS Exclude unnecessary functionality from kernel Tune kernel parameters 18. max(3600) will be calculated significantly slower than max(60).2.2. however. kernel 2. AS/400 IBM AS/400 platform can be monitored using SNMP. You want to update these parameters once in 30 seconds. Zabbix configuration parameters Many parameters may be tuned to get optimal performance.4.conf contains list of parameters that can be used for . 19. 18. How many servers can be monitored by Zabbix on the hardware. 0 at any given moment). General advices monitor required parameters only tune 'Update interval' for all items. on average. More information is available at http://publibb. IDE) is able to collect more than 200 parameters per second from servers being monitored (assuming no network delays). 'history_str. in the same time.3.ibm.nsf/RedbookAbstracts/sg244504. for large installations.keep value of this parameter as low as possible. Sending alerts via WinPopUps WinPopUps maybe very useful if you're running Windows OS and want to get quick notification from ZABBIX.2. DBSocket MySQL only. Zabbix heavily depends on availability and performance of database engine. zabbix_server StartPollers General rule . MySQL Configuration file misc/conf/zabbix_agentd. each server you monitor has ten parameters to watch for.18-14. Cookbook 19.18. In case if these parameters need to be updated once in a minute. Monitoring of Specific Applications 19. 18.1.1.54a-4.php?msg_id=2721722 [https://sourceforge. 19. 'items' 'functions'.net/forum/message.2. This is because of increased parallelism. contains minimum number of parameters (ideally. ICMP ping (Key “icmpping”) Key “status” Trigger function nodata() for monitoring availability of hosts using only active checks 19. It is recommended to use DBSocket for connection to the database.php?msg_id=2721722] . It could be good addition for email-based alert messages.23.com/Redbooks. use fastest database engine. Hardware General advices on hardware: Use fastest processor available SCSI or SAS is better than IDE (performance of IDE disks may be significantly improved by using utility hdparm) and SATA 15K RPM is better than 10K RPM which is better than 7200 RPM User fast RAID storage Use fast Ethernet adapter Having more memory is always better 18. Performance Tuning 18.1. avoid use of triggers with long period given as function argument. These calculations made in assumption that all monitored values are retrieved as soon as required (latency is 0). the hardware configuration will be able to handle 600×2=1200 servers. 19. Details about enabling of WinPopUps can be found at https://sourceforge. DebugLevel Optimal value is 3.com/Redbooks. If this is not a requirement. That is the fastest and the most secure way. Every additional instance of zabbix_server adds known overhead.2. InnoDB requires more CPU power.2. keep database tables on different hard disks 'history'. Optimal number of instances is achieved when queue. one may ask? It depends on number of monitored parameters and how often Zabbix should acquire these parameters. we see that Zabbix is able to handle 600 servers (or 6000 checks).ibm. use InnoDB table structure ZABBIX works at least 1.2. MySQL/MyISAM 3.5 times faster (comparing to MyISAM) if InnoDB is used. Database Engine This is probably most important part of Zabbix tuning.2. parallelism is increased. Example: why use system[procload].2. 18. triggers'.2. Performance tuning It is very important to have Zabbix system properly tuned for maximum performance.1. Real world configuration Server with Zabbix 1.boulder. then number of monitored servers can be increased even up to 5x-10x times.html?Open [http://publibb.html?Open].2. For example. MySQL use stable release of a database engine rebuild MySQL or PostgreSQL from sources to get maximum performance follow performance tuning instructions taken from MySQL or PostgreSQL documentation for MySQL.system[procload5] andsystem[procload15] if system[procload] contains all.1. This value can be monitored by using internal check zabbix[queue].3. this may overload Zabbix tune parameters for default templates tune housekeeping parameters do not monitor parameters which return same information.0 installed (RedHat Linux 8.2.boulder.nsf/RedbookAbstracts/sg244504.

2.mysqladmin -uroot status|cut -f2 -d":"|cut -f1 -d"T" #UserParameter=mysql[threads]. you can use the command line tool like this /<pathTo>/java -jar /<pathTo>/cmdline-jmxclient.2. See the sun docs on jconsole for details.txt.2.2.not started 1 . The agent is compatible with protocol used by Zabbix. 19. Dcom.2. e.4. Items have to be configured of type Zabbix Agent and must have keys according to the MRTGEXT documentation. for pc-linux-gnu (i686) 19.23.alive 19. there are two ways that I can grab the jmx attribute values (or effect a jmx operation).2.com/modules/xfmod/project/?mrtgext [http://forge.49. you can then turn that command into a zabbix userparm.jar <jmxusername>:<jmxpassword> <jvmhostname>:<jmxport> java.3. to use password authentication.management.6.2. the qry string is the one obtained from jconsole.password file. I can then run jconsole and see everything that is currently exposed (and to verify that I can connect properly).lang:type=Threading” With tomcat.sun. you need to configure your jvm to allow jmx monitoring.jmxremote \ 2. 19.com [http://www. I browse down through the jmx objects via jconsole. In my tomcat environment.23. Informix Standard Informix utility onstat can be used for monitoring of virtually every aspect of Informix database. mysql[slowqueries] Number of slow queries 19.file=/path/java/jre/lib/management/jmxremote. /usr/bin/curl -s -u<jmxusername>:<jmxpassword> 'http://<tomcat_hostname>/manager/jmxproxy/?qry=java.lang:type=Threading' | /bin/awk '/^PeakThreadCount\:/ { gsub( /[^0123456789]/.sun. Mikrotik routers Use SNMP agent provided by Mikrotik. (You might consider enabling ssl to make the connection more secure.8. which is part of the software.) Once that is done.mysqladmin -uroot status|cut -f5 -d”:”|cut -f1 -d"O" #UserParameter=mysql[qps]. UserParameter=jvm. If you can connect.2.mysqladmin -uroot ping|grep alive|wc -l #UserParameter=mysql[uptime].lang:type=Threading' where the jmx username and password are the ones defined in the file defined in the jvm options above. WIN32 Use Zabbix W32 agent included (pre-compiled) into Zabbix distribution. The second way is I can send well formatted requests via a jmx command line tool.mysql -V 19.jmxremote.sun. mysql[version] Version of MySQL Example: mysql Ver 11.42 and later) ### Change -u and add -p if required #UserParameter=mysql[ping]. The first way is I can use the servlet provided by Tomcat.jmxremote. JMX First of all. Dcom. See http://www. jconsole will also provide you the information you need to query specific jmx attributes from the information tab.lang:type=Threading PeakThreadCount The difference with the command line client is you need to specify the attribute you are interested in specifically. If you don't have a servlet that will allow you to make a http request to the jmx interface.ssl=false \ 4. Again.maxthreads. The output from this will be all the metrics from this jmx key.g.com/modules/xfmod/project/?mrtgext] .4. Leaving it out will give you a list of all the attributes available under Threading.port=xxxxx \ 3.novell. ### Set of parameter for monitoring MySQL server (v3. and to refer to the passwords stored in the jmxremote. Also. (Don't know what jboss has).mysqladmin -uroot status|cut -f9 d":" #UserParameter=version[mysql].2. Dcom. It is available from http://forge. Tuxedo Tuxedo command line utilities tmadmin and qmadmin can be used in definition of a UserParameter in order to return per server/service/queue performance counters and availability of Tuxedo resources.authenticate=true \ 5.2. For example: UTIL1 1 minute average CPU utilization CONNMAX Max licensed connections used VFKSys bytes free on volume Sys: Full list of parameters supported by the agent can be found in readme.monitoring of MySQL. Once you can reliably grab the data you are interested in. Zabbix can retrieve information provided by Informix SNMP agent. mysql[uptime] Number of seconds MySQL is running 19.sun.5.2.2.2.management.7. After selecting Threading.lang. "" ). mysql[ping] Check whether MySQL is alive Result: 0 .management. mysql[qps] Queries per second 19. Novell Use MRTG Extension Program for NetWare Server (MRTGEXT.management. print $1 }' or .2. Let's say I am interested in peak threads used by the system.7. Dcom. since I use Tomcat.mysqladmin -uroot status|cut -f3 -d":"|cut -f1 -d"Q" #UserParameter=mysql[questions].2.NLM) agent for Novell.16 Distrib 3.2.2.2.mikrotik. I click on the info tab. How do you know if you can do this? You can use the sun jconsole utility that comes with the jdk and point it at your machine running the jvm. Dcom. password” This tells the jmx server to run on port XXXXX.sun. 19.password. 19. find it under java.novell. and I can see the name of the mbean is “java.6. mysql[questions] Number of processed queries 19.2. I enable it by setting the following options for the jvm: 1. parse the output for the data of your choice. I can do the following: curl -s -u<jmxusername>:<jmxpassword> 'http://<tomcat_hostname>/manager/jmxproxy/?qry=java.jmxremote. mysql[threads] Number of MySQL threads 19.com] for more information.2.jmxremote.mikrotik. 19.management. Parse the output and grab the number of your choice. Now.3.2.mysqladmin -uroot status|cut -f4 -d":"|cut -f1 -d"S" #UserParameter=mysql[slowqueries].5. Threading.1. you are good.

sun.0/docs.. Troubleshooting 20.left as an exercise to the reader> That's it. Zabbix will send only one message with information about new problem. Zabbix will automatically escalate (increase escalation step) unresolved problems and execute actions assigned to each escalation step. Recovery message to all interested parties Zabbix supports unlimited number of escalation steps 2. The messages are written to log files depending on configuration parameters. 1 Comment 21.html] General Information on JMX http://java.5.jar <jmxusername>:<jmxhostname> <jvmhostname>:<jmxport> java. The media will execute a script which will send required information to OpenView. i.1.5. The media script is not given here.1. /<pathTo>/java -jar /<pathTo>/cmdline-jmxclient. Additional information: database error code database error string SQL query execution failed..org/cmdline-jmxclient/ [http://crawler. Step 4 Write media script.verviewTOC.archive.com/j2se/1. no messages will be sent on recovery.com/j2se/1. The user has to be linked with the media.lang:type=Threading PeakThreadCount | <some filter to grab just the number you need .0/docs. Zabbix executes arbitrary scripts (remote commands) Repeated notifications until problem is resolved Delayed notifications and remote commands Escalate problems to other user groups Different escalation path for acknowledged and unacknowledged problems Execute actions (both notifications and remote commands) if a problem exists for more than N hours (seconds.sun.maxthreads.e.html] Apparently the 1. Configure actions to send all (or selected) trigger status changes to the user. HP OpenView ZABBIX can be configured to send messages to OpenView server. I prefer getting my stats from the servlet via http rather than using the java command line client as it is much “lighter” to start up and grab the information. Z3004 Cannot close database: [%d] %s Z3005 Query failed: [%d] %s [%s] Z3006 Fetch failed: [%d] %s The numbered error messages are supported starting from Zabbix 1. otherwise remedy events can become escalated as well.com/j2se/1.html [http://java. Zabbix will send a single message to MySQL Administrators and a recovery message when problem is resolved.org/cmdline-jmxclient/] Information on setting up jmx monitoring for your jvms http://java. preferrably in a new table of ZABBIX database. Action conditions is defined so that it will be activated in case of any problem with any of MySQL applications.8.5 jvm also supports SNMP which provides another option. then execute OpenView command opcmsg -id application=<application> msg_grp=<msg_grp> object=<object> msg_text=<text> . Note also use of macros in the messages.. Zabbix supports wide range of macros.. Need a command line jmx client? I use the one from here: http://crawler. when the problem is resolved.. Additional information: database error code database error string SQL query string Record fetch failed. Step 3 Configure actions. Zabbix supports the following scenarios for escalations.1.. Additional information: database error code database error string Z3001 Z3002 Cannot create database '%s': [%d] %s Z3003 No connection to the database. escalations are not enabled.5. Overview Zabbix provides effective and extremely flexible functionality for escalations and repeated notifications.verviewTOC.sun. 20. notifications and remote commands: Immediately inform users about new problems Pro-active monitoring. Report to Zabbix Team. etc). Escalations and repeated notifications 21. If trigger is ON. The following steps must be performed: Step 1 Define new media. Step 2 Define new user.5.0/docs.com/j2se/1. Some of the messages are numbered. If sending of recovery messages is not enabled. Additional information: database name database error code database error string Zabbix daemon is unable to create database. Error Message Connection to database '%s' failed: [%d] %s Details Zabbix daemon is unable to establish connection to the database. Complete list of macros is available here: macros . make sure to add “Trigger value = PROBLEM” condition to the action.sun. 3. Depending on configuration. Additional information: database name database error code database error string This should never happen. The command will return unique message ID which has to be stored somewhere. In order to alert MySQL Administrators about any issues with MySQL applications the following configuration can be used: Since we are not interested in sending multiple messages or escalating MySQL problems to other user groups. Zabbix daemon is unable to close connection to the database. The script will have the following logic. Error and warning messages Zabbix daemons generate error and warning messages in case of any problems. Integration 3.UserParameter=jvm. minutes.ment/agent.ment/agent.0/docs.. Simple messages Warning: before enabling recovery messages or escalations.html [http://java.archive. Refer to OpenView official documentation for more details about opcmsg and opcmack. If trigger is OFF then opcmack <message id> has to be executed with message ID retrieved from the database.. The table contains complete list of numbered messages with additional details.

The notification delay is controlled by the escalation period. Escalate to Boss Zabbix escalations can be used to escalate problem to other users and user groups. Zabbix can execute a command on a monitored host in case of any pre-defined conditions. The administrators will get four messages before the problem will be escalated to the Database manager. supposedly no one is working on it. As soon as we have a problem.5. 21. Period and Conditions. Complex scenario Look at this set of actions. It means it will be executed once after one escalation period. If the trigger that generated an active escalation is disabled. MySQL administrators. CRM) if it does not respond Using IPMI 'reboot' command reboot remote server if it does not answer requests Try to automatically free disk space (remove older files. memory. Suppose we would like to send 5 messages every hour. Note that the manager will get a message only in case if the problem is not acknowledged yet. whatever) resources Configuration of action for remote commands is similar to messaging. A recovery message will be sent only to those people who received at least one message before in scope of the escalation. it goes to the next step every hour. The macro will contain information about all previously executed steps. Make sure that escalations are enabled in the action details: The period defines how frequently Zabbix should increase escalation step. so we defined that the operation will be active from escalation step 1 till 5. He is the list of some of the most obvious uses of the feature: Automatically restart application (WEB server.e. middleware. If the problems still exists. If this does help. Also Zabbix Agent should run on a remote host and accept incoming connections. Delayed notifications Zabbix escalations supports sending of delayed notifications.7. i. so all operations of step 2 will be execute. so all operations assigned to the step will be executed. The escalation period will be taken from action definition unless we overwrote it for an individual operation. . beware! 21. 21. after another hour Zabbix will reboot server with the MySQL database (second remote command) using IPMI commands. Problem is not being fixed by MySQL admins? Escalate to their BOSS! Now we configured periodical sending of messages to MySQL administrators. clean /tmp) if we are running out of disk space Migrate one VM from one physical box to another depending on CPU load Add new nodes to the cloud environment if we have insufficient CPU (disk. It will happen if problem exists for 2:30 hours and it hasn't been acknowledged. escalation period will be increased automatically (if the problem still exists obviously). after another 30 minutes Zabbix will send a message to all users in Japan.6. Suppose we would like to be notified about long-standing MySQL problems only. i. The action condition is defined so that it will be activated in case of any disaster problems with one of Apache applications. As soon as we enabled escalations. Zabbix is at step 1.3. The manager will get information about all email and all action executed before. 21. actions operations get additional options: Step(s).4. As a reaction to the disaster problem Zabbix will try to restart Apache process: Note use of the macro {HOSTNAME} here. Remote commands Remote commands is a powerful mechanism for smart pro-active monitoring. Note that the escalation period was changed to 10 hours and we use a custom default message: The operation is assigned only to step 2. the only difference is that Zabbix will execute a command instead of sending a message.HISTORY} macros in the message. Zabbix sends a message informing about this fact to persons that have already received notifications. User 'zabbix' must have enough permissions to execute this script. Note use of the {ESC. By default. Zabbix will try to restart the MySQL database. And so on.Actions are defined as: A message will be sent to all members of the group MySQL Administrators. After multiple messages to MySQL administrators and escalation to the manager. See remote command tutorial for more information. Repeated notifications Repeated notifications is probably one of the most common use of Zabbix escalations. 10 hours: Therefore user 'Alexei' will get a message only in case if a problem exists for more than 10 hours.e. 3600 seconds. After one hour. 21.