Compare commits

...

4 Commits

Author SHA1 Message Date
Frogg ed5d7d2d10 maj des templates 2026-05-15 18:56:06 +02:00
Frogg 1063960540 maj des templates 2026-05-15 18:54:28 +02:00
Frogg fec6dea179 Merge branch 'main' of https://gitea.server.home/Frogg/frogg_ssl_check 2026-05-15 18:12:28 +02:00
Frogg 3c8817b660 Ajout du git ignore 2026-05-15 18:08:12 +02:00
5 changed files with 33 additions and 52 deletions

19
.idea/.gitignore vendored
View File

@ -1,19 +0,0 @@
# Ignorer les phpstorm
.idea
# Ignorer les backups et fichiers temporaires
*~
*.bak
*.swp
*.save
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Ignored default folder with query files
/queries/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

View File

@ -26,11 +26,11 @@ By the way you may require sudoer rights to run the command.
## Content
The template installation require 2 files:
* **frogg_ssl_check.sh** Zabbix external script
* **frogg_ssl_check.json** Zabbix template configuration
* **zabbix_template_v{VERSION}.json** Zabbix template configuration
## External script
You need to place the script **frogg_ssl_check.sh** into zabbix external forlder **externalscripts/frogg_ssl_check** (by default in **/usr/lib/zabbix/externalscripts/frogg_ssl_check**)
You need to place the script **frogg_ssl_check.sh** into zabbix external forlder **externalscripts/** (by default in **/usr/lib/zabbix/externalscripts/**)
You can find the external script folder in Zabbix configuration file **zabbix_server.conf** (by default in **/etc/zabbix/zabbix_server.conf**)

View File

