The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (Apache, http-серверы)
Изначальное сообщение [ Отслеживать ]

"Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от nicksonet email(ok) on 27-Июн-17, 12:54 
Добрый день!
Необходимо мониторить некий список сайтов на доступность и так, чтобы при 301 редиректе, проверялось состояние сайта на который идет перенаправление с проверяемого URL. Подскажите, пожалуйста:
1) Есть ли такая возможность в Zabbix
2) как можно реализовать проверку "301 -> 200ок?" скриптом

Спасибо!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по ответам | RSS]

1. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от Andrey Mitrofanov on 27-Июн-17, 13:43 
> Добрый день!
> Необходимо мониторить некий список сайтов на доступность и так, чтобы при 301
> редиректе, проверялось состояние сайта на который идет перенаправление с проверяемого
> URL. Подскажите, пожалуйста:
> 1) Есть ли такая возможность в Zabbix
> 2) как можно реализовать проверку "301 -> 200ок?" скриптом
> Спасибо!

RC wget-а проверять.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от nicksonet email(ok) on 27-Июн-17, 13:58 
>> Добрый день!
>> Необходимо мониторить некий список сайтов на доступность и так, чтобы при 301
>> редиректе, проверялось состояние сайта на который идет перенаправление с проверяемого
>> URL. Подскажите, пожалуйста:
>> 1) Есть ли такая возможность в Zabbix
>> 2) как можно реализовать проверку "301 -> 200ок?" скриптом
>> Спасибо!
> RC wget-а проверять.

Спасибо, но не могли бы пояснить что это такое RC?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от Andrey Mitrofanov on 27-Июн-17, 14:03 
>> RC wget-а проверять.
> Спасибо, но не могли бы пояснить что это такое RC?

Ээээ.... 8-O

Return Code, наверное. Он же "exit code", "$?", status..............

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от nicksonet email(ok) on 27-Июн-17, 14:19 
>>> RC wget-а проверять.
>> Спасибо, но не могли бы пояснить что это такое RC?
> Ээээ.... 8-O
> Return Code, наверное. Он же "exit code", "$?", status..............

т.е. с помощью rc можно проверить статус ответа URL который за 301 redirect?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от Andrey Mitrofanov on 27-Июн-17, 20:42 
>>>> RC wget-а проверять.
>>> Спасибо, но не могли бы пояснить что это такое RC?
>> Ээээ.... 8-O
>> Return Code, наверное. Он же "exit code", "$?", status..............
> т.е. с помощью rc можно проверить статус ответа URL который за 301
> redirect?

Что последний в цепочке редиректов был 200-ым.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от keir (ok) on 28-Июн-17, 15:17 
> 1) Есть ли такая возможность в Zabbix

zabbix-agent с помощью UserParameter может выполнять любой скрипт и возвращать результат в zabbix-server

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от Andrey Mitrofanov on 28-Июн-17, 15:54 
> zabbix-agent с помощью UserParameter может выполнять любой скрипт и возвращать результат
> в zabbix-server

zabbix_server (и proxy иже с ним) в External script (hint:тип айтема) может делать то же.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от nicksonet email(ok) on 28-Июн-17, 17:07 
> Добрый день!
> Необходимо мониторить некий список сайтов на доступность и так, чтобы при 301
> редиректе, проверялось состояние сайта на который идет перенаправление с проверяемого
> URL. Подскажите, пожалуйста:
> 1) Есть ли такая возможность в Zabbix
> 2) как можно реализовать проверку "301 -> 200ок?" скриптом
> Спасибо!

В общем, был такое кейс:
0. нужно распарсить из основного списка sitemap`ов, список действующих.
1. затем, поочередно, проходится по списку действующих сайтмапов и распарсив URLы - рандомно (из каждого сайтмапа) проверить на отсутствие ошибок.
2.При этом, 301 - не считается ошибкой, но необходимо чтобы в итоге (в случаи даже неоднократного редиректа) отдавался статус крайней страницы (я решил что промежуточные статусы не важны)

Вот пример того, что у меня получилось:
---

#!/bin/bash

DATE=$(date +%Y-%m-%d:%H:%M:%S)
LOGFILE='/var/log/errorsitemaps.log'
URLLIST='/tmp/urlist.txt'
XMLLIST='/tmp/xmlist.txt'

XMLSOURCE='/путь/до/вашего/основного/sitemap.xml'
    cat $XMLSOURCE | tr '><' '\n' | grep -P '^http' > $XMLLIST

#выше приведенный сайтмап, отдает в свою очередь урлы по которым доступны активные сайтмапы.
#Чтобы не грузить nginx курлом, ниже я заменяю https://example.com/sitemap на локальный путь /var/www/project/sitemap. Изящней было бы использовать "tr"
    sed -i "s/https\:\/\/example\.com\//\/var\/www\/project\/sitemap\//g" $XMLLIST

for line in $(cat $XMLLIST); do

        cat $line | tr '><' '\n' | grep -P '^http' > $URLLIST
        RANGE=$(wc -l $URLLIST | awk '{print $1}')
        number=$RANDOM
        let "number %= $RANGE"
        PAGE=$(sed -n "${number}p" $URLLIST)

        #как и писал выше: "301 - не считается ошибкой, но необходимо чтобы в итоге,
        #в случаи редиректа, отдавался статус крайней страницы (я решил, что промежуточные статусы не важны)"

        MARK=$(curl -I --connect-timeout 5 --location $PAGE | grep -P '^HTTP' | awk '{print $2}' | tr -d '\n')

        case $MARK in
            200)
            echo "$DATE $PAGE $MARK" >> $LOGFILE
            ;;
            *)
            echo "error $MARK from URL $PAGE"  | mail -s "$MARK $DATE" recipient@example.com & echo "$DATE $PAGE $MARK" >> $LOGFILE
            ;;
        esac

done

---

Ну и далее - в крон.


Может кому пригодится. Изящность скрипту придавайте самостоятельно.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Мониторинг списка сайтов на 200Ок + '301 -> 200ок?'"  +/
Сообщение от foo on 11-Авг-17, 08:03 
> Добрый день!
> Необходимо мониторить некий список сайтов на доступность и так, чтобы при 301
> редиректе, проверялось состояние сайта на который идет перенаправление с проверяемого
> URL. Подскажите, пожалуйста:
> 1) Есть ли такая возможность в Zabbix
> 2) как можно реализовать проверку "301 -> 200ок?" скриптом
> Спасибо!

https://github.com/dkhamsing/awesome_bot

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру