Мониторинг актуальных IP-адресов облака Cloudflare в Zabbix
Cloud / Zabbix 6-03-2024, 12:37 sobir 3 267 0
Cloudflare предоставляет широкий спектр услуг для улучшения безопасности и производительности веб-сайтов. Однако, по мере развития их сети, IP-адреса могут меняться, что делает важным наличие мониторинга для отслеживания обновлений.
В этой статье мы рассмотрим процесс настройки мониторинга актуальных IP-адресов Cloudflare в системе мониторинга Zabbix.
Шаг 1: Создание bash скрипта
Для начала нам нужно создать bash скрипт, который будет проверять обновления IP-адресов Cloudflare. Этот скрипт загружает файл с IP-адресами, сравнивает его с локальной копией и возвращает соответствующий код в зависимости от результатов проверки.
Локальную копию файла IP-адресов можно загрузить на сервер Zabbix командой:
su zabbix
cd $HOME
wget https://www.cloudflare.com/ips-v4
Содержимое скрипта cf-check-ip.sh:
#!/bin/bash
# Path to the local copy of the file
LOCAL_FILE="$HOME/ips-v4"
# URL to download the new version of the file
REMOTE_URL="https://www.cloudflare.com/ips-v4"
# Downloading the file using wget with timestamping parameter
wget --timestamping "$REMOTE_URL" -P /tmp >/dev/null 2>&1
# Checking if the download was successful
if [ $? -eq 0 ]; then
# Calculating the MD5 hash of the local file
LOCAL_MD5=$(md5sum "$LOCAL_FILE" | awk '{print $1}')
# Calculating the MD5 hash of the downloaded file
REMOTE_MD5=$(md5sum "/tmp/ips-v4" | awk '{print $1}')
# Comparing the hash sums of files to determine if the file has been updated
if [ "$LOCAL_MD5" = "$REMOTE_MD5" ]; then
#echo "The file on the server has not changed."
echo "0"
exit 0
else
#echo "The file on the server has been updated."
echo "1"
exit 1
fi
else
# In case of an error during download
#echo "Error downloading the file."
echo "2"
exit 1
fi
Шаг 2: Настройка Zabbix
После создания bash скрипта мы переходим к настройке мониторинга в системе Zabbix. Мы импортируем шаблон, который будет использоваться для мониторинга Cloudflare.
Содержимое шаблона zbx_cf_check_ip.yaml:
zabbix_export:
version: '6.0'
date: '2024-03-05T08:03:58Z'
groups:
-
uuid: 7df96b18c230490a9a0a9e2307226338
name: Templates
templates:
-
uuid: c32ee8fea1694c5081f24b7eb66dc5b5
template: Cloudflare
name: Cloudflare
groups:
-
name: Templates
items:
-
uuid: 20d7a0193f1e4270b2da5936524b7472
name: 'Check Cloudflare IPv4'
type: EXTERNAL
key: cf-check-ip.sh
tags:
-
tag: Application
value: Cloudflare
triggers:
-
uuid: 01a1216595024bd8af90f20cfb3717e9
expression: last(/Cloudflare/cf-check-ip.sh)=2
name: 'Cloudflare IPv4 error downloading the file'
priority: DISASTER
-
uuid: 10c0c7305ff14a17a52222429cc2893f
expression: last(/Cloudflare/cf-check-ip.sh)=1
name: 'Cloudflare IPv4 has been updated'
priority: DISASTER
Получаем реальные IP-адреса клиентов за Cloudflare в лог-файлах nginx access log....
ПодробнееРазрешаем веб трафик на сервер NGINX только с серверов Cloudflare....
ПодробнееМониторим estimated recovery time репликационных баз SQL Server AlwaysON в Zabbix....
ПодробнееНастраиваем мониторинг журнала access.log веб-сервера NGINX....
ПодробнееПолучаем валидные сертификаты SSL от Let's Encrypt для NGINX с использованием плагина webroot....
ПодробнееMonitoring MySQL database service with Zabbix Agent....
ПодробнееНовые комментарии
Цитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные
К комментариюЦитата: sobir Цитата: FidoNet Спасибо за статью. Остальные статьи что находил
К комментариюЦитата: FidoNet Цитата: sobir Цитата: FidoNet Можт быть дело в
К комментариюЦитата: sobir Цитата: FidoNet Можт быть дело в dnsmasq.service? Ошибка Failed
К комментариюЦитата: FidoNet Цитата: sobir Цитата: FidoNet Спасибо за статью. Остальные
К комментариюМожт быть дело в dnsmasq.service? Ошибка Failed to set DNS configuration: Unit
К комментариюКакой дистрибутив Linux вы часто используете?
Календарь
« Ноябрь 2024 » | ||||||
---|---|---|---|---|---|---|
Пн | Вт | Ср | Чт | Пт | Сб | Вс |
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 |