@ -32,7 +32,7 @@
<item>
<name>SSL certificate exist</name>
<type>EXTERNAL</type>
<key>frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}]</key>
<key>frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}]</key>
<delay>2h</delay>
<applications>
<application>
@ -50,7 +50,7 @@
<item>
<name>SSL expiration</name>
<type>EXTERNAL</type>
<key>frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}]</key>
<key>frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}]</key>
<delay>2h</delay>
<history>30d</history>
<units>days</units>
@ -91,27 +91,27 @@
</templates>
<triggers>
<trigger>
<expression>{Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&lt;={$SSL.AVG} and {Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&gt;0 and {Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=1</expression>
<expression>{Template Module SSL:frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&lt;={$SSL.AVG} and {Template Module SSL:frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&gt;0 and {Template Module SSL:frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=1</expression>
<name>{$SSL.DNS} expire in {ITEM.LASTVALUE}</name>
<priority>AVERAGE</priority>
</trigger>
<trigger>
<expression>{Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&lt;={$SSL.INFO} and {Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&gt;{$SSL.WARN} and {Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=1</expression>
<expression>{Template Module SSL:frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&lt;={$SSL.INFO} and {Template Module SSL:frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&gt;{$SSL.WARN} and {Template Module SSL:frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=1</expression>
<name>{$SSL.DNS} expire in {ITEM.LASTVALUE}</name>
<priority>INFO</priority>
</trigger>
<trigger>
<expression>{Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&lt;={$SSL.WARN} and {Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&gt;{$SSL.AVG} and {Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=1</expression>
<expression>{Template Module SSL:frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&lt;={$SSL.WARN} and {Template Module SSL:frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&gt;{$SSL.AVG} and {Template Module SSL:frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=1</expression>
<name>{$SSL.DNS} expire in {ITEM.LASTVALUE}</name>
<priority>WARNING</priority>
</trigger>
<trigger>
<expression>{Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=1 and {Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&lt;=0</expression>
<expression>{Template Module SSL:frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=1 and {Template Module SSL:frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}].last()}&lt;=0</expression>
<name>{$SSL.DNS} is expired</name>
<priority>HIGH</priority>
</trigger>
<trigger>
<expression>{Template Module SSL:frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=9999999999</expression>
<expression>{Template Module SSL:frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}].last()}=9999999999</expression>
<name>{HOST.NAME} $SSL.DNS macro is missing</name>
<priority>WARNING</priority>
</trigger>

View File

@ -31,7 +31,7 @@
"uuid": "f4b17a79409f49128da060d6ae51b222",
"name": "SSL content",
"type": "EXTERNAL",
"key": "frogg_ssl_check/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}]",
"key": "frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}]",
"delay": "3h",
"history": "30d",
"trends": "0",
@ -44,19 +44,19 @@
"triggers": [
{
"uuid": "20afab053524490fbe1879f7eac60c99",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=2",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=2",
"name": "SSL error on {$SSL.DNS}",
"priority": "WARNING"
},
{
"uuid": "c5cd25cae966488a83fbf065f6852a7a",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=3",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=3",
"name": "{$SSL.DNS} content is empty",
"priority": "WARNING"
},
{
"uuid": "51ac332de7b84ce4b384a4661d1ebac3",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"name": "{$SSL.DNS} did not respond in 3s",
"priority": "WARNING"
}
@ -66,7 +66,7 @@
"uuid": "8c8730cbc3ed44f89e6f0d4864e4d34f",
"name": "SSL certificate exist",
"type": "EXTERNAL",
"key": "frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}]",
"key": "frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}]",
"delay": "3h",
"history": "30d",
"trends": "0",
@ -79,13 +79,13 @@
"triggers": [
{
"uuid": "8f11d1905bd14931a782ef2ad0994d2b",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=0",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=0",
"name": "SLL certificate unavailable for {$SSL.DNS}",
"priority": "HIGH"
},
{
"uuid": "52068710e0d1473cb8e86ffeb7a2ec45",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=9999999999",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=9999999999",
"name": "{HOST.NAME} $SSL.DNS macro is missing",
"priority": "WARNING"
}
@ -95,7 +95,7 @@
"uuid": "1f3b8e2ee8884465ad019c981e9a46f3",
"name": "SSL expiration",
"type": "EXTERNAL",
"key": "frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}]",
"key": "frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}]",
"delay": "6h",
"history": "30d",
"trends": "0",
@ -139,25 +139,25 @@
"triggers": [
{
"uuid": "65f1ffaa4a094dc792a977113af67c38",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.AVG} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>0 and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.AVG} and last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>0 and last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"name": "{$SSL.DNS} expire in {ITEM.LASTVALUE}",
"priority": "AVERAGE"
},
{
"uuid": "8121f55bfb354866a50fd6672e846a07",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.INFO} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>{$SSL.WARN} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.INFO} and last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>{$SSL.WARN} and last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"name": "{$SSL.DNS} expire in {ITEM.LASTVALUE}",
"priority": "INFO"
},
{
"uuid": "b604a8e1c3b84ae281b6dd3ff6c3aa6f",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.WARN} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>{$SSL.AVG} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.WARN} and last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>{$SSL.AVG} and last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"name": "{$SSL.DNS} expire in {ITEM.LASTVALUE}",
"priority": "WARNING"
},
{
"uuid": "2948aec076d54f34b3338256f671c29a",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1 and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<=0",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1 and last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<=0",
"name": "{$SSL.DNS} is expired",
"priority": "HIGH"
}

View File

@ -30,7 +30,7 @@
"uuid": "f4b17a79409f49128da060d6ae51b222",
"name": "SSL content",
"type": "EXTERNAL",
"key": "frogg_ssl_check/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}]",
"key": "frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}]",
"delay": "3h",
"history": "720h",
"trends": "0",
@ -44,19 +44,19 @@
"triggers": [
{
"uuid": "20afab053524490fbe1879f7eac60c99",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=2",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=2",
"name": "SSL error on {$SSL.DNS}",
"priority": "WARNING"
},
{
"uuid": "c5cd25cae966488a83fbf065f6852a7a",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=3",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=3",
"name": "{$SSL.DNS} content is empty",
"priority": "WARNING"
},
{
"uuid": "51ac332de7b84ce4b384a4661d1ebac3",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=content,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"name": "{$SSL.DNS} did not respond in 3s",
"priority": "WARNING"
}
@ -66,7 +66,7 @@
"uuid": "8c8730cbc3ed44f89e6f0d4864e4d34f",
"name": "SSL certificate exist",
"type": "EXTERNAL",
"key": "frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}]",
"key": "frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}]",
"delay": "3h",
"history": "720h",
"trends": "0",
@ -80,13 +80,13 @@
"triggers": [
{
"uuid": "8f11d1905bd14931a782ef2ad0994d2b",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=0",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=0",
"name": "SLL certificate unavailable for {$SSL.DNS}",
"priority": "HIGH"
},
{
"uuid": "52068710e0d1473cb8e86ffeb7a2ec45",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=9999999999",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=9999999999",
"name": "{HOST.NAME} $SSL.DNS macro is missing",
"priority": "WARNING"
}
@ -96,7 +96,7 @@
"uuid": "1f3b8e2ee8884465ad019c981e9a46f3",
"name": "SSL expiration",
"type": "EXTERNAL",
"key": "frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}]",
"key": "frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}]",
"delay": "6h",
"history": "720h",
"trends": "365d",
@ -141,25 +141,25 @@
"triggers": [
{
"uuid": "65f1ffaa4a094dc792a977113af67c38",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.AVG} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>0 and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.AVG} and last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>0 and last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"name": "{$SSL.DNS} expire in {ITEM.LASTVALUE}",
"priority": "AVERAGE"
},
{
"uuid": "8121f55bfb354866a50fd6672e846a07",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.INFO} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>{$SSL.WARN} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.INFO} and last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>{$SSL.WARN} and last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"name": "{$SSL.DNS} expire in {ITEM.LASTVALUE}",
"priority": "INFO"
},
{
"uuid": "b604a8e1c3b84ae281b6dd3ff6c3aa6f",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.WARN} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>{$SSL.AVG} and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<={$SSL.WARN} and last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])>{$SSL.AVG} and last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1",
"name": "{$SSL.DNS} expire in {ITEM.LASTVALUE}",
"priority": "WARNING"
},
{
"uuid": "2948aec076d54f34b3338256f671c29a",
"expression": "last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1 and last(/Template Module SSL/frogg_ssl_check/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<=0",
"expression": "last(/Template Module SSL/frogg_ssl_check.sh[-a=exist,-s={$SSL.DNS},-p={$SSL.PORT}])=1 and last(/Template Module SSL/frogg_ssl_check.sh[-a=expire,-s={$SSL.DNS},-p={$SSL.PORT}])<=0",
"name": "{$SSL.DNS} is expired",
"priority": "HIGH"
}