ZCP_day_1_slides_Part1.pdf
Document Details
Uploaded by SpellboundTropicalIsland
2023
Tags
Full Transcript
QUICK Q&A SESSION Y P What do you remember from the Specialist training ? O C What are Zabbix components? T N What programming languages are used? E D Active vs passive checks? U T S How Zabbix can react to the detected problems ? 6.0 Certified Professional ● Day 1 © 2023 by Zabbix. All...
QUICK Q&A SESSION Y P What do you remember from the Specialist training ? O C What are Zabbix components? T N What programming languages are used? E D Active vs passive checks? U T S How Zabbix can react to the detected problems ? 6.0 Certified Professional ● Day 1 © 2023 by Zabbix. All rights reserved Theory 9 ZABBIX REQUIREMENTS Zabbix server Zabbix frontend Operating system Linux IBM AIX, HP UX, Solaris FreeBSD, NetBSD, OpenBSD MacOS X Apache 1.3.12 or later Nginx Other with PHP support T N libpcre, libevent, libcurl, net-snmp, etc. E D U T MySQL 8.0.x - 8.1.x MariaDB 10.5.x - 11.0.x S PostgreSQL 13.x, 14.x TimescaleDB support (2.0.1 - 2.7) Oracle (19c - 21c) 6.0 Certified Professional ● Day 1 O C PHP 7.2.5 or later (8.x since Zabbix 6.0.6) Additional libraries Zabbix database Y P Web server PHP Extensions gd, bcmath, libxml, mysqli etc. Web browsers Modern browser Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari and Opera Cookies JavaScript © 2023 by Zabbix. All rights reserved Theory 10 OS PREPARE For Zabbix server to operate properly, the OS must be prepared. Y P Update OS files: Using old packages may lead to performance or compatibility issues Some functionality may not work at all with outdated libraries Setup NTP client: O C It is very important to set the precise system time It is strongly recommended to maintain synchronized system time on all Zabbix components Change the time zone: T N E D To write correct timestamps in Zabbix logs Zabbix server time zone is used for maintenance periods, time-based trigger functions, etc. U T Firewall: Firewall must be configured to allow all the required communications. S SELINUX / AppArmor / Other security tools: May block Zabbix server components 6.0 Certified Professional ● Day 1 © 2023 by Zabbix. All rights reserved Theory 11 MAIN COMPONENTS Zabbix has three main components: Y P Zabbix server Data collection Problem detection Notification T N Zabbix frontend Configuration management Visualization U T E D Zabbix database Configuration data Historical values S O C Frontend Database Server Configuration Collected metrics Internal communications All the components can be installed on the same or separate machines 6.0 Certified Professional ● Day 1 © 2023 by Zabbix. All rights reserved Theory 12 COMMUNICATION Zabbix Server <-> Database Y P Reads configuration from the database into configuration cache (Configuration syncer) Writes collected values into the database (History syncer) Runs "Execute now" tasks (Task manager) Executes housekeeping tasks (Housekeeper) T N Zabbix Frontend <-> Database O C Writes configuration changes into the database Reads the latest data and visualizes the results Clears the data on demand when "Clear history" icon is pressed Creates tasks (Execute now, Acknowledge, Close problem etc.) U T E D Zabbix Frontend <-> Zabbix server Checks that Zabbix server is up and running by checking the trapper port on Zabbix server Collects the Queue Executes frontend scripts Performs item, preprocessing and media type testing S 6.0 Certified Professional ● Day 1 © 2023 by Zabbix. All rights reserved Theory 13 DATA FLOW DIAGRAM Y P ACTION HOST ITEM TRIGGER EVENT ITEM TRIGGER ITEM ITEM HOST S ITEM ITEM T N E D U T ITEM EVENT TRIGGER Trigger may belong to multiple hosts 6.0 Certified Professional ● Day 1 Event may not match any action CONDITIONS OPERATION O C OPERATION OPERATION ACTION CONDITIONS OPERATION OPERATION EVENT ACTION Event may match multiple actions © 2023 by Zabbix. All rights reserved CONDITIONS OPERATION Theory 14 TAG INHERITANCE If the entities are tagged, the corresponding new events will inherit all the tags: Y P Template tags will be inherited by items and triggers defined on a template Host tags will be inherited by all the items and triggers on a host Event will inherit all the item and trigger tags T N HOST TEMPLATE ITEM U T E D S TRIGGER 6.0 Certified Professional ● Day 1 O C Host is not inheriting linked template tags directly ITEM TRIGGER © 2023 by Zabbix. All rights reserved Items and triggers inherit tags from both host and template Event Theory 15 ITEM TYPE Item type describes how the metrics will be collected: Zabbix agent Simple check SNMP agent IPMI agent JMX agent HTTP agent SSH agent Telnet agent Database monitor External check Script 6.0 Certified Professional ● Day 1 T N E D U T S Y P Active checks Passive checks Zabbix agent (active) SNMP trap Zabbix trapper HTTP agent if "Enable trapping" is set O C Other (processed internally) © 2023 by Zabbix. All rights reserved Zabbix internal Calculated Dependent item Theory 16 Y P T N O C E D Zabbix Frontend and NGINX U T S 6.0 Certified Professional ● Day 1 © 2023 by Zabbix. All rights reserved 10 minutes 17 CHOOSING WEB BACKEND Zabbix offers both Apache and Nginx packages for popular operating systems: Y P Choose the web package with correct database engine Install zabbix-nginx-conf or zabbix-apache-conf package T N O C E D zabbix-web-mysql U T zabbix-nginx-conf S 6.0 Certified Professional ● Day 1 zabbix-web-postgresql © 2023 by Zabbix. All rights reserved Theory 18 ZABBIX FRONTEND AND NGINX INSTALLATION To use NGINX as a web backend, follow these steps: Y P Add Zabbix repository (RedHat Enterprise Linux 9 in the example): O C # dnf install https://repo.zabbix.com/zabbix/6.0/rhel/9/x86_64/zabbix-release-latest.el9.noarch.rpm Install Zabbix frontend and settings for NGINX: # dnf install zabbix-web-mysql zabbix-nginx-conf T N Modify /etc/nginx/nginx.conf (comment out default settings) #listen #listen #server_name 80 default_server; [::]:80 default_server; _; E D Modify /etc/nginx/conf.d/zabbix.conf listen server_name S U T 80; zabbix.example.com; Enable and start nginx and php-fpm services: # systemctl enable nginx php-fpm --now 6.0 Certified Professional ● Day 1 © 2023 by Zabbix. All rights reserved Theory 19 NGINX BASIC TUNING Worker parameters: worker_processes worker_priority worker_rlimit_nofile events { worker_connections use epoll; } 1024; Security settings: U T S gzip gzip_comp_level gzip_min_length gzip_types 6.0 Certified Professional ● Day 1 O C # simultaneous connections that can be opened by a worker # connection processing method can be selected explicitly T N E D server_tokens error_log /var/log/nginx/error.log gzip compression: Y P auto; # auto or number of CPU cores -5; # Lower number means higher priority (-20 to 20) 256000; # the limit on the maximum number of open files off; # disables emitting nginx version in response header warn; # minimal severity level of error messages on; # enable compression, 5; # compression level of a response (1 to 9) 100; # minimum length of the response to compress text/plain text/css text/xml application/x-javascript application/xml © 2023 by Zabbix. All rights reserved Theory 20