--------------------------------------------------------------------------------
/.github/workflows/main.yml:
--------------------------------------------------------------------------------
1 | name: ci
2 | on:
3 | push:
4 | branches:
5 | - main
6 | - master
7 | jobs:
8 | deploy:
9 | runs-on: ubuntu-latest
10 | steps:
11 | - uses: actions/checkout@v4
12 | - uses: actions/setup-python@v5
13 | with:
14 | python-version: '3.12'
15 | - run: pip install idna mkdocs-material mkdocs-static-i18n mkdocs-print-site-plugin mkdocs-spellcheck[all] mkdocs-autolinks-plugin
16 | - run: mkdocs gh-deploy --force
17 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .obsidian/
2 | site/
3 | docs/.DS_Store
4 | .DS_Store
5 | libcairo.2.dylib
6 | .vscode/
7 | .markdownlint.json
8 | mkdocs_spellcheck/
9 | mkdocs_spellcheck-1.1.0.dist-info/
10 |
--------------------------------------------------------------------------------
/docs/CNAME:
--------------------------------------------------------------------------------
1 | www.thezabbixbook.com
2 |
--------------------------------------------------------------------------------
/docs/Guidelines.md:
--------------------------------------------------------------------------------
1 | # Guidelines
2 |
3 | ## How to contribute
4 |
5 |
6 | - Sign the [deed of transfer](https://www.thezabbixbook.com/files/form%20deed%20of%20transfer%20Book%20Zabbix.pdf) preferable electronically
7 | - Clone this project to your Github account
8 | - Clone the repository to you pc
9 |
10 | - Install the needed software for Mkdocs to work,
11 | check the file in the root folder how-to-install-mkdocs.md
12 | - Create a new branch to make your changes
13 | - git branch ""
14 | - git checkout ""
15 | - Make the changes you want and commit them
16 | - git add "files you changed"
17 | - git commit -m "add useful commit info"
18 | - Return back to the main branch
19 | - git checkout main
20 | - Make sure you have the latest changes merged from main
21 | - git pull origin main
22 | - Merge your branch into the main branch
23 | - git merge ""
24 | - git push
25 | - cleanup your branch
26 | - git branch -d ""
27 | - Create a pull requests so that we can merge it :)
28 | - Follow these [guidelines](https://github.com/penmasters/zabbix-book/how-to-rules-for-writing.md) when you write a topic.
29 |
--------------------------------------------------------------------------------
/docs/Supporters-Contributors.md:
--------------------------------------------------------------------------------
1 | # Supporters & Contributors
2 |
3 | This book would not have been possible without the dedication, generosity, and
4 | expertise of many individuals and organizations. We extend our heartfelt thanks
5 | to everyone who has supported this project, whether through financial contributions,
6 | technical expertise, content reviews, or community engagement.
7 |
8 | ## Our Sponsors
9 |
10 | We are deeply grateful to the sponsors who have provided financial or material
11 | support to help bring this book to life. Their contributions have enabled us to
12 | maintain high-quality content, support open-source initiatives, and ensure that
13 | this book remains accessible to as many people as possible.
14 |
15 | - **OICTS** : [https://oicts.com/](https://oicts.com/)
16 | - **ZABBIX** : [https://www.zabbix.com/](https://www.zabbix.com/)
17 |
18 | ---
19 |
20 | ## Our Contributors
21 |
22 | This book is a community effort, and we sincerely appreciate the time and knowledge
23 | shared by our contributors. From writing and reviewing content to providing feedback
24 | and sharing expertise, your efforts have helped shape this resource into something
25 | valuable for the monitoring and open-source communities.
26 |
27 | - **Patrik Uytterhoeven** : http://github.com/Trikke76
28 | - **Nathan Liefting** : https://github.com/larcorba
29 |
30 | ---
31 |
32 | ## Special Thanks to Our Board Members
33 |
34 | A special acknowledgment goes to the members of our board, whose vision, leadership,
35 | and dedication have guided this project from its inception. Their commitment to
36 | open-source principles and knowledge sharing has been instrumental in making this
37 | book a reality.
38 |
39 | - **Patrik Uytterhoeven** : http://github.com/Trikke76
40 | - **Nathan Liefting** : https://github.com/larcorba
41 |
42 | ---
43 |
44 | ## Every Contribution Matters
45 | Open-source thrives on collaboration, and even the smallest contributions help
46 | make a difference. Whether it was reporting a typo, suggesting an improvement,
47 | opening an issue, or simply sharing feedback, we appreciate everyone who took
48 | the time to help refine and improve this book. Your efforts, no matter how small,
49 | are a valuable part of this project. Check out [Everyone who created an issue](https://github.com/penmasters/zabbix-book/issues?q=is%3Aissue%20).
50 |
51 | ---
52 |
53 | ## Join the Community
54 | We welcome new contributors and supporters! If you'd like to get involved whether
55 | by contributing content, providing feedback, or supporting this initiative you can
56 | find more details on how to participate at [Guidelines](./Guidelines.md).
57 |
58 | Thank you for being part of this journey and helping us build a valuable resource
59 | for the open-source community!
60 |
--------------------------------------------------------------------------------
/docs/assets/templates/custom_banner.tpl:
--------------------------------------------------------------------------------
1 |
2 | This box will disappear when printing
3 |
4 |
This page has combined all site pages into one. You can export to PDF using File > Print > Save as PDF.
37 |
--------------------------------------------------------------------------------
/docs/ch00-getting-started/initial-steps.md:
--------------------------------------------------------------------------------
1 | # Getting Started with Zabbix – Unlocking the Power of Monitoring
2 |
3 | Welcome to the world of **Zabbix**, a powerful open-source monitoring solution
4 | designed to give you comprehensive insights into your IT infrastructure.
5 | Whether you're managing a small network or overseeing a large-scale enterprise
6 | system, Zabbix provides the tools you need to monitor performance, detect issues,
7 | and ensure the smooth operation of your services.
8 |
9 | In this book, we focus on **Zabbix LTS 8.0**, the long-term support version that
10 | ensures stability and reliability for your monitoring needs. We'll explore its
11 | extensive feature set, including the newly introduced **reporting functionality**
12 | and **built-in web monitoring** based on the Selenium driver, which allows for
13 | sophisticated end-user experience monitoring through automated browser interactions.
14 |
15 | Zabbix is more than just a simple monitoring tool. It offers a wide range of
16 | features that allow you to:
17 |
18 | - **Monitor diverse environments**: Track the performance and availability of
19 | servers, virtual machines, network devices, databases, and applications.
20 | - **Create dynamic visualizations**: Use dashboards, graphs, maps, and screens
21 | to visualize data and get an overview of your system's health at a glance.
22 | - **Set up complex alerting mechanisms**: Define triggers and actions that notify
23 | you of potential issues before they become critical, using various channels
24 | like email, SMS, and integrations with external services.
25 | - **Automate monitoring tasks**: Leverage auto-discovery and auto-registration to
26 | keep up with changing environments without manual intervention.
27 | - **Customize and extend**: Build custom scripts, templates, and integrations to
28 | tailor Zabbix to your specific needs.
29 |
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-dbconnection.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-dbconnection.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-final.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-final.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-login.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-prerequisites.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-prerequisites.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-selectlanguage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-selectlanguage.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-settings.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-setup.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-setuplanguage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-setuplanguage.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-zabbixdownload.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-zabbixdownload.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-zabbixserver.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/basic-installation/ch01-basic-installation-zabbixserver.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/chapter.md:
--------------------------------------------------------------------------------
1 | # Zabbix components, basic functions and installation
2 |
3 | In this chapter, we expand on the foundational knowledge from the "Getting Started"
4 | section to provide a comprehensive guide for both beginners who are installing
5 | Zabbix for the first time and advanced users who seek to optimize their setup.
6 | We’ll not only cover the essential steps for a basic installation but also delve
7 | into the finer details of Zabbix architecture, components, and best practices.
8 |
9 | We’ll start by walking through the installation process, ensuring you have a solid
10 | foundation to build on. From there, we'll move into the core components of
11 | Zabbix, what each one does, how they interact, and why they are crucial to your
12 | monitoring solution.
13 | You'll learn about subprocesses, their roles, and how they contribute to Zabbix
14 | efficiency and reliability.
15 |
16 | Additionally, we’ll explore good architectural choices that can make or break
17 | your monitoring setup. Whether you're managing a small network or a large-scale
18 | infrastructure, making the right design decisions early on will pay dividends
19 | in scalability, performance, and maintenance.
20 |
21 | This chapter is designed to cater to a wide range of readers.
22 | If you're simply looking to get Zabbix up and running, you'll find clear, step-by-step
23 | instructions. For those wanting to dive deeper, we'll provide detailed insights into
24 | how Zabbix functions under the hood, helping you make informed choices that align
25 | with your needs and future growth plans.
26 |
27 | By the end of this chapter, you will have not only a working Zabbix installation
28 | but also a thorough understanding of its components and architecture, empowering
29 | you to leverage Zabbix to its fullest potential, regardless of the complexity of
30 | your environment.
31 |
32 | Let’s embark on this detailed journey into Zabbix and equip ourselves with the
33 | knowledge to both start and optimize a powerful monitoring solution.
34 |
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/ha-setup/ch01-HA-check1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/ha-setup/ch01-HA-check1.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/ha-setup/ch01-HA-check2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/ha-setup/ch01-HA-check2.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/ha-setup/ch01-HA-setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch01-zabbix-components/ha-setup/ch01-HA-setup.png
--------------------------------------------------------------------------------
/docs/ch01-zabbix-components/securing-zabbix.md:
--------------------------------------------------------------------------------
1 | # Security
2 |
3 |
4 | In today's interconnected IT landscape, monitoring systems like Zabbix have become
5 | critical infrastructure components, offering visibility into the health and performance
6 | of entire networks. However, these powerful monitoring tools also represent potential
7 | security vulnerabilities if not properly secured. This chapter will explores the
8 | essential combination of SELinux and security best practices to harden your Zabbix
9 | deployment against modern threats.
10 |
11 | Security is not an optional feature but a fundamental requirement for any monitoring
12 | solution. Zabbix, with its extensive reach across your infrastructure, has access
13 | to sensitive system information and often operates with elevated privileges.
14 | Without proper security controls, a compromised monitoring system can become a
15 | launchpad for lateral movement across your network, potentially exposing critical
16 | business data and systems.
17 |
18 | We'll explore how SELinux's mandatory access control framework provides an additional
19 | security layer beyond traditional permissions, and how proper configuration can
20 | dramatically reduce your attack surface. You'll learn practical, implementable
21 | security measures that balance protection with functionality, ensuring your monitoring
22 | capabilities remain intact while defending against both external and internal threats.
23 |
24 | Whether you're a system administrator, security professional, or IT manager, understanding
25 | these security principles will help you transform your Zabbix deployment from a
26 | potential liability into a secure asset within your security architecture.
27 |
28 |
29 | ## SELinux and Zabbix
30 |
31 | SELinux (Security-Enhanced Linux) provides mandatory access control for Zabbix by
32 | enforcing security policies that restrict what the Zabbix processes can do, even
33 | when running as root.
34 |
35 | SELinux contexts are a core component of how SELinux implements security control.
36 | Think of contexts as labels that are assigned to every object in the system (files, processes, ports, etc.).
37 | These labels determine what can interact with what.
38 |
39 | ### SELinux Enforcement Mode
40 | For SELinux to actually provide security protection, it needs to be set to "enforcing" mode. There are three possible modes for SELinux:
41 |
42 | - **Enforcing** - SELinux security policy is enforced. Actions that violate policy are blocked and logged.
43 | - **Permissive** - SELinux security policy is not enforced but violations are logged. This is useful for debugging.
44 | - **Disabled** - SELinux is completely turned off.
45 |
46 | You can check the current SELinux mode with the getenforce command:
47 | ```yaml
48 | getenforce
49 | ```
50 | This should return : Enforcing
51 |
52 | To properly secure Zabbix with SELinux, the system should be in `Enforcing` mode. If it's not, you can change it temporarily:
53 |
54 | ##### Set to enforcing immediately (until reboot)
55 |
56 | ```yaml
57 | sudo setenforce 1
58 | ```
59 | For permanent configuration, edit /etc/selinux/config and set:
60 | ``` yaml
61 | SELINUX=Enforcing
62 | ```
63 |
64 | ### Basic Structure of an SELinux Context
65 |
66 | An SELinux context typically consists of four parts:
67 |
68 | - **User**: The SELinux user identity (not the same as Linux users)
69 | - **Role**: What roles the user can enter
70 | - **Type**: The domain for processes or type for files (most important part)
71 | - **Level**: Optional MLS (Multi-Level Security) sensitivity level
72 |
73 | When displayed, these appear in the format: user:role:type:level
74 |
75 | ### How Contexts Work in Practice
76 |
77 | In the Zabbix SELinux configuration, several security types are defined to control access:
78 |
79 | - **zabbix_t**: The domain in which the Zabbix server process runs
80 | - **zabbix_port_t**: Type assigned to network ports that Zabbix uses
81 | - **zabbix_var_run_t**: Type for Zabbix runtime socket files
82 | - **httpd_t**: The domain for the Apache web server process
83 |
84 | The SELinux policy allows specific permissions between these types:
85 |
86 | Zabbix server can connect to its own Unix stream sockets
87 | Zabbix server can connect to network ports labeled as zabbix_port_t
88 | Zabbix server can create and remove socket files in directories labeled as zabbix_var_run_t
89 |
90 | The web server (httpd) can connect to Zabbix ports, allowing the web frontend to
91 | communicate with the Zabbix server.
92 | These permissions ensure Zabbix components can communicate properly while maintaining
93 | SELinux security boundaries.
94 |
95 | When Zabbix tries to access a file or network resource, SELinux checks if the context
96 | of the Zabbix process is allowed to access the context of that resource according to
97 | policy rules.
98 |
99 | ### Viewing Contexts
100 |
101 | !!! info "You can view the contexts of files using:"
102 |
103 | ```yaml
104 | ls -Z /path/to/zabbix/files
105 | ```
106 |
107 |
108 | !!! info "And for the processes:"
109 |
110 | ```yaml
111 | ps -eZ | grep zabbix"
112 | ```
113 | ``` yaml
114 | system_u:system_r:unconfined_service_t:s0 691 ? 00:02:20 zabbix_agent2
115 | system_u:system_r:zabbix_t:s0 707 ? 00:00:59 zabbix_server
116 | system_u:system_r:zabbix_t:s0 1203 ? 00:02:00 zabbix_server
117 | ```
118 |
119 | !!! info "And for log files"
120 |
121 | ``` yaml
122 | ls -alZ /var/log/zabbix/zabbix_server.log
123 | ```yaml
124 | -rw-rw-r--. 1 zabbix zabbix system_u:object_r:zabbix_log_t:s0 11857 Apr 26 22:02 /var/log/zabbix/zabbix_server.log
125 | ```
126 |
127 | ### Zabbix-selinux-policy Package
128 |
129 | The zabbix-selinux-policy package is a specialized SELinux policy module designed
130 | specifically for Zabbix deployments. It provides pre-configured SELinux policies
131 | that allow Zabbix components to function properly while running in an SELinux enforced
132 | environment.
133 |
134 | Key Functions of the Package:
135 |
136 | - **Pre-defined Contexts** : Contains proper SELinux context definitions for Zabbix
137 | binaries, configuration files, log directories, and other resources.
138 | - **Port Definitions** : Registers standard Zabbix ports (like 10050 for agent, 10051 for server)
139 | in the SELinux policy so they can be used without triggering denials.
140 | - **Access Rules**: Defines which operations Zabbix processes can perform, like writing
141 | to log files, connecting to databases, and communicating over networks.
142 | - **Boolean Toggles**: Provides SELinux boolean settings specific to Zabbix that can
143 | enable/disable certain functionalities without having to write custom policies.
144 |
145 | Benefits of Using the Package:
146 |
147 | - **Simplified Deployment** : Reduces the need for manual SELinux policy adjustments when
148 | installing Zabbix.
149 | - **Security by Default**: Ensures Zabbix operates with minimal required permissions rather than running in permissive mode.
150 | - **Maintained Compatibility**: The package is updated alongside Zabbix to ensure compatibility with new features.
151 |
152 | #### Installation and Usage
153 |
154 | The package is typically installed alongside other Zabbix components:
155 | ``` yaml
156 | dnf install zabbix-selinux-policy
157 | ```
158 | After installation, the SELinux contexts are automatically applied to standard Zabbix
159 | paths and ports. If you use non-standard configurations, you may still need to make
160 | manual adjustments.
161 | This package essentially bridges the gap between Zabbix's operational requirements
162 | and SELinux's strict security controls, making it much easier to run Zabbix securely
163 | without compromising on monitoring capabilities.
164 |
165 | ### For Zabbix to function properly with SELinux enabled:
166 |
167 | Zabbix binaries and configuration files need appropriate SELinux labels (typically zabbix_t context)
168 | Network ports used by Zabbix must be properly defined in SELinux policy
169 | Database connections require defined policies for Zabbix to communicate with MySQL/PostgreSQL
170 | File paths for monitoring, logging, and temporary files need correct contexts
171 |
172 | When issues occur, they typically manifest as denied operations in SELinux audit logs. Administrators can either:
173 |
174 | Use audit2allow to create custom policy modules for legitimate Zabbix operations
175 | Apply proper context labels using semanage and restorecon commands
176 | Configure boolean settings to enable specific Zabbix functionality
177 |
178 | This combination creates defense-in-depth by ensuring that even if Zabbix is compromised,
179 | the attacker remains constrained by SELinux policies, limiting potential damage to
180 | your systems.
181 |
182 | #### Zabbix SELinux Boolean
183 | One of the most convenient aspects of the SELinux implementation for Zabbix is the
184 | use of "booleans". simple on/off switches that control specific permissions. These
185 | allow you to fine-tune SELinux policies without needing to understand complex policy
186 | writing. Key Zabbix booleans include:
187 |
188 | - **zabbix_can_network**: Controls whether Zabbix can initiate network connections
189 | - **httpd_can_connect_zabbix**: Controls whether the web server can connect to Zabbix
190 | - **zabbix_run_sudo**: Controls whether Zabbix can execute sudo commands
191 |
192 | !!! info "You can view these settings with:"
193 | ``` yaml
194 | getsebool -a | grep zabbix
195 | ```
196 | And you can toggle them as needed with setsebool.
197 |
198 | ### Enable Zabbix network connections (persistent across reboots)
199 | ```yaml
200 | setsebool -P zabbix_can_network on
201 | ```
202 | These booleans make it much easier to securely deploy Zabbix while maintaining SELinux
203 | protection, as you can enable only the specific capabilities that your Zabbix implementation
204 | needs without compromising overall system security.
205 |
206 |
207 | ### Creating custom rules
208 |
209 | When running Zabbix in environments with SELinux enabled, you may encounter permission
210 | issues when Zabbix attempts to execute certain utilities like fping. This occurs
211 | because fping uses setuid (SUID) permissions, and SELinux's default policies prevent
212 | Zabbix from executing such binaries for security reasons.
213 |
214 | There are different solutions to this problem:
215 |
216 | - **Method 1: Automated Policy Generation :**
217 |
218 | The most straightforward approach is to use the audit2allow utility to analyse
219 | SELinux denial messages and generate appropriate policies:
220 |
221 | First, capture the denial events from the audit log:
222 | ```yaml
223 | sudo grep zabbix /var/log/audit/audit.log | grep fping | audit2allow -M zabbix_fping
224 | ```
225 |
226 | !!! info "Install the generated policy module:"
227 |
228 | ```yaml
229 | sudo semodule -i zabbix_fping.pp
230 | ```
231 |
232 | !!! info "Apply the correct SELinux context to the fping binary:"
233 |
234 | ```yaml
235 | sudo chcon -t fping_exec_t /usr/sbin/fping
236 | ```
237 |
238 |
239 | - **Method 2: Manual Policy Creation :**
240 |
241 | For more control or in situations where audit logs aren't available, you can manually
242 | create a custom policy:
243 |
244 | Create a policy file named zabbix_fping.te with the following content:
245 | ```yaml
246 | module zabbix_fping 1.0;
247 |
248 | require {
249 | type zabbix_t;
250 | type fping_t;
251 | type fping_exec_t;
252 | class file { execute execute_no_trans getattr open read };
253 | class capability net_raw;
254 | }
255 |
256 | #============= zabbix_t ==============
257 | allow zabbix_t fping_exec_t:file { execute execute_no_trans getattr open read };
258 | allow zabbix_t self:capability net_raw;
259 | ```
260 | !!! info "Compile the policy module:"
261 |
262 | ```yaml
263 | checkmodule -M -m -o zabbix_fping.mod zabbix_fping.te
264 | ```
265 |
266 | !!! info "Package the compiled module:"
267 |
268 | ```yaml
269 | semodule_package -o zabbix_fping.pp -m zabbix_fping.mod
270 | ```
271 |
272 | !!! info "Install the policy module:"
273 |
274 | ```yaml
275 | semodule -i zabbix_fping.pp
276 | ```
277 |
278 |
279 | ## Securing zabbix admin
280 |
281 | ## HTTPS
282 |
283 | ## DB certs
284 |
285 |
286 |
287 |
288 |
289 |
290 | ## Conclusion
291 |
292 | ## Questions
293 |
294 | - Why does SELinux prevent Zabbix from executing fping by default?
295 | - In what situations might you need to create custom SELinux policies for other Zabbix monitoring tools?
296 | - What are the key differences between using audit2allow and manually creating a custom policy module?
297 |
298 |
299 | ## Useful URLs
300 |
301 | - https://www.zabbix.com/documentation/7.2/en/manual/installation/install_from_packages/rhel?hl=SELinux#selinux-configuration
302 | - https://www.systutorials.com/docs/linux/man/8-zabbix_selinux/
303 | - https://man.linuxreviews.org/man8/zabbix_agent_selinux.8.html
304 | - https://phoenixnap.com/kb/selinux
305 |
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/chapter.md:
--------------------------------------------------------------------------------
1 | # Getting started with the Zabbix installation
2 |
3 | We begin this chapter with a **deep dive into the Zabbix frontend**, the central hub
4 | where all monitoring and configuration tasks come together. Alongside the basic
5 | introduction to navigating the frontend, this chapter also covers **user and group
6 | setup**, focusing on creating a secure and efficient user management system.
7 |
8 | We'll walk through setting up **internal authentication** with best practices for
9 | security, including **dual-factor authentication**. For those needing advanced integration,
10 | we'll explore options like **SAML, LDAP**, and other external authentication methods.
11 |
12 | This chapter strikes a balance between a straightforward overview “this is the frontend”
13 | and a more in depth look at the **advanced choices** you can make to enhance your system's
14 | security and manageability. Whether you're just getting started or looking to implement
15 | robust security measures, there's something here for everyone.
16 |
17 | By the end, you'll be well equipped to navigate the Zabbix frontend with confidence
18 | and set up a secure, scalable user management system tailored to your organization's needs.
19 |
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-add-google-app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-add-google-app.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_create_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_create_user.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_create_user_groups.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_create_user_groups.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_add_method.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_add_method.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_another_method.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_another_method.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_applications.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_applications.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_applications_list.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_applications_list.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_auth_method.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_auth_method.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_confirm_app_installed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_confirm_app_installed.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_data.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_duo_app.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_duo_app.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_enrollement_confirmation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_enrollement_confirmation.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_method_data.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_method_data.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_account_added.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_account_added.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_accounts.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_accounts.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_add_account.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_add_account.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_push_notification.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_push_notification.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_welcome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_phone_welcome.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_push_sent.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_push_sent.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_scan_qr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_scan_qr.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_setup_completed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_setup_completed.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_user_group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_user_group.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_users.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_users.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_welcome.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_welcome.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_welcome1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_welcome1.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_welcome2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_duo_welcome2.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_new_user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_new_user.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_new_user_group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_new_user_group.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_new_user_permissions.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_new_user_permissions.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_settings_TOTP_configured.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_settings_TOTP_configured.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_settings_TOTP_new.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_settings_TOTP_new.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_settings_initial.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_settings_initial.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_auth_app1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_auth_app1.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_auth_app2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_auth_app2.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_auth_app3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_auth_app3.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_qr_code.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_qr_code.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_reset_password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_reset_password.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_second_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-mfa_totp_second_login.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-saml-download.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-saml-download.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-saml-mappings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-saml-mappings.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/external-auth/ch02-saml-zabbix-options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/external-auth/ch02-saml-zabbix-options.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-administration-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-administration-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-alerts-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-alerts-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-datacollection-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-datacollection-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-edit-dashboard.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-edit-dashboard.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-frontend-collapse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-frontend-collapse.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-frontend-expand.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-frontend-expand.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-frontend-hide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-frontend-hide.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-frontend-overview.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-frontend-overview.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-frontend-shrink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-frontend-shrink.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-global-search-result.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-global-search-result.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-global-search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-global-search.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-inventory-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-inventory-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-main-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-main-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-monitoring-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-monitoring-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-reports-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-reports-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-services-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-services-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-system-information.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-system-information.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/frontend/ch02-users-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch02-zabbix-installation/frontend/ch02-users-menu.png
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/host-groups.md:
--------------------------------------------------------------------------------
1 | # Host groups
2 |
--------------------------------------------------------------------------------
/docs/ch02-zabbix-installation/user-groups.md:
--------------------------------------------------------------------------------
1 | # User groups
2 |
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-active-communication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-active-communication.png
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-active-proxy-installed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-active-proxy-installed.png
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-add-active-proxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-add-active-proxy.png
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-new-active-proxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-new-active-proxy.png
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-new-passive-proxy.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-new-passive-proxy.png
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-passive-communication.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-passive-communication.png
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-passive-not-working.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-passive-not-working.png
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-passive-working.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch03-zabbix-proxies/active-passive-proxies/ch03-passive-working.png
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/chapter.md:
--------------------------------------------------------------------------------
1 | # Proxies and the Web services component
2 |
3 | Proxies are often regarded as an advanced topic in Zabbix, but in reality,
4 | they are a fundamental part of many installations and one of the first components
5 | we set up for numerous customers. In this chapter, we'll make proxies the third
6 | subject we cover, encouraging you to consider them from the very beginning of your
7 | Zabbix journey.
8 |
9 | We'll start with a basic proxy setup, providing straightforward steps to get you
10 | up and running quickly. Then, we'll take a deep dive into the mechanics of proxies
11 | how they operate within the Zabbix ecosystem, their benefits, and the critical
12 | role they play in distributing monitoring load and enhancing system scalability.
13 |
14 | Understanding proxies from the start can significantly improve your architecture,
15 | especially in distributed or large scale environments. Whether you're new to Zabbix
16 | or looking to refine your existing setup, this chapter will offer valuable insights
17 | into why proxies should be an integral part of your monitoring strategy from the start.
18 |
19 | By the end, you'll not only know how to set up a basic proxy but also have a clear
20 | understanding of their underlying workings and strategic advantages,
21 | ensuring you make informed decisions as you scale your Zabbix installation.
22 |
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/proxy-basics.md:
--------------------------------------------------------------------------------
1 | # Proxy basics
2 |
3 | In this chapter we will cover the basic needs for our proxies. We won't pay
4 | attention to active or passive proxies yet this is something we cover later
5 | in the next chapters.
6 |
7 | ## Proxy requirements
8 | If you like to setup a few proxies for test or in your environment you will need
9 | a few Linux hosts to install the Proxies on. Proxies are also available in containers
10 | so a full VM is not needed. However here we will use a VM so we can show you how to
11 | install a proxy. Don't worry we will cover containers as well. When it comes to
12 | proxies they are very lightweight however since Zabbix 4.2 Proxies are able to
13 | do Item value preprocessing and this can use a lot of CPU power. So the number
14 | of CPUs and memory will depends on how many machines you will monitor and how many
15 | preprocessing rules you have on your hosts.
16 |
17 | So in short a Zabbix proxy can be used to:
18 |
19 | - Monitor remote locations
20 | - Monitor locations that have unreliable connections
21 | - Offload the Zabbix server when monitoring thousands of devices
22 | - Simplify the maintenance and management
23 |
24 |
25 | ???+ note
26 | Imagine that you need to restart your Zabbix server and that all proxies start
27 | to push the data they have gathered during the downtime of the Zabbix server.
28 | This would create a huge amount of data being sent at once to the Zabbix server
29 | and bring it to its knees in no time. Since Zabbix 6 Zabbix has added protection
30 | for overload. When Zabbix server history cache is full the history cache write
31 | access is being throttled. Zabbix server will stop accepting data from proxies
32 | when history cache usage reaches 80%. Instead those proxies will be put on a
33 | throttling list. This will continue until the cache usage falls down to 60%.
34 | Now server will start accepting data from proxies one by one, defined by the
35 | throttling list. This means the first proxy that attempted to upload data during
36 | the throttling period will be served first and until it's done the server will
37 | not accept data from other proxies.
38 |
39 | This table gives you an overview of how and when throttling works in Zabbix.
40 |
41 | |History write cache usage | Zabbix server mode | Zabbix server action |
42 | |---- |---- |---- |
43 | |Reaches 80% |Wait |Stops accepting proxy data, but maintains a throttling list (prioritized list of proxies to be contacted later).|
44 | |Drops to 60% |Throttled |Starts processing throttling list, but still not accepting proxy data. |
45 | |Drops to 20% |Normal |Drops the throttling list and starts accepting proxy data normally.|
46 |
47 |
48 | ### Active versus Passive proxy
49 |
50 | Zabbix proxies have been available since Zabbix 1.6, at that time they where available
51 | only as what we know today as `Active proxies`. Active means that the proxy will
52 | initiate the connection by itself to the Zabbix Server. Since version 1.8.3 passive
53 | proxies where introduced. This allowed the server to connect to the proxy. As mentioned
54 | before Zabbix agents can be both active and passive however proxies cannot be both
55 | so we have to choose the way of the communication when we install a proxy. Just
56 | remember that choosing the proxy mode `active` or `passive` has no impact on how
57 | Zabbix agents can communicate with our proxy. It's perfectly fine to have an `active proxy`
58 | and a `passive agent` working together.
59 |
60 | ### Active proxy
61 |
62 | A proxy in active mode will be the one in control of all the settings like the when it looks
63 | for new configuration changes and pushes new data to the server.
64 | In a standard setup the active proxy will sent it's data every second to the `Zabbix server`
65 | reload it's config every 10 seconds.
66 |
67 | The most important options for an active proxy that we need to remember are changed
68 | in the `Zabbix proxy` configuration file only.
69 |
70 | - **ProxyMode:** 0
71 | - **Server:** IP or DNS of the Zabbix server
72 | - **Hostname:** Proxy name this needs to be exact the same as configured in the
73 | frontend.
74 | - **ProxyOfflineBuffer:** How long we like to keep data in the DB (in hours) if
75 | we can' contact the `Zabbix server`.
76 | - **ProxyLocalBuffer:** How long we like to keep data in the DB (in hours) even
77 | we have sent it already to the `Zabbix server`.
78 | - **ProxyConfigFrequency:** Replaces ConfigFrequency and defines how often we
79 | request configuration updates (every 10 seconds) from the `Zabbix server`.
80 | - **DataSenderFrequency: How often data is sent to `Zabbix server` (every second)**
81 |
82 | When it comes to configuring the needed resources for the `Active proxy` we have
83 | to realise that the proxy can use up to 2 trapper items on the `Zabbix server`
84 | when it tries to connect. One will be used to sent the actual data and the other trapper
85 | will be used to retrieve new configuration changes. So it's best practice to configure
86 | 2 trappers per `Active proxy` on the server side.
87 |
88 | 
89 |
90 | *3.1 Active proxy communication*
91 |
92 | ???+ info
93 | Before Zabbix 7.0 a proxy would reload it's configuration once every 3600
94 | seconds. This has been changed since Zabbix 7.0 as they way proxies handle
95 | updates have been optimized.
96 |
97 | ???+ warning
98 | Before you continue with the setup of your active or passive proxy make sure
99 | your OS is properly configure like explained in our chapter `Getting Started`
100 | => `System Requirements`. As it's very important to have your firewall and
101 | time server properly configured.
102 |
103 | ### Passive proxy
104 |
105 | A proxy in passive mode will have all settings controlled by the `Zabbix server`.
106 |
107 | The most important options for a passive proxy that we need to remember are changed
108 | in the `Zabbix server` configuration file and the `Zabbix proxy` as it is the server
109 | that controls when and how proxy data is requested by making use of pollers.
110 |
111 | The most important setting we can find back in the `proxy` configuration file are :
112 |
113 | - **ProxyMode:**1 (passive)
114 | - **Server:** IP or DNS of the `Zabbix server`
115 | - **ProxyLocalBuffer:** How long we like to keep data in the DB (in hours) even
116 | we have sent it already to the `Zabbix server`.
117 | - **ProxyLocalBuffer:** How long we like to keep data in the DB (in hours) even
118 | we have sent it already to the `Zabbix server`.
119 |
120 | And finally the config settings we need to change on our `Zabbix server`:
121 |
122 | - **StartProxyPollers:** The number of pollers to contact proxies
123 | - **ProxyConfigFrequency:** Replaces ConfigFrequency and defines how often `Zabbix server`
124 | will sent configuration changes to our proxies.
125 | - **ProxyDataFrequency:** How often `Zabbix server` will request data from our proxies.
126 |
127 | 
128 |
129 | *3.2 Passive proxy communication*
130 |
131 | ### Proxy configuration changes
132 |
133 | Before Zabbix 7.0, a full configuration synchronization was performed by proxies every
134 | 3600 seconds (1 hour) by default. With the introduction of Zabbix 7.0, this behavior
135 | changed significantly. Now, configuration synchronization occurs much more frequently,
136 | every 10 seconds by default, but it's an incremental update. This means that instead
137 | of transferring the entire configuration, only the modified entities are synchronized,
138 | greatly improving efficiency and reducing network overhead.
139 |
140 | Upon initial proxy startup, a full configuration synchronization is still performed.
141 | Subsequently, both the server and the proxy maintain a revision of the configuration.
142 | When a change is made on the server, only the differences, based on these revision
143 | numbers, are applied to the proxy's configuration, rather than a complete replacement
144 | of the entire configuration as in older versions. This incremental approach allows
145 | for near real-time propagation of configuration changes while minimizing resource
146 | consumption.
147 |
148 | ### Proxy runtime control options
149 |
150 | Just like the `Zabbix server` our proxy supports runtime control options always
151 | check latest options with the --help option. But here is a short overview of
152 | options available to use.
153 |
154 | - zabbix_proxy --runtime-control housekeeper_execute
155 | - zabbix_proxy --runtime-control log_level_increase=target
156 | - zabbix_proxy --runtime-control log_level_decrease=target
157 | - zabbix_proxy --runtime-control snmp_cache_reload
158 | - zabbix_proxy --runtime-control diaginfo=section
159 |
160 | ### Proxy firewall
161 |
162 | Our proxies work like small `Zabbix servers` so when it comes to the ports to connect to
163 | agents, SNMP, ... nothing changes all ports need to be configured same as on your server.
164 |
165 | When it comes to port for the proxy it depends on our proxy being `active` or `passive`.
166 |
167 | - **Active Proxy:** Zabbix server needs to have port `10051/tcp` open so proxy can connect.
168 | - **Passive Proxy:** Needs to have port `10051/tcp` open on the proxy so that the
169 | `server` can connect to the proxy.
170 |
171 |
172 |
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/proxy-groups.md:
--------------------------------------------------------------------------------
1 | # proxy groups
2 |
--------------------------------------------------------------------------------
/docs/ch03-zabbix-proxies/web-services.md:
--------------------------------------------------------------------------------
1 | # Web services
2 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/browser.md:
--------------------------------------------------------------------------------
1 | # Browser item
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/calculated.md:
--------------------------------------------------------------------------------
1 | # Calculated items
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/chapter.md:
--------------------------------------------------------------------------------
1 | # Collecting data with your Zabbix environment
2 |
3 | In this chapter, we'll take a **detailed journey through Zabbix data flow**,
4 | showing how to progress from an empty setup to a fully functioning system capable
5 | of sending timely notifications. We’ll break down each step, giving you a clear
6 | understanding of how data moves through Zabbix.
7 |
8 | We'll then explore the **various protocols** used in Zabbix, how they function,
9 | their compatibility with different components, and how to configure them effectively.
10 | This will provide you with a comprehensive overview of the communication backbone
11 | that powers Zabbix monitoring capabilities.
12 |
13 | Next, we'll cover the essentials like **hosts, host groups, host interfaces**,
14 | and **items**, ensuring you understand their roles and how to set them up correctly.
15 |
16 | For now, we'll hold off on **custom scripts and external check items**, focusing
17 | instead on the core elements. When we touch on **active agents**, we'll reference
18 | the chapter on auto-registration, guiding you to more detailed discussions on
19 | that topic later.
20 |
21 | By the end of this chapter, you'll have a strong grasp of Zabbix data flow and
22 | the protocols that enable seamless monitoring and notifications, preparing you
23 | for more advanced configurations and integrations.
24 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/database-agent.md:
--------------------------------------------------------------------------------
1 | # Database checks via agent
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/database-odbc.md:
--------------------------------------------------------------------------------
1 | # Database checks via odbc
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/datacollection/ch04.1-dataflow-basic.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch04-zabbix-collecting-data/datacollection/ch04.1-dataflow-basic.png
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/datacollection/ch04.2-dataflow-detailed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch04-zabbix-collecting-data/datacollection/ch04.2-dataflow-detailed.png
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/datacollection/ch04.3-empty-host-creation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch04-zabbix-collecting-data/datacollection/ch04.3-empty-host-creation.png
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/datacollection/ch04.4-host-creation-new-group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch04-zabbix-collecting-data/datacollection/ch04.4-host-creation-new-group.png
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/datacollection/ch04.5-empty-item-creation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch04-zabbix-collecting-data/datacollection/ch04.5-empty-item-creation.png
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/datacollection/ch04.6-latest-data-memcpu-sorting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch04-zabbix-collecting-data/datacollection/ch04.6-latest-data-memcpu-sorting.png
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/datacollection/ch04.7-icmpping-item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch04-zabbix-collecting-data/datacollection/ch04.7-icmpping-item.png
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/datacollection/ch04.8-icmpping-item-tags.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch04-zabbix-collecting-data/datacollection/ch04.8-icmpping-item-tags.png
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/dataflow.md:
--------------------------------------------------------------------------------
1 | # Dataflow
2 | The Zabbix dataflow is a concept that is meant to guide us through the various different
3 | stages of building up our monitoring system. In the end, when building a Zabbix
4 | environment we want to achieve a few things:
5 |
6 | - **Collected metrics** are stored, can be easily found and are visualised
7 | - **Problems** are created from our data and shown in the frontend
8 | - **We take action** on important problems by sending a message or executing commands
9 |
10 | Those three parts of the Zabbix dataflow in our Zabbix environment can be easily
11 | identified as:
12 |
13 | - **Items**
14 | - **Triggers**
15 | - **Actions**
16 |
17 | But when we look at `Items` specifically, it's also possible to alter our data before
18 | storing the metrics in Zabbix. This is something we do with a process called pre-processing,
19 | which will take the collected data and change it before storing it in the Zabbix database.
20 | Our dataflow in the end then looks as such:
21 |
22 | { align=left }
23 | *4.1 Zabbix basic dataflow*
24 |
25 | This gives us a very basic understanding of what steps we have to go through in
26 | Zabbix to get from data being collected to alerts being sent out. Very important
27 | to us Zabbix administrators, as we need to go through these steps each time we want
28 | to end up with a certain type of monitoring.
29 |
30 | But, now that we have identified what parts to look at, let's dive a bit deeper
31 | into what each of those parts does. Logically, that would start with `Items` looking
32 | at the image above. But before we can start discussing `Items` there is another
33 | concept we need to understand.
34 |
35 | ## Hosts
36 | To create `Items` in Zabbix, we first need to create `Hosts`. A `host` is nothing
37 | more than a container (not the Docker kind), it's something that contains `Items`,
38 | `Triggers`, `graphs`, `Low Level Discovery` rules and `Web scenarios`. All of these
39 | various different entities are contained within our **Hosts**.
40 |
41 | Often times, Zabbix users and administrators make the misconception here that a
42 | *`host`* always represents a physical or virtualised host. But in the end, hosts
43 | are nothing more than a representation of a `monitoring target`. A monitoring
44 | target is something we want to monitor. This can be a server in your datacenter,
45 | a virtual machine on your hypervisor, a Docker container or even just a website.
46 | Everything you want to monitor in Zabbix will need a host and the host will then
47 | contain your monitoring configuration on its entities.
48 |
49 | ## Items
50 | `Items` in Zabbix are Metrics. One `Item` is usually a single metric we'd like to
51 | collect, with the exception being bulk metric collection which we will discuss
52 | later on in the book. When we want to create our `Items` we can do this on a host
53 | and we can actually create an unlimited amount of `Items` on a host.
54 |
55 | ### Preprocessing
56 | But we cannot stop there with `Items` just yet, as we also mentioned an additional
57 | part of our dataflow. It is possible to change the collected metric on an item before
58 | storing it into the Zabbix database. We do this with a process called preprocessing.
59 |
60 | Preprocessing is something we add onto our items when creating the configuration
61 | of such items. It is a part of the item, but not mandatory on every single item.
62 |
63 | General rule:
64 |
65 | - Collect metric and store as-is in the database? **No preprocessing**
66 | - Collect metric and change before storing in the database? **Add preprocessing**
67 |
68 | We will discuss this in more detail later on in the book as well.
69 |
70 | ## Triggers
71 | With all of the collected metrics, we can now also start to create triggers if we
72 | would want to. A trigger is Zabbix is nothing more than a bit of configuration on
73 | our host, which we will use to define thresholds using metrics collected on items.
74 |
75 | A trigger can be setup to use the data collected on an item in a logical expression.
76 | This logical expression will define the threshold and when data is received on the
77 | item(s) used in the logical expression the trigger can go or stay in on of two states:
78 |
79 | - **PROBLEM**: When the logical expression is TRUE
80 | - **OK**: When the logical expression is FALSE
81 |
82 | This is how we define if our data is in a good or a bad state.
83 |
84 | ### Events
85 | When we discuss triggers however, we cannot skip past the Events. Whenever a trigger
86 | changes state, for example it was in OK state and goes into the PROBLEM state, then
87 | Zabbix will create a new Event. There's three types of these events created by our
88 | triggers:
89 |
90 | - **Problem event**: When the trigger goes from OK to PROBLEM
91 | - **Problem resolution event**: When the trigger goes from PROBLEM to OK
92 | - **Problem update event**: When someone manually updates a problem
93 |
94 | These problem events are what you will see in the frontend when you navigate to
95 | `Monitoring` | `Problems`, but they are also very important in the next step in
96 | the Zabbix dataflow `Actions`.
97 |
98 | ## Actions
99 | Actions are the last step in our Zabbix dataflow and they are kind of split into
100 | two parts. An action consists of `Conditions` and `Operations`. This is going to
101 | be important in making sure the action executes on the right time (conditions)
102 | and executes the right activity (operations).
103 |
104 | What happens is, whenever a problem event in Zabbix is created it is sent to every
105 | single problem action in our Zabbix environment. All of these action will then
106 | check the event details like what host did it come from, with which severity, when
107 | did it start, which tags are present. These event details are then checked against
108 | the action conditions and only when the conditions match will the operations be executed.
109 | The operation can then be something like, send a message to Microsoft Teams or
110 | Telegram. But an operation could also be, execute the reboot command on this host.
111 |
112 | As you can imagine, the conditions will be very important to make sure that operation
113 | on that action are only executed when we specifically want it to. We do not want to
114 | for example reboot a host without the right problem being first detected.
115 |
116 | ## Conclusion
117 |
118 | To summarize, all the steps in the dataflow work together to make sure that you can
119 | build the perfect Zabbix environment. When we put the entire dataflow together it
120 | looks like the image below.
121 |
122 | { align=left }
123 | *4.2 Zabbix detailed dataflow*
124 |
125 | Here we can see the various steps coming together.
126 |
127 | - We have our `Hosts` container our `Items` and `Triggers`.
128 | - Our `Items` are collecting metrics
129 | - The `Triggers` are using data from `Items` to detected problems and create problem `Events`.
130 | - If a problem `Event` matches the *Conditions* on an `Action` the *Operations* can be executed
131 |
132 | Important to note here is that if an item is collecting metrics, it doesn't necessarily
133 | need to have a trigger attached to it. The trigger expression is a separate configuration
134 | where we can choose which items we want to define thresholds on. In the end, not
135 | ever item needs to start creating problems. We can also see that we can use several
136 | items or event several items from different hosts in a single trigger.
137 |
138 | The same is the case for our events. Not every event will match the conditions on
139 | an action. In practice, this means that some problems will only show up in your
140 | Zabbix frontend, while other might go on to send you an alert message or even execute
141 | commands or scripts. A single event can also match the conditions on multiple actions,
142 | since we mentioned that all events are always send to all action for evaluation.
143 | This can be useful, for example if you want to split you messaging and your script
144 | execution in different action to keep things organised.
145 |
146 | Now that we understand the various parts of our Zabbix dataflow we can dive deeper into creating the configuration for the steps in the dataflow.
147 |
148 |
149 | ## Questions
150 |
151 | ## Useful URLs
152 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/dependent.md:
--------------------------------------------------------------------------------
1 | # Dependent items
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/external-checks.md:
--------------------------------------------------------------------------------
1 | # External checks
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/host-interfaces.md:
--------------------------------------------------------------------------------
1 | # Host Interfaces
2 | As you might have noticed in the host creation window, there are also various other
3 |
4 | ### ZBX
5 |
6 | ### SNMP
7 |
8 | ### IPMI
9 |
10 | ### JMX
11 |
12 | ## Conclusion
13 |
14 | ## Questions
15 |
16 | ## Useful URLs
17 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/hosts.md:
--------------------------------------------------------------------------------
1 | # Hosts
2 | After reading the previous dataflow section, it is now clear we have to go through the
3 | dataflow steps to get from collecting data to sending out alerts.
4 | The first part of the dataflow is to create a host, so that is what we are now going to tackle
5 | in this part.
6 |
7 | ## Creating a host
8 | As we mentioned, Hosts in Zabbix are nothing more than a container (not the Docker kind).
9 | They contain our `Items`, `Triggers`, `graphs`, `Low Level Discovery` rules and `Web scenarios`.
10 |
11 | At this point, we should create our first monitoring host in Zabbix. Navigate to `Data collection` | `Hosts`
12 | and in the top right corner click on the `Create host` button. This will open up the following modal window:
13 |
14 | { align=left }
15 | *4.3 Empty host creation window*
16 |
17 | There are a lot of fields we can fill in, but few are important to note here specifically.
18 |
19 | - **Host name**
20 | - **Host groups**
21 |
22 | These are the only two mandatory fields in the host creation window. If we fill these two,
23 | we can create our host.
24 |
25 | ### Host name
26 | The `Host name` is very important. It functions as both the technical name of the host we will
27 | use in various different locations, but it is also used as the `Visible name` by default. This
28 | means that we will work with this name to find through filters this host with its associated data.
29 |
30 | Make sure to select a host name that is short and descriptive. For example:
31 |
32 | - linux-srv01-prd
33 | - www.thezabbixbook.com
34 | - docker-container-42
35 | - db-srv10 - Website database
36 |
37 | The best practise is to keep the host name the same in Zabbix as it is configured on your
38 | monitoring target. The monitoring target, being whatever you are trying to monitor.
39 | Whether that is a physical or virtual server, a website, a database server or
40 | a specific database on that database server. Every host in Zabbix is a monitoring target,
41 | i.e. something you are trying to monitor.
42 |
43 | ### Visible name
44 | Now, we didn't mention it as it is not a mandatory field. Nevertheless, we need to discuss
45 | the `Visible name` field before we continue with the `Host groups`. Although not mandatory,
46 | as I mentioned, the `Host name` is automatically used as the visible name when not filled in.
47 |
48 | Many of us see a form style list and have the need to fill out everything there is to fill out. This
49 | should not be the case with forms like the host creation window in Zabbix. We are only trying to
50 | fill out everything we should be configuring. As such, since the visible name is not mandatory, I
51 | do not fill it out. Unless, there is an actual need to use the field.
52 |
53 | The visible name was added in Zabbix as the host name and visible name fields in Zabbix use
54 | different character encoding in the Zabbix database.
55 |
56 | `Host name` = `UTF8` and supports alphanumeric, dashes, underscores and spaces (not leading or trailing).
57 | `Visible name` = `UTF8_MB4` and supports special characters like `ç` and even emojis like `👀`.
58 |
59 | This is the main difference. When you want to use a local language for example you could do:
60 |
61 | `Host name` = `sherbimi-central`
62 | `Visible name` = `shërbimi-çentral`
63 |
64 | That way you keep your local language in the frontend, but the technical name doesn't include the
65 | special character. Keep in mind however, that this can create confusion. You now need to remember
66 | two different names for the same host. As such, visible names are only recommended when you really need
67 | them or if you are trying to work around something. Otherwise, there is not need to use them.
68 |
69 | ### Host groups
70 | In Chapter 02 of the book, we had a deep dive into setting up various different host groups to keep
71 | our Zabbix environment structured. When we create a host, we can now start using on of
72 | our created host groups. Keep in mind, to only add the host to the lowest level of the subgroups. For
73 | example when we have `Servers` and `Servers/Linux`, we will only add our host to `Servers/Linux`.
74 |
75 | It's also possible to create a host straight from the host creation window. To do so,
76 | simply start typing the host group name into the `Host groups` field and it will ask you if
77 | you want to create the host group.
78 |
79 | { align=center }
80 |
81 | *4.4 Host creation - new host group*
82 |
83 | Let's add the host `simple-checks` in the `Linux/Servers` host group.
84 |
85 |
86 | ???+ note
87 |
88 | It's recommended to read the simple checks recipe from here, as it
89 | contains useful tips on creating good items.
90 |
91 |
92 |
93 | ## Conclusion
94 |
95 | ## Questions
96 |
97 | ## Useful URLs
98 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/http.md:
--------------------------------------------------------------------------------
1 | # Http
2 |
3 |
4 | ## Conclusion
5 |
6 | ## Questions
7 |
8 | ## Useful URLs
9 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/ipmi.md:
--------------------------------------------------------------------------------
1 | # IPMI
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/jmx.md:
--------------------------------------------------------------------------------
1 | # JMX
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/script.md:
--------------------------------------------------------------------------------
1 | # Script
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/simple-checks.md:
--------------------------------------------------------------------------------
1 | # Simple checks
2 | What would a Zabbix book be without setting up the actual monitoring itself, because in
3 | the end a monitoring system is all about collecting data through various different protocols.
4 |
5 | Simple checks are one (or actually several) of such protocols. Zabbix has a bunch of built-in
6 | checks we can do, executed from the Zabbix server or proxy towards our monitoring targets. The simple
7 | checks contain protocol checks such as `ICMP Ping`, `TCP/UDP` but also built in `VMware` monitoring.
8 |
9 | Without further ado, let's set up our first items. Please keep in mind that we will be building
10 | everything on a host level for now. Check out Chapter 06 to learn how to do this properly on a template.
11 |
12 | ## Building the item
13 | We shall start with a simple ICMP Ping check. If you haven't already, at `Data collection` | `Hosts`
14 | let's create the host `simple-checks` in the host group `Servers/Linux`. Then, for this
15 | new host navigate to `Items`. You should see a `Create item` button in the top right corner. Click
16 | on this button and lets have a look at the item creation modal popup window:
17 |
18 | { align=left }
19 |
20 | *4.5 Empty Item creation window*
21 |
22 | Make sure to change the `Type` to `Simple check` to get a similar result. We can see there are
23 | only two fields (that aren't selectors) mandatory. These, we have to fill in to make our
24 | item work.
25 |
26 | - **Name**
27 | - **Key**
28 |
29 | ### Item Name
30 | The `Item name` in Zabbix is a very important field for all of our items. This is going
31 | to be the first thing you see when looking for you configuration, but also the main identifier
32 | when you'll search the visualisation pages (like `Latest data`) for this item.
33 |
34 | Item names do not have to be unique (although it is recommended), as it will be
35 | the `Item key` that will make sure this item is distinguishable as a unique entity. So what is
36 | the best practise here?
37 |
38 | - **Item names should be short and descriptive**
39 | - **Item names should contain prefixes where useful**
40 | - **Item names should contain suffixes where useful**
41 |
42 | Some examples of good item names:
43 | - Use `Memory utilization` not `The memory util of this host`. Keep it short and descriptive
44 | - Use `CPU load` or if you have multiple use a suffix `CPU load 1m` and
45 | `CPU load 5m` for example
46 | - Use prefixes like `Interface eth0: Bits incoming` and
47 | `Interface eth1: Bits incoming` for similar items on different entities
48 |
49 | Using those techniques, we can create items that are easy to find and most importantly that
50 | your Zabbix users will want to read. After all, you can count on IT engineers to not read well,
51 | especially in a troubleshooting while everything is down scenario. Keeping things simple will
52 | also make sure your monitoring system will be a pleasure to be used or at least people won't
53 | avoid using your monitoring.
54 |
55 | My final and favourite tip is: **Remember: Zabbix uses alphabetical sorting in a lot of places**. Why
56 | is this important, well let's look at the `Monitoring` | `Latest data` page with a host using a
57 | default template:
58 |
59 | { align=left }
60 | *4.5 Latest data Memory and CPU items sorting*
61 |
62 | If this template had used CPU and Memory as a prefix for all respective items. Then this page
63 | would have nicely sorted them together. While right now, there are CPU items right between the
64 | memory related items. It creates a bit of a mess, making Zabbix harder to read.
65 |
66 | If you want to spend (waste?) 30 minutes of your time hearing all about sorting data in various
67 | different places in Zabbix. The following video is highly recommended: https://www.youtube.com/watch?v=5etxbNPrygU
68 |
69 |
70 | ### Item Key
71 | Next up is the item key, an important part of setting up your Zabbix item as it will serve as
72 | the uniqueness criteria for the creation of this entity. There are two types of item keys:
73 |
74 | - **Built in**
75 | - **User defined**
76 |
77 | The built in item keys is what we will use to create our simple check in a while. The user defined
78 | item key is what we will use on items types like `SNMP` and `Script`. The main difference is that
79 | built in item keys are defined by Zabbix and attach to a specific monitoring function. The user defined
80 | item keys are just there to serve as the uniqueness criteria, while a different field in the item form
81 | will determine the monitoring function.
82 |
83 | Item keys can also be of a `Flexible` or `Non-flexible` kind. Flexible meaning the item key accepts
84 | parameters. These parameters change the function of the built-in item keys and also count as part
85 | of the uniqueness of the item keys. For example:
86 |
87 | - **agent.version** a `Zabbix agent` item key doesn't accept parameters and only serves one purpose. To
88 | get the version of the Zabbix agent installed.
89 | - **net.tcp.service[service,,]** a `Simple check` item key that accepts 3 parameters,
90 | each parameter divided by a comma(`,`). Optional parameters are marked by the `<>` signs, whereas
91 | mandatory parameters have no pre/suffix.
92 |
93 |
94 | ### ICMP Ping
95 | With all of this in mind, let's finish the creation our ICMP Ping item. First, we will give our
96 | new item a name. Since this is a simple ICMP Ping to the host lets go for:
97 |
98 | - **Name** = `ICMP Ping`
99 |
100 | For the key, we will have to use the built-in key
101 | `icmpping[,,,,,]`. This key accepts 6 parameters, all
102 | of which are optional. However, when we do not select an interface on an `icmpping` item, we
103 | need to fill in at least `icmpping[]` for it to work. Normally `imcpping` can use the interface
104 | IP or DNS, but since we will discuss the `Host interfaces` later in this chapter, let's use
105 | the parameter instead.
106 |
107 | - **Key** = `icmpping[127.0.0.1]`
108 |
109 | The item will now look like this:
110 |
111 | { align=center }
112 | *4.7 ICMP Ping item*
113 |
114 | It's also best practise to add a tag with the name `component` to every item we create. Let's switch
115 | to the `Tags` tab on the item creation window, and create the tag `component:system`.
116 |
117 | { align=center }
118 | *4.8 ICMP Ping item tags*
119 |
120 | Zabbix utilises the fping utility, installed on the Zabbix server and/or proxy, to execute
121 | ICMP Ping checks. By default, Zabbix adds a repository containing the tool and installs
122 | the dependency. If you have a slightly different setup, make sure this utility is installed
123 | on your system and that the following two parameters are configured in the
124 | Zabbix server/proxy configuration file:
125 |
126 | !!! info "create mariadb repository"
127 |
128 |
129 | ``` FpingLocation=/usr/sbin/fping
130 |
131 | Fping6Location=/usr/sbin/fping6
132 | ```
133 |
134 | ## TCP/UDP Ports
135 | Another useful simple check you can create is the TCP (and UDP) port check. With these 4 item keys
136 | we can monitor the availability and performance of TCP and UDP ports. There are 4 built-in keys
137 | available for these checks:
138 |
139 | - **net.tcp.service[service,,]**
140 | - **net.tcp.service.perf[service,,]**
141 | - **net.udp.service[service,,]**
142 | - **net.udp.service.perf[service,,]**
143 |
144 | Granted, the `net.udp.service` item keys only monitor the availability and performance of the NTP
145 | protocol due to the "take it our leave it" nature of UDP. But, the `net.tcp.service` item keys are
146 | useful for monitoring every single TCP port available.
147 |
148 | We fill in the `service` parameter with `tcp` and the we use `ip` (or a host interface) and `port`
149 | to define which TCP port to check. Zabbix will connect to the port and tell us the up/down status
150 | or the connection speed if we use `net.tcp.service.perf`. If we fill in the `service` parameter with
151 | `ssh, ldap, smtp, ftp, pop, nntp, imap, tcp, https, telnet` it will use the correct (default) port
152 | automatically, as well as do an additional check to make sure the port is actually being used by that service.
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/snmp-polling.md:
--------------------------------------------------------------------------------
1 | # SNMP Polling
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/snmp-trapping.md:
--------------------------------------------------------------------------------
1 | # SNMP Trapping
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/ssh-telnet.md:
--------------------------------------------------------------------------------
1 | # SSH Telnet
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/zabbix-agent-active.md:
--------------------------------------------------------------------------------
1 | # Zabbix Agent Active
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/zabbix-agent-passive.md:
--------------------------------------------------------------------------------
1 | # Zabbix Agent Passive
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/zabbix-internal.md:
--------------------------------------------------------------------------------
1 | # Zabbix Internals
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch04-zabbix-collecting-data/zabbix-trapper.md:
--------------------------------------------------------------------------------
1 | # Zabbix trapper
2 |
3 | ## Conclusion
4 |
5 | ## Questions
6 |
7 | ## Useful URLs
8 |
--------------------------------------------------------------------------------
/docs/ch05-zabbix-triggers/advanced-triggers.md:
--------------------------------------------------------------------------------
1 | # Advanced triggers
2 |
--------------------------------------------------------------------------------
/docs/ch05-zabbix-triggers/chapter.md:
--------------------------------------------------------------------------------
1 | # Setting up triggers
2 |
3 | In this chapter, we'll **explore triggers in depth**, starting with the basics
4 | of setting up step triggers and progressively moving into **advanced trigger configurations**.
5 | You'll gain a thorough understanding of how triggers work, ensuring you can leverage
6 | them effectively to monitor your infrastructure.
7 |
8 | We'll take a **deep dive into the mechanics of triggers**, examining how they evaluate
9 | conditions and generate alerts. This section will also address the important topic
10 | of **monitoring and alerting fatigue**, providing strategies to fine-tune your triggers
11 | to reduce unnecessary alerts while maintaining optimal system oversight.
12 |
13 | By the end, you'll have the knowledge to set up both simple and complex triggers,
14 | helping you maintain a well balanced monitoring system that minimizes noise and
15 | focuses on what truly matters.
16 |
--------------------------------------------------------------------------------
/docs/ch05-zabbix-triggers/triggers.md:
--------------------------------------------------------------------------------
1 | # Triggers
2 |
--------------------------------------------------------------------------------
/docs/ch06-zabbix-templates/chapter.md:
--------------------------------------------------------------------------------
1 | # Building and using templates
2 |
3 | A great way to guide users towards a **deeper understanding of Zabbix** is by
4 | initially holding off on templates and gradually introducing them much like in
5 | formal training. In this chapter, we'll start by explaining the **basic usage
6 | of default templates** and how to find new ones, helping you get up and running
7 | with minimal effort.
8 |
9 | Once you're comfortable with default templates, we’ll dive into **building your
10 | own templates**, offering detailed instructions on customization and best practices.
11 | We’ll also cover how to **share your templates** within the Zabbix community,
12 | fostering collaboration and knowledge exchange.
13 |
14 | To round off, we'll feature **Tags and Macros**, explaining their roles within
15 | templates and why they're most effective when understood in the context of
16 | template usage. This structured approach will ensure you grasp the full potential
17 | of templates and their associated features in Zabbix.
18 |
19 | By the end of this chapter, you'll be well versed in both using and creating templates,
20 | equipped to enhance your monitoring setup and contribute to the broader Zabbix ecosystem.
21 |
--------------------------------------------------------------------------------
/docs/ch07-zabbix-alerts/chapter.md:
--------------------------------------------------------------------------------
1 | # Sending out alerts with Zabbix
2 |
3 | After delving into templates, it's time to **return to the data flow** and bring
4 | everything together by exploring integrations with powerful external services.
5 | In this chapter, we’ll **complete the data flow journey**, showing how to extend
6 | Zabbix capabilities through seamless connections with third-party tools
7 | and platforms.
8 |
9 | We'll guide you through setting up **integrations** that enhance your monitoring
10 | system, covering various use cases from alerting to data visualization and
11 | automation. By integrating Zabbix with external services, you'll unlock new
12 | levels of functionality, making your monitoring setup more dynamic and adaptable.
13 |
14 | By the end, you'll have a well-rounded understanding of how to fully utilize
15 | Zabbix data flow, augmented by strategic integrations that add value to your
16 | infrastructure management.
17 |
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/chapter.md:
--------------------------------------------------------------------------------
1 | # Using Low level discovery to automate
2 |
3 | In this chapter, we'll dive into **Low-Level Discovery (LLD)**, covering everything
4 | there is to know about this powerful feature in Zabbix. LLD automates the creation
5 | of hosts, items, triggers, and more, simplifying the management of large and
6 | dynamic environments.
7 |
8 | We'll also explain how to work with **custom JSON** in the context of LLD, showing
9 | you how to tailor discovery rules to fit your unique needs. By mastering these
10 | techniques, you'll be able to create highly adaptable monitoring setups that
11 | respond to changes in your infrastructure with minimal manual intervention.
12 |
13 | By the end of this chapter, you'll have a deep understanding of LLD, from basic
14 | concepts to advanced customization, enabling you to leverage its full potential
15 | in your Zabbix deployment.
16 |
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/lld-discovery-test.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/lld-discovery-test.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/lld-item-create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/lld-item-create.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/lld-override-operation.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/lld-override-operation.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/lld-override.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/lld-override.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/lld-test-item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/lld-test-item.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/lld-trigger.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/lld-trigger.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/lld-user-root-loggedin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/lld-user-root-loggedin.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/lld-users-override.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/lld-users-override.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/template-discovery-rule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/template-discovery-rule.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/custom-lld/template-lld-users.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/custom-lld/template-lld-users.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-discovery.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-discovery.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-filter-macro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-filter-macro.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-filters.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-filters.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-host.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-host.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-latestdata-updated.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-latestdata-updated.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-latestdata.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-latestdata.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-llditem.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-llditem.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-llditempreprocessing.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-llditempreprocessing.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-lldmacro.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-create-lldmacro.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-item.png
--------------------------------------------------------------------------------
/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-test-item.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch08-zabbix-lld/dependent lld/ch08-dependent-lld-test-item.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/chapter.md:
--------------------------------------------------------------------------------
1 | # Leveraging custom items for extending the Zabbix environment
2 |
3 | In this chapter, we'll take a **deep dive into extending Zabbix functionality**
4 | beyond its default item options. We'll cover the **script item**, **external checks**,
5 | **remote commands**, **user parameters**, and other advanced features that allow
6 | you to customize and expand your monitoring capabilities.
7 |
8 | You'll learn how to use these tools to **integrate custom logic**, monitor external
9 | applications, and automate tasks, making Zabbix an even more powerful and flexible
10 | solution tailored to your specific needs.
11 |
12 | By the end, you'll have the skills to push Zabbix beyond its default configuration,
13 | unlocking new possibilities for complex and unique monitoring scenarios.
14 |
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts.md:
--------------------------------------------------------------------------------
1 | # Frontend Scripts
2 |
3 | So, you're diving into the world of Zabbix frontend scripts, and you're in for
4 | a treat! These little powerhouses unlock a whole new level of flexibility within
5 | your Zabbix environment. Imagine being able to trigger custom actions directly from
6 | your Zabbix interface – whether it's as an action operation responding to an alert,
7 | a manual intervention on a host, or a targeted response to a specific event.
8 |
9 | What's truly exciting is *where* you can weave these scripts into your daily Zabbix
10 | workflow. Picture adding custom menu items right within your **Hosts**, **Problems**,
11 | **Dashboards**, and even your **Maps** sections. This means the information and
12 | tools you need are always at your fingertips.
13 |
14 | Ultimately, frontend scripts empower you to extend Zabbix far beyond it's out-of-the-box
15 | capabilities. They provide that crucial extra layer of customization, allowing you
16 | to seamlessly integrate your own scripts and workflows directly into the Zabbix
17 | frontend. Get ready to harness this power and tailor Zabbix precisely to your needs!
18 |
19 | ## Creating a frontend scripts
20 |
21 | For this example, we'll work with a frontend script I developed that lets you put
22 | hosts in maintenance mode. This script makes it possible to add a convenient option
23 | in your GUI, allowing you to place hosts in maintenance with just a few clicks.
24 | You can download the script from my GitHub repository :
25 |
26 | [https://github.com/Trikke76/Zabbix/blob/master/maintenance/zabbix-maintenance.py](https://github.com/Trikke76/Zabbix/blob/master/maintenance/zabbix-maintenance.py)
27 |
28 | !!! info "Download this script and place it in `/usr/bin/` "
29 | ```
30 | cd /usr/bin/
31 | sudo dnf install wget -y
32 | wget https://raw.githubusercontent.com/Trikke76/Zabbix/refs/heads/master/maintenance/zabbix-maintenance.py -P /usr/bin/
33 | chmod +x /usr/bin/zabbix-maintenance.py
34 | ```
35 | Our Python script relies on an additional package that needs to be installed before
36 | running. Make sure you have this dependency set up on your system before executing the script.
37 |
38 | !!! info "install python3-requests"
39 | Red Hat
40 | ```
41 | dnf install python3-requests
42 | ```
43 | Ubuntu
44 | ```
45 | sudo apt install python3-requests
46 | ```
47 |
48 | ???+ note
49 | For the user you can use the user `Admin` or you can create a new user. but
50 | make sure this user has enough permissions to create a maintenance mode.
51 | It's best practice to create a dedicated user for this in production.
52 |
53 | Starting with Zabbix 7.2, token-based authentication is required when working with
54 | the API. Each user can create their own tokens, while the `Super admin` has management
55 | privileges over all tokens.
56 |
57 | To create a token for your Admin user:
58 |
59 | - Navigate to `User settings`
60 | - Select the `API tokens` sections
61 |
62 | 
63 |
64 | *9.1 User API*
65 |
66 | After selecting `API tokens` from the menu, you'll land on the `API tokens` page.
67 | Look for the `Create API` token button in the top right corner and click it to
68 | begin the creation process.
69 |
70 | 
71 |
72 | *9.2 Create API page*
73 |
74 | A popup window will appear for creating your new API token. You'll need to provide
75 | a unique `Name` for your token. While there's an option to set an expiration date,
76 | we'll keep our token active indefinitely by leaving the time limit settings unchanged.
77 |
78 | 
79 |
80 | *9.3 Create new API token*
81 |
82 | A confirmation popup will display your newly created API token, showing the `Auth token`
83 | string generated by Zabbix. Be sure to copy or write down this token immediately,
84 | as it will no longer be visible once you click `Close`. If you lose this token,
85 | you'll need to delete it and create a new one. There's no way to retrieve or view
86 | the token again through the interface.
87 |
88 | 
89 |
90 | *9.4 Added API token*
91 |
92 | The next step is updating our script with the proper connection details. Edit the
93 | script and modify the variables to include your Zabbix server's correct URL and
94 | the token you just created. Pay attention to whether your server uses HTTP or HTTPS
95 | protocol. Be sure the URL in your script matches your actual server configuration.
96 |
97 | !!! info "Replace variables"
98 | ```
99 | sudo vi /usr/bin/zabbix-maintenance.py
100 | ```
101 | ```
102 | ZABBIX_API_URL = "https://zabbix-url.be/api_jsonrpc.php"
103 | ZABBIX_API_TOKEN = "API TOKEN"
104 | ```
105 |
106 | Now that our script is properly configured, we need to set it up in the Zabbix
107 | interface. From the main Zabbix menu, navigate to `Alerts` and then select `Scripts`
108 | from the dropdown to access the scripts configuration area.
109 |
110 | 
111 |
112 | *9.5 Scripts menu*
113 |
114 | You should already see a few existing script like `Ping`, `Traceroute`, .... that's
115 | normal those where created with the installation of Zabbix. Press the button `Create scripts`
116 | on the top right corner. A now form will popup where we will configure our maintenance
117 | script. Fill out the following fields:
118 |
119 | - *Name:* Create maintenance no data collection
120 | - *Scope* : Manual host action
121 | - *Menu path* : Maintenance
122 | - *Type* : Script
123 | - *Execute on* : Zabbix proxy or server
124 | - *Commands* : `/usr/bin/zabbix-maintenance.py create "{HOST.HOST}" {MANUALINPUT} no`
125 |
126 | At the bottom we have a tab `Advanced configuration` Click on this and extra configuration
127 | options will appear.
128 |
129 | As you probably noticed we used in our `Command` the macro `{MANUALINPUT}` this
130 | will be used to gather information from a user prompt. This allows us to ask
131 | the user to fill in the time he wants to place the host in maintenance.
132 |
133 | - *Enable user input* : yes
134 | - *Input prompt* : How many minutes do you want to place the host in maintenance ?
135 | - *Input type* : String (A dropdown box can also be used in case you have a list of options)
136 | - *Default string* : 60 (but we can use anything this will just be the default answer)
137 | - *Input validation rule* : `(\d+)` (our regex in perl to only allow digits)
138 | - *Enable confirmation* : yes
139 | - *Confirmation text* : Are you sure ?
140 |
141 | If everything went well you should end up with a similar looking page :
142 |
143 | 
144 |
145 | *9.6 Script form*
146 |
147 | When your are ready press `Add` at the bottom of the form. Let's test our script
148 | to see if it works.
149 |
150 | ### Testing the frontend script
151 |
152 | In Zabbix go to the menu `Monitoring` => `Hosts` and click on the host `Zabbix server`
153 | and from the `scripts` menu select `Maintenance` and click on the sub Menu
154 | `Create maintenance no data collection`. You should see a popup asking you how
155 | many minutes you like to place the host in maintenance.
156 |
157 | 
158 |
159 | *9.7 Create maintenance*
160 |
161 | When we click continue however we get a popup telling us that Zabbix cannot execute the script.
162 |
163 | 
164 |
165 | *9.8 Error executing script*
166 |
167 | This error is normal Zabbix has an option in the configuration file of the `Zabbix server`
168 | and the proxy that blocks the execution of global scripts.
169 |
170 | We get a notification that `Zabbix` cannot execute the script. The config file
171 | has an option to block global executions by default in the server or proxy config
172 | activate the option "EnableGlobalScripts=1". Go to the `Zabbix server` configuration
173 | file with you favourite editor and enable the parameter and restart the server service.
174 |
175 |
176 | If all goes well this time you will see a popup telling you it was successful this time.
177 |
178 | 
179 |
180 | *9.9 Maintenance successful*
181 |
182 | When we look in our Zabbix menu under `Data collection` => `Maintenance` we can see
183 | that a new maintenance was created for our host with the time we had specified.
184 | This will allow us to create Maintenance windows for hosts from the frontend with
185 | only a few clicks.
186 |
187 | Even better we are now able to allow certain non `Admin` users to create `maintenance periods`
188 | for hosts without the need to give special access rights or create special profiles.
189 | We have in our config of our script the option to limit the use of this `frontend script`
190 | to certain `Host groups` and `User groups`.
191 |
192 | ???+ Tip
193 | You can now create the same script but add the option `yes` instead of `no`
194 | when it comes to data collection and you can also create a script to delete
195 | the maintenance period by just replacing `create` with `delete` and remove
196 | all options after "{HOST.HOST}". This way you are able to create `maintenance periods`
197 | and delete them when not needed anymore per host.
198 |
199 |
200 |
201 |
202 |
203 | ## Conclusion
204 |
205 | Congratulations! You've reached the end of this journey into Zabbix frontend scripts.
206 | By now, you should have a solid understanding of how to create, implement, and manage
207 | these tools to extend Zabbix's functionality.
208 |
209 | We've covered a lot of ground, from the initial steps of crafting your own scripts
210 | to seamlessly integrating them into the Zabbix frontend. You've learned how to gather
211 | user input to make your scripts more dynamic and versatile, and, crucially, how to
212 | configure user and host permissions to maintain a secure and controlled Zabbix environment.
213 |
214 | The ability to tailor Zabbix to your specific needs with frontend scripts is a
215 | significant advantage. It allows you to automate repetitive tasks, streamline workflows,
216 | and gain deeper insights into your infrastructure. Whether you're automating routine
217 | checks, creating custom dashboards, or integrating with external systems, the
218 | knowledge you've gained here will enable you to effectively leverage Zabbix.
219 |
220 | Remember, the examples and techniques presented in this book provide a foundation.
221 | The true power of Zabbix frontend scripts lies in their flexibility and your ability
222 | to adapt them to your specific needs. As you continue to explore and experiment,
223 | you'll discover new ways to enhance your monitoring capabilities and optimize
224 | your Zabbix setup.
225 |
226 | ## Questions
227 |
228 | - Why are Zabbix frontend scripts useful?
229 | - What are some ways Zabbix frontend scripts can help automate tasks?
230 | - Why is it important to configure user and host permissions when using Zabbix frontend scripts?
231 |
232 | ## Useful URLs
233 |
234 | - https://blog.zabbix.com/setting-up-manual-ticket-creation-using-zabbix-frontend-scripts/15550/
235 | - https://www.zabbix.com/documentation/current/en/manual/web_interface/frontend_sections/administration/scripts
236 | - https://github.com/Trikke76/Zabbix/tree/master/maintenance
237 |
238 |
239 |
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-Alert-scripts-menu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-Alert-scripts-menu.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-api-token-added.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-api-token-added.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-create-api.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-create-api.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-error-execute-script.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-error-execute-script.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-host-testing-script.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-host-testing-script.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-maintenance-created.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-maintenance-created.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-new-api-token.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-new-api-token.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-ok-execute-script.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-ok-execute-script.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-script-form.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-script-form.png
--------------------------------------------------------------------------------
/docs/ch09-zabbix-extending/scripts/ch09-scripts-user.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/ch09-zabbix-extending/scripts/ch09-scripts-user.png
--------------------------------------------------------------------------------
/docs/ch10-zabbix-discovery/chapter.md:
--------------------------------------------------------------------------------
1 | # Automating Your Monitoring with Auto Discovery and Active Agent Auto Registration
2 |
3 | In this chapter, we'll explore two powerful automation features in Zabbix:
4 | **auto discovery** and **active agent auto-registration**. These tools are essential
5 | for scaling your monitoring efforts by minimizing manual configuration and
6 | ensuring new devices and services are seamlessly integrated into your Zabbix
7 | environment.
8 |
9 | We'll begin with **auto discovery**, which enables Zabbix to automatically detect
10 | and monitor new hosts and services within your network. You'll learn how to
11 | configure discovery rules, actions, and conditions to automate the onboarding
12 | process, making your monitoring more dynamic and adaptive to changes in your
13 | infrastructure.
14 |
15 | Next, we'll dive into **active agent auto registration**, which simplifies the
16 | management of Zabbix agents, especially in large or rapidly changing environments.
17 | We'll cover how to set up auto-registration rules that allow agents to register
18 | themselves with the Zabbix server, reducing administrative overhead and ensuring
19 | all relevant data is captured efficiently.
20 |
21 | By the end of this chapter, you'll have a thorough understanding of how to leverage
22 | auto-discovery and auto-registration to create a more automated, scalable, and
23 | efficient monitoring system.
24 |
--------------------------------------------------------------------------------
/docs/ch11-zabbix-visualisation/chapter.md:
--------------------------------------------------------------------------------
1 | # Graphs, Dashboards, Reports, Maps and other visualisation
2 |
3 | In this chapter, we delve into the heart of Zabbix's visualization capabilities,
4 | where data comes to life through intuitive and powerful visual tools.
5 | From dynamic graphs that track your system's performance to comprehensive dashboards
6 | that provide at-a-glance insights, Zabbix offers a rich set of visualization features
7 | to help you understand and manage your infrastructure.
8 |
9 | We'll start by exploring **graphs**, which allow you to monitor metrics over time,
10 | helping you spot trends and anomalies with ease. Next, we'll move on to **dashboards**,
11 | where you can aggregate multiple widgets into a single view for a more holistic
12 | understanding of your network's health.
13 |
14 | Then, we'll discuss **reports** an essential feature for summarizing and sharing
15 | insights with your team or stakeholders.
16 | Finally, we'll cover **maps**, a unique visualization tool that lets you create
17 | interactive representations of your network topology, making it easier to
18 | pinpoint issues and understand relationships between different components.
19 |
20 | By the end of this chapter, you'll have a comprehensive understanding of how to
21 | leverage Zabbix's visualization tools to monitor, analyse, and communicate the
22 | state of your IT environment effectively.
23 | Whether you're a seasoned administrator or just starting with Zabbix, mastering
24 | these visual tools will enhance your ability to manage complex infrastructures
25 | and ensure optimal performance.
26 |
27 | Let's dive into the world of Zabbix visualizations and unlock the full potential
28 | of your monitoring setup.
29 |
--------------------------------------------------------------------------------
/docs/ch12-zabbix-api/chapter.md:
--------------------------------------------------------------------------------
1 | # Zabbix API
2 |
3 | The Zabbix API is a crucial part for anyone looking to expand the capabilities of their Zabbix environment, automate time-consuming tasks and get information for usage in other systems. In this chapter we will go over various of these capabilities to expand our knowledge of the Zabbix API.
--------------------------------------------------------------------------------
/docs/ch13-zabbix-real-world-examples/chapter.md:
--------------------------------------------------------------------------------
1 | # Zabbix real world examples
2 |
3 | In this book we have learned a lot about our Zabbix environment, but most of it is building the foundation to start doing it on your own. From time to time you will encounter an implementation in a Zabbix environment that uses out of the box thinking or is just so simple you can't believe you never thought of it.
4 |
5 | This chapter aims to provide you a collection of interesting things people have built and things you absolutely have to know exist.
--------------------------------------------------------------------------------
/docs/de/Guidelines.md:
--------------------------------------------------------------------------------
1 | # Guidelines
2 |
3 | ## How to contribute
4 |
5 |
6 | - Sign the [deed of
7 | transfer](https://www.thezabbixbook.com/files/form%20deed%20of%20transfer%20Book%20Zabbix.pdf)
8 | preferable electronically
9 | - Clone this project to your Github account
10 | - Clone the repository to you pc
11 |
12 | - Install the needed software for Mkdocs to work, check the file in the root
13 | folder how-to-install-mkdocs.md
14 | - Create a new branch to make your changes
15 | - git branch ""
16 | - git checkout ""
17 | - Make the changes you want and commit them
18 | - git add "files you changed"
19 | - git commit -m "add useful commit info"
20 | - Return back to the main branch
21 | - git checkout main
22 | - Make sure you have the latest changes merged from main
23 | - git pull origin main
24 | - Merge your branch into the main branch
25 | - git merge ""
26 | - git push
27 | - cleanup your branch
28 | - git branch -d ""
29 | - Create a pull requests so that we can merge it :)
30 | - Follow these
31 | [guidelines](https://github.com/penmasters/zabbix-book/how-to-rules-for-writing.md)
32 | when you write a topic.
33 |
--------------------------------------------------------------------------------
/docs/de/ch01-zabbix-components/chapter.md:
--------------------------------------------------------------------------------
1 | # About us German
2 |
--------------------------------------------------------------------------------
/docs/de/ch03-zabbix-proxies/chapter.md:
--------------------------------------------------------------------------------
1 | # proxies
2 |
--------------------------------------------------------------------------------
/docs/de/index.md:
--------------------------------------------------------------------------------
1 | # Welcome
2 |
3 | This book is born from a simple desire: **to give back**. After years of working
4 | with Zabbix, and authoring previous many other publications about the platform,
5 | Patrik and Nathan felt a strong pull to share their knowledge in a way that was
6 | accessible to everyone. That's how the initial idea of a free, online Zabbix
7 | resource was conceived – **a community-driven project dedicated to empowering
8 | users**.
9 |
10 | As the online resource grew, so did the vision. We recognized the potential to
11 | create something even more impactful. This led to the formation of a foundation,
12 | dedicated to ensuring the long-term sustainability and growth of this community
13 | effort. This book, a tangible culmination of that vision, represents the next
14 | step. All profits generated from its sales will be reinvested back into the
15 | community, enabling us to further expand and enhance the resources and support
16 | we offer. This is more than just a book; it's a testament to the power of shared
17 | knowledge and a commitment to fostering a thriving Zabbix community."
18 |
19 | ## License
20 |
21 | Please note: The english version is the primary source document. Translations
22 | are provided for convenience, but this version is considered the most accurate.
23 |
24 |
25 | Please before you start take a look at our most updated license :
26 | [License](https://github.com/penmasters/zabbix-book/blob/main/readme.md) on
27 | Github.
28 |
29 | *The Zabbix Book* is a freely accessible resource designed to help users
30 | understand and master Zabbix. Contributions are highly encouraged to improve and
31 | expand its content. However, the book is distributed under the **Creative
32 | Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0)** license,
33 | meaning it is free for non-commercial use only.
34 |
35 | Contributors should be aware that:
36 |
37 | - By contributing to this work, you irrevocably assign and transfer all rights,
38 | title, and interest in your contributions to **The Monitoring Penmasters
39 | Foundation**, including any associated intellectual property rights, to the
40 | fullest extent permitted by law.
41 | - **The Monitoring Penmasters Foundation** reserves the right to use, reproduce,
42 | modify, distribute, and commercially exploit any contributed material in any
43 | form, including but not limited to the publication of physical and digital
44 | books.
45 | - All contributors must sign a **Deed of Transfer of Intellectual Property
46 | Rights** before making any contributions, ensuring the proper transfer of
47 | rights and handling of the content by **The Monitoring Penmasters
48 | Foundation**. Any contributions without a signed **Deed of Transfer of
49 | Intellectual Property Rights** cannot be accepted.
50 | - All profits generated will be used by The Monitoring Penmasters Foundation to
51 | cover operational expenses and to sponsor other open-source projects, as
52 | determined by the foundation.
53 |
54 | Your contributions are invaluable and will help make *The Zabbix Book* an even
55 | greater resource for the entire community!
56 |
57 | Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
58 |
59 | [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
60 | License][cc-by-nc-sa].
61 |
62 | [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
63 |
64 | [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
65 | [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
66 | [cc-by-nc-sa-shield]:
67 | https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg
68 |
--------------------------------------------------------------------------------
/docs/es/Guidelines.md:
--------------------------------------------------------------------------------
1 | # Guidelines
2 |
3 | ## How to contribute
4 |
5 |
6 | - Sign the [deed of
7 | transfer](https://www.thezabbixbook.com/files/form%20deed%20of%20transfer%20Book%20Zabbix.pdf)
8 | preferable electronically
9 | - Clone this project to your Github account
10 | - Clone the repository to you pc
11 |
12 | - Install the needed software for Mkdocs to work, check the file in the root
13 | folder how-to-install-mkdocs.md
14 | - Create a new branch to make your changes
15 | - git branch ""
16 | - git checkout ""
17 | - Make the changes you want and commit them
18 | - git add "files you changed"
19 | - git commit -m "add useful commit info"
20 | - Return back to the main branch
21 | - git checkout main
22 | - Make sure you have the latest changes merged from main
23 | - git pull origin main
24 | - Merge your branch into the main branch
25 | - git merge ""
26 | - git push
27 | - cleanup your branch
28 | - git branch -d ""
29 | - Create a pull requests so that we can merge it :)
30 | - Follow these
31 | [guidelines](https://github.com/penmasters/zabbix-book/how-to-rules-for-writing.md)
32 | when you write a topic.
33 |
--------------------------------------------------------------------------------
/docs/es/ch01-zabbix-components/chapter.md:
--------------------------------------------------------------------------------
1 | # About Us Spanish
2 |
--------------------------------------------------------------------------------
/docs/es/index.md:
--------------------------------------------------------------------------------
1 | # Welcome
2 |
3 | This book is born from a simple desire: **to give back**. After years of working
4 | with Zabbix, and authoring previous many other publications about the platform,
5 | Patrik and Nathan felt a strong pull to share their knowledge in a way that was
6 | accessible to everyone. That's how the initial idea of a free, online Zabbix
7 | resource was conceived – **a community-driven project dedicated to empowering
8 | users**.
9 |
10 | As the online resource grew, so did the vision. We recognized the potential to
11 | create something even more impactful. This led to the formation of a foundation,
12 | dedicated to ensuring the long-term sustainability and growth of this community
13 | effort. This book, a tangible culmination of that vision, represents the next
14 | step. All profits generated from its sales will be reinvested back into the
15 | community, enabling us to further expand and enhance the resources and support
16 | we offer. This is more than just a book; it's a testament to the power of shared
17 | knowledge and a commitment to fostering a thriving Zabbix community."
18 |
19 | ## License
20 |
21 | Please note: The english version is the primary source document. Translations
22 | are provided for convenience, but this version is considered the most accurate.
23 |
24 |
25 | Please before you start take a look at our most updated license :
26 | [License](https://github.com/penmasters/zabbix-book/blob/main/readme.md) on
27 | Github.
28 |
29 | *The Zabbix Book* is a freely accessible resource designed to help users
30 | understand and master Zabbix. Contributions are highly encouraged to improve and
31 | expand its content. However, the book is distributed under the **Creative
32 | Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0)** license,
33 | meaning it is free for non-commercial use only.
34 |
35 | Contributors should be aware that:
36 |
37 | - By contributing to this work, you irrevocably assign and transfer all rights,
38 | title, and interest in your contributions to **The Monitoring Penmasters
39 | Foundation**, including any associated intellectual property rights, to the
40 | fullest extent permitted by law.
41 | - **The Monitoring Penmasters Foundation** reserves the right to use, reproduce,
42 | modify, distribute, and commercially exploit any contributed material in any
43 | form, including but not limited to the publication of physical and digital
44 | books.
45 | - All contributors must sign a **Deed of Transfer of Intellectual Property
46 | Rights** before making any contributions, ensuring the proper transfer of
47 | rights and handling of the content by **The Monitoring Penmasters
48 | Foundation**. Any contributions without a signed **Deed of Transfer of
49 | Intellectual Property Rights** cannot be accepted.
50 | - All profits generated will be used by The Monitoring Penmasters Foundation to
51 | cover operational expenses and to sponsor other open-source projects, as
52 | determined by the foundation.
53 |
54 | Your contributions are invaluable and will help make *The Zabbix Book* an even
55 | greater resource for the entire community!
56 |
57 | Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
58 |
59 | [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
60 | License][cc-by-nc-sa].
61 |
62 | [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
63 |
64 | [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
65 | [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
66 | [cc-by-nc-sa-shield]:
67 | https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg
68 |
--------------------------------------------------------------------------------
/docs/files/form deed of transfer Book Zabbix.pdf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/penmasters/zabbix-book/54f2cc44720bb5894c193248dfd574049bcfa263/docs/files/form deed of transfer Book Zabbix.pdf
--------------------------------------------------------------------------------
/docs/fr/Guidelines.md:
--------------------------------------------------------------------------------
1 | # Guidelines
2 |
3 | ## How to contribute
4 |
5 |
6 | - Sign the [deed of
7 | transfer](https://www.thezabbixbook.com/files/form%20deed%20of%20transfer%20Book%20Zabbix.pdf)
8 | preferable electronically
9 | - Clone this project to your Github account
10 | - Clone the repository to you pc
11 |
12 | - Install the needed software for Mkdocs to work, check the file in the root
13 | folder how-to-install-mkdocs.md
14 | - Create a new branch to make your changes
15 | - git branch ""
16 | - git checkout ""
17 | - Make the changes you want and commit them
18 | - git add "files you changed"
19 | - git commit -m "add useful commit info"
20 | - Return back to the main branch
21 | - git checkout main
22 | - Make sure you have the latest changes merged from main
23 | - git pull origin main
24 | - Merge your branch into the main branch
25 | - git merge ""
26 | - git push
27 | - cleanup your branch
28 | - git branch -d ""
29 | - Create a pull requests so that we can merge it :)
30 | - Follow these
31 | [guidelines](https://github.com/penmasters/zabbix-book/how-to-rules-for-writing.md)
32 | when you write a topic.
33 |
--------------------------------------------------------------------------------
/docs/fr/ch01-zabbix-components/chapter.md:
--------------------------------------------------------------------------------
1 | # French ch1 index
2 |
--------------------------------------------------------------------------------
/docs/fr/ch03-zabbix-proxies/chapter.md:
--------------------------------------------------------------------------------
1 | # proxies
2 |
--------------------------------------------------------------------------------
/docs/fr/index.md:
--------------------------------------------------------------------------------
1 | # Welcome
2 |
3 | This book is born from a simple desire: **to give back**. After years of working
4 | with Zabbix, and authoring previous many other publications about the platform,
5 | Patrik and Nathan felt a strong pull to share their knowledge in a way that was
6 | accessible to everyone. That's how the initial idea of a free, online Zabbix
7 | resource was conceived – **a community-driven project dedicated to empowering
8 | users**.
9 |
10 | As the online resource grew, so did the vision. We recognized the potential to
11 | create something even more impactful. This led to the formation of a foundation,
12 | dedicated to ensuring the long-term sustainability and growth of this community
13 | effort. This book, a tangible culmination of that vision, represents the next
14 | step. All profits generated from its sales will be reinvested back into the
15 | community, enabling us to further expand and enhance the resources and support
16 | we offer. This is more than just a book; it's a testament to the power of shared
17 | knowledge and a commitment to fostering a thriving Zabbix community."
18 |
19 | ## License
20 |
21 | Please note: The english version is the primary source document. Translations
22 | are provided for convenience, but this version is considered the most accurate.
23 |
24 |
25 | Please before you start take a look at our most updated license :
26 | [License](https://github.com/penmasters/zabbix-book/blob/main/readme.md) on
27 | Github.
28 |
29 | *The Zabbix Book* is a freely accessible resource designed to help users
30 | understand and master Zabbix. Contributions are highly encouraged to improve and
31 | expand its content. However, the book is distributed under the **Creative
32 | Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0)** license,
33 | meaning it is free for non-commercial use only.
34 |
35 | Contributors should be aware that:
36 |
37 | - By contributing to this work, you irrevocably assign and transfer all rights,
38 | title, and interest in your contributions to **The Monitoring Penmasters
39 | Foundation**, including any associated intellectual property rights, to the
40 | fullest extent permitted by law.
41 | - **The Monitoring Penmasters Foundation** reserves the right to use, reproduce,
42 | modify, distribute, and commercially exploit any contributed material in any
43 | form, including but not limited to the publication of physical and digital
44 | books.
45 | - All contributors must sign a **Deed of Transfer of Intellectual Property
46 | Rights** before making any contributions, ensuring the proper transfer of
47 | rights and handling of the content by **The Monitoring Penmasters
48 | Foundation**. Any contributions without a signed **Deed of Transfer of
49 | Intellectual Property Rights** cannot be accepted.
50 | - All profits generated will be used by The Monitoring Penmasters Foundation to
51 | cover operational expenses and to sponsor other open-source projects, as
52 | determined by the foundation.
53 |
54 | Your contributions are invaluable and will help make *The Zabbix Book* an even
55 | greater resource for the entire community!
56 |
57 | Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
58 |
59 | [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
60 | License][cc-by-nc-sa].
61 |
62 | [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
63 |
64 | [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
65 | [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
66 | [cc-by-nc-sa-shield]:
67 | https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg
68 |
--------------------------------------------------------------------------------
/docs/index.md:
--------------------------------------------------------------------------------
1 | # Welcome
2 |
3 | This book is born from a simple desire: **to give back**. After years of
4 | working with Zabbix, and authoring previous many other publications about the platform,
5 | Patrik and Nathan felt a strong pull to share their knowledge in a way that was accessible
6 | to everyone. That's how the initial idea of a free, online Zabbix resource was
7 | conceived – **a community-driven project dedicated to empowering users**.
8 |
9 | As the online resource grew, so did the vision. We recognized the potential to create
10 | something even more impactful. This led to the formation of a foundation, dedicated
11 | to ensuring the long-term sustainability and growth of this community effort.
12 | This book, a tangible culmination of that vision, represents the next step. All
13 | profits generated from its sales will be reinvested back into the community, enabling
14 | us to further expand and enhance the resources and support we offer. This is more
15 | than just a book; it's a testament to the power of shared knowledge and a commitment
16 | to fostering a thriving Zabbix community."
17 |
18 | ## License
19 |
20 | Please note: The english version is the primary source document.
21 | Translations are provided for convenience, but this version is considered the
22 | most accurate.
23 |
24 |
25 | Please before you start take a look at our most updated license : [License](https://github.com/penmasters/zabbix-book/blob/main/readme.md)
26 | on Github.
27 |
28 | *The Zabbix Book* is a freely accessible resource designed to help users understand
29 | and master Zabbix. Contributions are highly encouraged to improve and expand its
30 | content. However, the book is distributed under the
31 | **Creative Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0)**
32 | license, meaning it is free for non-commercial use only.
33 |
34 | Contributors should be aware that:
35 |
36 | - By contributing to this work, you irrevocably assign and transfer all rights, title,
37 | and interest in your contributions to **The Monitoring Penmasters Foundation**,
38 | including any associated intellectual property rights, to the fullest extent permitted by law.
39 | - **The Monitoring Penmasters Foundation** reserves the right to use, reproduce,
40 | modify, distribute, and commercially exploit any contributed material in any form,
41 | including but not limited to the publication of physical and digital books.
42 | - All contributors must sign a **Deed of Transfer of Intellectual Property Rights** before making
43 | any contributions, ensuring the proper transfer of rights and handling of the content
44 | by **The Monitoring Penmasters Foundation**. Any contributions without a signed
45 | **Deed of Transfer of Intellectual Property Rights** cannot be accepted.
46 | - All profits generated will be used by The Monitoring Penmasters Foundation to cover
47 | operational expenses and to sponsor other open-source projects, as determined by the foundation.
48 |
49 | Your contributions are invaluable and will help make *The Zabbix Book* an even greater
50 | resource for the entire community!
51 |
52 | Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
53 |
54 | [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License][cc-by-nc-sa].
55 |
56 | [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
57 |
58 | [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
59 | [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
60 | [cc-by-nc-sa-shield]: https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg
61 |
--------------------------------------------------------------------------------
/docs/it/Guidelines.md:
--------------------------------------------------------------------------------
1 | # Guidelines
2 |
3 | ## How to contribute
4 |
5 |
6 | - Sign the [deed of
7 | transfer](https://www.thezabbixbook.com/files/form%20deed%20of%20transfer%20Book%20Zabbix.pdf)
8 | preferable electronically
9 | - Clone this project to your Github account
10 | - Clone the repository to you pc
11 |
12 | - Install the needed software for Mkdocs to work, check the file in the root
13 | folder how-to-install-mkdocs.md
14 | - Create a new branch to make your changes
15 | - git branch ""
16 | - git checkout ""
17 | - Make the changes you want and commit them
18 | - git add "files you changed"
19 | - git commit -m "add useful commit info"
20 | - Return back to the main branch
21 | - git checkout main
22 | - Make sure you have the latest changes merged from main
23 | - git pull origin main
24 | - Merge your branch into the main branch
25 | - git merge ""
26 | - git push
27 | - cleanup your branch
28 | - git branch -d ""
29 | - Create a pull requests so that we can merge it :)
30 | - Follow these
31 | [guidelines](https://github.com/penmasters/zabbix-book/how-to-rules-for-writing.md)
32 | when you write a topic.
33 |
--------------------------------------------------------------------------------
/docs/it/ch01-zabbix-components/chapter.md:
--------------------------------------------------------------------------------
1 | # About Us Italian
2 |
--------------------------------------------------------------------------------
/docs/it/ch03-zabbix-proxies/chapter.md:
--------------------------------------------------------------------------------
1 | # proxies
2 |
--------------------------------------------------------------------------------
/docs/it/index.md:
--------------------------------------------------------------------------------
1 | # Welcome
2 |
3 | This book is born from a simple desire: **to give back**. After years of working
4 | with Zabbix, and authoring previous many other publications about the platform,
5 | Patrik and Nathan felt a strong pull to share their knowledge in a way that was
6 | accessible to everyone. That's how the initial idea of a free, online Zabbix
7 | resource was conceived – **a community-driven project dedicated to empowering
8 | users**.
9 |
10 | As the online resource grew, so did the vision. We recognized the potential to
11 | create something even more impactful. This led to the formation of a foundation,
12 | dedicated to ensuring the long-term sustainability and growth of this community
13 | effort. This book, a tangible culmination of that vision, represents the next
14 | step. All profits generated from its sales will be reinvested back into the
15 | community, enabling us to further expand and enhance the resources and support
16 | we offer. This is more than just a book; it's a testament to the power of shared
17 | knowledge and a commitment to fostering a thriving Zabbix community."
18 |
19 | ## License
20 |
21 | Please note: The english version is the primary source document. Translations
22 | are provided for convenience, but this version is considered the most accurate.
23 |
24 |
25 | Please before you start take a look at our most updated license :
26 | [License](https://github.com/penmasters/zabbix-book/blob/main/readme.md) on
27 | Github.
28 |
29 | *The Zabbix Book* is a freely accessible resource designed to help users
30 | understand and master Zabbix. Contributions are highly encouraged to improve and
31 | expand its content. However, the book is distributed under the **Creative
32 | Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0)** license,
33 | meaning it is free for non-commercial use only.
34 |
35 | Contributors should be aware that:
36 |
37 | - By contributing to this work, you irrevocably assign and transfer all rights,
38 | title, and interest in your contributions to **The Monitoring Penmasters
39 | Foundation**, including any associated intellectual property rights, to the
40 | fullest extent permitted by law.
41 | - **The Monitoring Penmasters Foundation** reserves the right to use, reproduce,
42 | modify, distribute, and commercially exploit any contributed material in any
43 | form, including but not limited to the publication of physical and digital
44 | books.
45 | - All contributors must sign a **Deed of Transfer of Intellectual Property
46 | Rights** before making any contributions, ensuring the proper transfer of
47 | rights and handling of the content by **The Monitoring Penmasters
48 | Foundation**. Any contributions without a signed **Deed of Transfer of
49 | Intellectual Property Rights** cannot be accepted.
50 | - All profits generated will be used by The Monitoring Penmasters Foundation to
51 | cover operational expenses and to sponsor other open-source projects, as
52 | determined by the foundation.
53 |
54 | Your contributions are invaluable and will help make *The Zabbix Book* an even
55 | greater resource for the entire community!
56 |
57 | Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
58 |
59 | [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
60 | License][cc-by-nc-sa].
61 |
62 | [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
63 |
64 | [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
65 | [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
66 | [cc-by-nc-sa-shield]:
67 | https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg
68 |
--------------------------------------------------------------------------------
/docs/known_words.txt:
--------------------------------------------------------------------------------
1 | zabbix
2 | nginx
3 | mariadb
4 | rockylinux
5 | md
6 | autoregistration
7 | mkdocs
8 | subprocesses
9 | frontend
10 | onboarding
11 | okta
12 | dataflow
13 | chrony
14 | dnf
15 | iptables
16 | virtualised
17 | penmasters
18 | firewalld
19 | https
20 | http
21 | www
22 | en
23 | github
24 | repo
25 | repos
26 | log_bin_trust_function_creators
27 | emojis
28 | mysqld
29 | runtime
30 | srv
31 | charset
32 | pg
33 | pg_hba
34 | html
35 | hba
36 | postgres
37 | config
38 | postgresql
39 | dp
40 | hevodata
41 | schemas
42 | search_path
43 | sql
44 | zabbix_server
45 | enablerepo
46 | epel
47 | sestatus
48 | impactful
49 | patrik
50 | db
51 | redhat
52 | localhost
53 | ansible
54 | url
55 | ip
56 | zh
57 | mysql
58 | todo
59 | cnf
60 | install_from_packages
61 | log_error
62 | log_warnings
63 | failover
64 | keepalived
65 | readthedocs
66 | virtual_ipaddress
67 | io
68 | ha
69 | fqdn
70 | server_name
71 | php
72 | idp
73 | saml
74 | web_interface
75 | crt
76 | your_idp_id
77 | your_request
78 | your_zabbix_server
79 | idpid
80 | hostname
81 | frontend_sections
82 | gmail
83 | offboarding
84 | backend
85 | dmz
86 | nm
87 | chronyd
88 | ntppool
89 | ntp
90 | log_bin_trust
91 | ddl
92 | selinux
93 | yaml
94 | sudo
95 | postgresqldpkg
96 | wget
97 | epelrepo
98 | pgsql
99 | dpkg
100 | advert_int
101 | auth_pass
102 | auth_type
103 | track_nginx
104 | track_process
105 | virtual_router_id
106 | vrrp_instance
107 | vrrp_track_process
108 | systemd
109 | json
110 | sh
111 | ex
112 | xfs
113 | userparameter
114 | userparameters
115 | ok
116 | lld
117 | datacenter
118 | hypervisor
119 | pre
120 | larcorba
121 | liefting
122 | oicts
123 | uytterhoeven
124 | preprocessing
125 | txt
126 | vfs
127 | jsonquerytool
128 | low_level_discovery
129 | nvps
130 | misconfigurations
131 | roadmap
132 | fping
133 | getenforce
134 | httpd
135 | httpd_can_connect_zabbix
136 | httpd_t
137 | zabbix_can_network
138 | zabbix_fping
139 | zabbix_port_t
140 | zabbix_run_sudo
141 | zabbix_var_run_t
142 | semanage
143 | restorecon
144 | setuid
145 | ls
146 | te
147 | zabbix_t
148 | booleans
149 | perf
150 | sbin
151 | tcp
152 | udp
153 | usr
154 | thezabbixbook
155 | dropdown
156 | py
157 | odbc
158 | zabbix_selinux
159 | zabbix_agent_selinux
160 | setsebool
161 | rhel
162 | systutorials
163 | hl
164 | kb
165 | linuxreviews
166 | phoenixnap
167 | prd
168 | tmux
169 | uncomment
170 | ipaddress
171 | cronjob
172 | crontab
173 | nano
174 | opensource
175 | powertools
176 | uint
177 | mfa
178 | history_log
179 | history_bin
180 | history_str
181 | history_text
182 | history_uint
183 | trends_uint
184 | zabbix_proxy
185 | log_level_increase
186 | log_level_decrease
187 | snmp_cache_reload
188 | housekeeper_execute
189 | diaginfo
190 | pollers
191 |
192 |
--------------------------------------------------------------------------------
/docs/nl/Guidelines.md:
--------------------------------------------------------------------------------
1 | # Richtlijnen
2 |
3 | ## Hoe u kunt bijdragen
4 |
5 |
6 | - Onderteken de [akte van
7 | overdracht](https://www.thezabbixbook.com/files/form%20deed%20of%20transfer%20Book%20Zabbix.pdf)
8 | bij voorkeur elektronisch
9 | - Kloon dit project naar uw Github account
10 | - Kloon de repository naar uw pc
11 |
12 | - Installeer de benodigde software om Mkdocs te laten werken. Controleer het
13 | bestand in de hoofdmap how-to-install-mkdocs.md
14 | - Maak een nieuwe branch om uw wijzigingen door te voeren
15 | - git branch ""
16 | - git checkout ""
17 | - Maak de gewenste wijzigingen en commit ze
18 | - git add "bestanden die je hebt gewijzigd"
19 | - git commit -m "voeg nuttige commit info toe"
20 | - Terug naar de hoofdtak
21 | - git checkout main
22 | - Zorg ervoor dat je de laatste wijzigingen hebt samengevoegd vanuit het
23 | hoofdgedeelte
24 | - git pull origin main
25 | - Voeg uw branch samen met de hoofdbranch
26 | - git merge ""
27 | - git push
28 | - je branch opschonen
29 | - git branch -d ""
30 | - Maak een pull-verzoek zodat we het kunnen samenvoegen :)
31 | - Volg deze
32 | [richtlijnen](https://github.com/penmasters/zabbix-book/how-to-rules-for-writing.md)
33 | als je een onderwerp schrijft.
34 |
--------------------------------------------------------------------------------
/docs/nl/ch01-zabbix-components/chapter.md:
--------------------------------------------------------------------------------
1 | # Zabbix-componenten, basisfuncties en installatie
2 |
3 | In dit hoofdstuk breiden we de basiskennis uit het gedeelte 'Aan de slag' uit om
4 | een uitgebreide gids te bieden voor zowel beginners die Zabbix voor het eerst
5 | installeren als gevorderde gebruikers die hun installatie willen optimaliseren.
6 | We behandelen niet alleen de essentiële stappen voor een basisinstallatie,
7 | maar duiken ook in de fijnere details van de architectuur, componenten en best
8 | practices van Zabbix.
9 |
10 | We beginnen met het doorlopen van het installatieproces, zodat u een solide
11 | basis hebt om op voort te bouwen. Vanaf daar gaan we verder met de kerncomponenten
12 | van Zabbix, wat elk onderdeel doet, hoe ze met elkaar interacteren en waarom ze
13 | cruciaal zijn voor uw monitoringoplossing.
14 | U leert over subprocessen, hun rollen en hoe ze bijdragen aan de efficiëntie en
15 | betrouwbaarheid van Zabbix.
16 |
17 | Daarnaast onderzoeken we goede architectuurkeuzes die uw monitoringinstallatie
18 | kunnen maken of breken. Of u nu een klein netwerk of een grootschalige infrastructuur
19 | beheert, het vroegtijdig nemen van de juiste ontwerpbeslissingen levert dividenden op
20 | in schaalbaarheid, prestaties en onderhoud.
21 |
22 | Dit hoofdstuk is ontworpen om een breed scala aan lezers te bedienen. Als u Zabbix
23 | gewoon aan de praat wilt krijgen, vindt u duidelijke, stapsgewijze instructies.
24 | Voor degenen die dieper willen duiken, bieden we gedetailleerde inzichten in
25 | hoe Zabbix onder de motorkap functioneert, zodat u weloverwogen keuzes kunt maken
26 | die aansluiten bij uw behoeften en toekomstige groeiplannen.
27 |
28 | Aan het einde van dit hoofdstuk hebt u niet alleen een werkende Zabbix-installatie,
29 | maar ook een grondig begrip van de componenten en architectuur, waardoor u Zabbix
30 | optimaal kunt benutten, ongeacht de complexiteit van uw omgeving.
31 |
32 | Laten we beginnen aan deze gedetailleerde reis naar Zabbix en onszelf uitrusten
33 | met de kennis om zowel een krachtige monitoringoplossing te starten als te optimaliseren.
34 |
--------------------------------------------------------------------------------
/docs/nl/ch03-zabbix-proxies/chapter.md:
--------------------------------------------------------------------------------
1 | # proxies
2 |
--------------------------------------------------------------------------------
/docs/nl/index.md:
--------------------------------------------------------------------------------
1 | # Welkom
2 |
3 | Dit boek is geboren uit een eenvoudig verlangen: **om terug te geven**. Na jaren
4 | werken met Zabbix en het schrijven van vele andere publicaties over het
5 | platform, voelden Patrik en Nathan een sterke drang om hun kennis te delen op
6 | een manier die toegankelijk was voor iedereen. Zo ontstond het initiële idee
7 | voor een gratis, online Zabbix-bron. **een project gedreven door de community,
8 | toegewijd aan het versterken van gebruikers.**
9 |
10 | As the online resource grew, so did the vision. We recognized the potential to
11 | create something even more impactful. This led to the formation of a foundation,
12 | dedicated to ensuring the long-term sustainability and growth of this community
13 | effort. This book, a tangible culmination of that vision, represents the next
14 | step. All profits generated from its sales will be reinvested back into the
15 | community, enabling us to further expand and enhance the resources and support
16 | we offer. This is more than just a book; it's a testament to the power of shared
17 | knowledge and a commitment to fostering a thriving Zabbix community."
18 |
19 | ## License
20 |
21 | Please note: The english version is the primary source document. Translations
22 | are provided for convenience, but this version is considered the most accurate.
23 |
24 |
25 | Please before you start take a look at our most updated license :
26 | [License](https://github.com/penmasters/zabbix-book/blob/main/readme.md) on
27 | Github.
28 |
29 | *The Zabbix Book* is a freely accessible resource designed to help users
30 | understand and master Zabbix. Contributions are highly encouraged to improve and
31 | expand its content. However, the book is distributed under the **Creative
32 | Commons Attribution-NonCommercial-ShareAlike 4.0 (CC BY-NC-SA 4.0)** license,
33 | meaning it is free for non-commercial use only.
34 |
35 | Contributors should be aware that:
36 |
37 | - By contributing to this work, you irrevocably assign and transfer all rights,
38 | title, and interest in your contributions to **The Monitoring Penmasters
39 | Foundation**, including any associated intellectual property rights, to the
40 | fullest extent permitted by law.
41 | - **The Monitoring Penmasters Foundation** reserves the right to use, reproduce,
42 | modify, distribute, and commercially exploit any contributed material in any
43 | form, including but not limited to the publication of physical and digital
44 | books.
45 | - All contributors must sign a **Deed of Transfer of Intellectual Property
46 | Rights** before making any contributions, ensuring the proper transfer of
47 | rights and handling of the content by **The Monitoring Penmasters
48 | Foundation**. Any contributions without a signed **Deed of Transfer of
49 | Intellectual Property Rights** cannot be accepted.
50 | - All profits generated will be used by The Monitoring Penmasters Foundation to
51 | cover operational expenses and to sponsor other open-source projects, as
52 | determined by the foundation.
53 |
54 | Your contributions are invaluable and will help make *The Zabbix Book* an even
55 | greater resource for the entire community!
56 |
57 | Shield: [![CC BY-NC-SA 4.0][cc-by-nc-sa-shield]][cc-by-nc-sa]
58 |
59 | [Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International
60 | License][cc-by-nc-sa].
61 |
62 | [![CC BY-NC-SA 4.0][cc-by-nc-sa-image]][cc-by-nc-sa]
63 |
64 | [cc-by-nc-sa]: http://creativecommons.org/licenses/by-nc-sa/4.0/
65 | [cc-by-nc-sa-image]: https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png
66 | [cc-by-nc-sa-shield]:
67 | https://img.shields.io/badge/License-CC%20BY--NC--SA%204.0-lightgrey.svg
68 |
--------------------------------------------------------------------------------
/docs/overrides/main.html:
--------------------------------------------------------------------------------
1 | {% extends "base.html" %}
2 |
3 | {% block content %}
4 |
5 | {% if page.url_to_print_page %}
6 |
7 | {% include ".icons/material/printer.svg" %}
8 |
9 | {% endif %}
10 |
11 | {{ super() }}
12 | {% endblock content %}
13 |
14 | {#
15 | Extend the last block in the `base.html` before the changes are applicable
16 | to avoid any issues with the hacky page.meta
17 | #}
18 | {% block scripts %}
19 | {# Include original content before the additions #}
20 | {{ super() }}
21 | {% if page %}
22 | {% if not page.meta %}
23 | {# Set page.meta to an empty dict/mapping #}
24 | {% set _ = page.__setattr__("meta", {}) %}
25 | {% endif %}
26 | {# Let It Snow by updating the dict/mapping pair #}
27 | {% set _ = page.meta.update({"ᴴₒᴴₒᴴₒ": True}) %}
28 | {% endif %}
29 | {% endblock %}
30 |
31 | {% block announce %}
32 | {%
33 | set announcement = {
34 | "en": "This page has not yet been translated into LANGUAGE, therefore it is displayed in English.",
35 | "fr": "Cette page n'a pas encore été traduite en Français, elle est donc affichée en anglais.",
36 | "de": "Diese Seite wurde noch nicht ins Deutsche übersetzt, daher wird sie auf Englisch angezeigt.",
37 | "it": "Questa pagina non è stata ancora tradotta in italiano, pertanto viene visualizzata in inglese.",
38 | "nl": "Deze pagina is nog niet in het Nederlands vertaald en wordt daarom in het Engels weergegeven.",
39 | "pt": "Esta página ainda não foi traduzida para o português, portanto é exibida em inglês.",
40 | "es": "Esta página aún no ha sido traducida al español, por lo tanto se muestra en inglés.",
41 | "th": "หน้านี้ยังไม่ได้แปลเป็นภาษาไทย ดังนั้นจึงแสดงเป็นภาษาอังกฤษ",
42 | "zh": "该页面尚未翻译成中文,因此以英文显示",
43 | "ru": "Эта страница еще не переведена на ЯЗЫК, поэтому она отображается на английском языке.",
44 | }
45 | %}
46 | {%
47 | set call_to_action = {
48 | "en": "Support us and translate!",
49 | "fr": "Soutenez-nous et traduisez !",
50 | "de": "Unterstütze uns und übersetze!",
51 | "it": "Sostienici e traduci!",
52 | "nl": "Help ons en vertaal deze pagina!",
53 | "pt": "Apoie-nos e traduza!",
54 | "es": "¡Apóyanos y traduce!",
55 | "th": "สนับสนุนเราและแปล!",
56 | "zh": "支持我们并翻译!",
57 | "ru": "Поддержите нас и переведите!"
58 | }
59 | %}
60 | {% if i18n_page_locale != "en" and i18n_file_locale != i18n_page_locale %}
61 |