From 1d9428cee48828f77ce2aa052cf22c6c669d6a4c Mon Sep 17 00:00:00 2001
From: diasdmhub <67486897+diasdmhub@users.noreply.github.com>
Date: Wed, 24 Jan 2024 20:12:12 -0300
Subject: [PATCH] Template overview information
---
Applications/DNS/AdGuard_Home/6.4/README.md | 189 ++++++++++++++++++++
1 file changed, 189 insertions(+)
create mode 100644 Applications/DNS/AdGuard_Home/6.4/README.md
diff --git a/Applications/DNS/AdGuard_Home/6.4/README.md b/Applications/DNS/AdGuard_Home/6.4/README.md
new file mode 100644
index 000000000..a77af9af4
--- /dev/null
+++ b/Applications/DNS/AdGuard_Home/6.4/README.md
@@ -0,0 +1,189 @@
+# Zabbix Template for AdGuard Home
+
+
+
+
+
+
+
+
+
+
+### OVERVIEW
+
+[AdGuard Home](https://github.com/AdguardTeam/AdGuardHome) is a network-wide ad blocking and tracking software. Once you've set it up, it will cover your devices without the need for any client-side software.
+
+If you want to monitor your AdGuard Home instance with Zabbix, this template provides some useful monitoring items. \
+The monitoring is done via "REST-ish" API as [AdGuard Home offers an OpenAPI specification](https://github.com/AdguardTeam/AdGuardHome/tree/master/openapi).
+
+The main focus is on monitoring statistics from AdGuard Home.
+
+
+
+---
+### ➡️ [Download (latest)](https://github.com/diasdmhub/AdGuard_Home_Zabbix_Template/releases)
+---
+#### ➡️ [*How to import templates*](https://www.zabbix.com/documentation/current/en/manual/xml_export_import/templates#importing)
+---
+
+
+
+
+### TEMPLATES
+
+For more flexibility, the release includes templates that cover **two monitoring methods**, one for native HTTP data retrieval and another for Zabbix Agent Active. Both methods provide the same monitoring items, but with different item types. **They should not be used together on the same host**.
+
+There are also **two independent template types**. One is for HTTP AdGuard Home general **status and statistics**, and the other is for **filter parameters** discovery. \
+In total, the released `yaml` file contains **four** templates.
+
+- `AdGuard Home Stats by HTTP`
+- `AdGuard Home Stats by Zabbix Agent Active`
+- `AdGuard Home Filters by HTTP`
+- `AdGuard Home Filters by Zabbix Agent Active`
+
+
+
+
+### REQUIREMENTS
+
+- AdGuard Home
+ - Zabbix Agent required only for active monitoring
+ > _**The template uses the `system.run[*]` parameter for active monitoring with the Zabbix Agent**_
+
+
+
+
+### TESTED VERSION
+
+This template has been tested with AdGuard Home version `> 0.107` on an Asus RT-AX86U router running an [Asus Merlin](https://www.asuswrt-merlin.net) firmware. It should work with any recent version of AdGuard Home.
+
+
+
+
+### SETUP
+
+> **If the AdGuard Home web user is password protected, the client must use an authentication mechanism when sending requests to the server. Basic access authentication is the offered method. A client must include an `Authorization` HTTP header along with all requests:**
+> ```
+> Authorization: Basic BASE64_DATA
+> ```
+> **Where *`BASE64_DATA`* is a base64-encoded data for your *`username:password`* string.**
+
+
+
+---
+1️⃣ After importing the template to Zabbix and creating AdGuard's host, encode **your** AdGuard Authorization string `username:password` to Base64. \
+**Examples:**
+ - Shell
+> ```shell
+> echo -n 'username:password' | base64
+> ```
+
+ - Python
+> ```python
+> import base64
+> string = 'username:password'
+> base64.b64encode(bytes(string, 'utf-8'))
+> ```
+
+ - PowerShell
+> ```pwsh
+> $string = 'username:password'
+> [Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($string))
+> ```
+
+
+
+2️⃣ Copy and paste the encoded string into your host's macro `{$ADGUARD.AUTH}`.
+
+---
+
+
+
+
+### MACROS USED
+
+| Macro | Default Value | Description |
+| -------------------- | ------------- | ---------------------------------------------------------------------------------------------- |
+| {$ADGUARD.AUTH} | | HTTP header `Basic` authorization string. A Base64 encoded string of your `username:password`. |
+| {$ADGUARD.PORT} | 3000 | AdGuard Home HTTP port |
+| {$ADGUARD.WEB} | http | Web protocol. Either `http` or `https` |
+| {$ADGUARD.STAT.DAYS} | 30 | The configured statistics period in days (*AdGuard Home Stats only*) |
+| {$ADGUARD.FILTER_ENABLED} | true | True to discover only enabled filters, leave empty to discover all filters (*AdGuard Home Filters only*) |
+
+
+
+
+### ITEMS (*AdGuard Home Stats*)
+
+| Name |
+| ----------------------------------------------------------------- |
+| AdGuard Home General Status |
+| AdGuard Home General Status: AdGuard Home Status Protection |
+| AdGuard Home General Status: AdGuard Home Status Running |
+| AdGuard Home General Status: AdGuard Home Version |
+| AdGuard Home Statistics |
+| AdGuard Home Statistics: AdGuard Home Average Processing Time |
+| AdGuard Home Statistics: AdGuard Home DNS Queries per Second |
+| AdGuard Home Statistics: AdGuard Home Total DNS Blocks by Period |
+| AdGuard Home Statistics: AdGuard Home Total DNS Blocks Today |
+| AdGuard Home Statistics: AdGuard Home Total DNS Queries by Period |
+| AdGuard Home Statistics: AdGuard Home Total DNS Queries Today |
+
+
+
+
+### TRIGGERS (*AdGuard Home Stats*)
+
+| Name |
+| -------------------------------------------- |
+| AdGuard Home Abnormally High Processing Time |
+| AdGuard Home Has NO DNS Queries |
+| AdGuard Home Protection Stopped |
+| AdGuard Home Stopped |
+| AdGuard Home Version Changed |
+
+
+
+
+### ITEMS (*AdGuard Home Filters*)
+
+| Name |
+| ----------------------------------------------------------------- |
+| AdGuard Home Filters |
+| AdGuard Home Filter Rules Count Sum |
+
+
+
+
+### DISCOVERY RULE (*AdGuard Home Filters*)
+
+| Name |
+| ----------------------------------------------- |
+| AdGuard Home Filters: AdGuard Filters Discovery |
+
+
+
+
+### ITEM PROTOTYPES (*AdGuard Home Filters*)
+
+| Name |
+| ------------------------------------------------------ |
+| AdGuard Home Filter Last Update Time - {\#FILTER.NAME} |
+| AdGuard Home Filter Rules Count - {\#FILTER.NAME} |
+| AdGuard Home Filter Status - {\#FILTER.NAME} |
+
+
+
+
+### TRIGGER PROTOTYPES (*AdGuard Home Filters*)
+
+| Name |
+| --------------------------------------------------------------------- |
+| AdGuard Home Filter is Disabled - {\#FILTER.NAME} |
+| AdGuard Home Filter not Updated in more than 7 days - {\#FILTER.NAME} |
+
+
+
+
+### DASHBOARD EXAMPLE
+