Linux за българи: Форуми

Linux секция за напреднали => Хардуерни и софтуерни проблеми => Темата е започната от: dika в Feb 28, 2019, 17:07



Титла: Търся безплатен софтуер за мониторинг на web services отдалечено?
Публикувано от: dika в Feb 28, 2019, 17:07
Здравейте,

Извинявам се, ако темата не е за тук. Търся някакъв много просто софтуер, който в реално време (или поне на 1 час) да проследява дали даден web service отсреща отговаря. Понеже нямам достъп до отсрещните сървиси, искам просто да се задава списък от линкове и да се проверява, ако не върнат хттп 200 или ако ако не върнат нищо да задейства вече някакъв мейл и да праща аларма.
Понеже, както казах вече, нямам достъп до отсрещните сървъри не ми трябва забикс или нещо подобно, не искам такива решения на които се инсталира нещо и от двете страни.

Много ще съм ви благодарен :)


Титла: Re: Търся безплатен софтуер за мониторинг на web services отдалечено?
Публикувано от: makeme в Mar 01, 2019, 00:08
Мога да ти предложа 2 варианта.
1. Някакъв онлайн чекер. В google има много.
2. Да си напишеш едно просто скриптче, което да проверява само връщането на 200 от curl.

Ако не ти се занимава и искаш нещо просто, мога да ти препоръчам pinguzo. За сега е безплатно и освен, че можеш да следиш сървъри (на които си го инсталирал), има и website меню, което мисля че ще ти свърши работа. Гугълни го, направи си акаунт, добави си линковете в website менюто, направи си настройките и ще ти праща мейли. Настройките са елементарни и не мисля, че ще срещнеш затруднения.

Да знаеш обаче, че всички подобни инструменти не са на 100% верни, тъй като са зависещи от моментната свързаност на уебсървъра и на проверяващия такъв. Също така често биват блокирани от различни хостинг правила.


Титла: Re: Търся безплатен софтуер за мониторинг на web services отдалечено?
Публикувано от: Yasen6275 в Mar 01, 2019, 08:10
Nagios с check_http?


Титла: Re: Търся безплатен софтуер за мониторинг на web services отдалечено?
Публикувано от: jet в Mar 02, 2019, 01:27
Код
GeSHi (Bash):
  1. #!/bin/sh
  2.  
  3. serverlist=`cat webserverlist.txt`
  4.  
  5. for i in $serverlist; do
  6. echo $i
  7.        wget --connect-timeout=2 --read-timeout=5 $i 2>&1
  8.        if [ $? -eq 1 ]; then
  9.                echo "ALARM: Webserver $i not OK" | mail -s "ALARM: Webserver $i not OK" my@email.com
  10.        fi
  11. done

Или:

Код
GeSHi (Bash):
  1. #!/bin/bash
  2.  
  3. site='http://site_address/moje_i_opredelena_stranica'
  4. timeout='20'
  5. content='Text to search'
  6. mailtextdown='Text v emaila (sms-a), ako $content ne e nameren'
  7. mailtextup='Text v email-a (sms-a), ako $content se nameri'
  8. mailfrom='adres_na@izprashtacha'
  9. mailto=( parvi@poluchatel vtori@poluchatel )
  10. checkfile='/palen_pat_do/papkata_kadeto/se/sazdava/fajl/ukazvasht/tekushtoto/sastoianie/filename'
  11. testhost='domain ili IP'
  12.  
  13. ###### end of editing ######
  14.  
  15. ping -c 1 -w 10 $testhost &>/dev/null
  16. if [ $? -ne 1 ] ; then
  17.    /usr/bin/curl -s --connect-timeout $timeout $site |grep "$content" &>/dev/null
  18.    if [ $? -ne 0 ] ; then
  19. if [ ! -e $checkfile ] ; then
  20.    touch $checkfile
  21.    for i in "${mailto[@]}"
  22.    do
  23. echo "$mailtextdown" | mail -a "From: $mailfrom" -t $i
  24.    done
  25. fi
  26.    else
  27. if [ -e $checkfile ] ; then
  28.    rm $checkfile
  29.    for i in "${mailto[@]}"
  30.    do
  31. echo "$mailtextup" | mail -a "From: $mailfrom" -t $i
  32.    done
  33. fi
  34.    fi
  35. fi


Титла: Re: Търся безплатен софтуер за мониторинг на web services отдалечено?
Публикувано от: n00b в Mar 03, 2019, 04:27
Айде стига сте преоткривали топлата вода:
https://www.zabbix.com/web_scenarios


Титла: Re: Търся безплатен софтуер за мониторинг на web services отдалечено?
Публикувано от: 4096bits в Mar 06, 2019, 11:04
Нещо от сорта?
Код:
#!/usr/bin/env python3

import os
import requests
import smtplib

muser = os.environ.get('MUSER')
mpasswd = os.environ.get('MPASSWD')
address = 'http://example.com'

resp= = requests.get(address, timeout=5)

if resp.status_code != 200:
    with smtplib.SMTP('smtp.gmail.com', 587) as smtp:
        subject = 'A website is down!'
        body = f'{address} may be is down. Status  code: {resp.status_code}.'
        message = f'Subject: {subject}\n\n{body}'

        smtp.ehlo()
        smtp.starttls()
        smtp.ehlo()
        smtp.login(muser, mpasswd)
        smtplib.sendmail(muser, 'email@email.com', message)


Титла: Re: Търся безплатен софтуер за мониторинг на web services отдалечено?
Публикувано от: Odido в Mar 10, 2019, 18:01
Айде стига сте преоткривали топлата вода:
https://www.zabbix.com/web_scenarios
Човека писа ,че не иска забикс.


Титла: Re: Търся безплатен софтуер за мониторинг на web services отдалечено?
Публикувано от: dika в Apr 08, 2019, 11:44
Благодаря :) Има какво да се научи. За сега ползвах мързеливата работа uptimerobot, обаче се заиграх и с предложените скриптове, благодаря :)