blog.ijacek007.cz

Blog o všem trochu jinak.

Chtěli byste návštěvníkům vašich stránek zobrazit informaci o dostupnosti vašich stránek na internetu? V kombinaci s free službou a trochou programování to není problém.

Na internetu funguje hromada služeb, které zadarmo zjištují zda li je vaše stránka dostupná a podle toho dělají statistiku dostupnosti. Ta česká nejjednodušší před několika měsíci přešla ze free služby na placenou. Proto jsem hledal alternativu jak se můžete dočíst ve článku Jak zabít schopný web.

Já si jako alternativu jsem vybral službu pingdom, která sice má statistiku ale neumožnuje vložit výsledek měření do vaší stránky. Vzhledem k tomu, že se stránka statistiky nemění rozhodl jsem se, že ji pomocí PHP skriptu načtu a informace si z ní vytáhnu sám. Poté je již mohu kdekoliv na web umístit nebo vyhodnocovat přesně podle mých představ.


Obrázek

Nejjednodušší je vytáhnout si jen výsledek za poslední týden měření při každém načtení stránky. Tento způsob je sice nejjednodušší na zprovoznění a není při něm nutné dal získané data ukládat či vyhodnocovat ale načítaní probíhá při každým načtení stránky. Dále nad daty nemůžete dělat již žádnou analýzu nebo žádné vyhodnocení pouze na své stránce můžete zobrazit výsledek dostupnosti.

$f=file ('http://stats.pingdom.com/3ng7843qwicl/354898');

// na řádku 110 je <p class="large">99,96%</p>
//  provedeme odstranění znaku

 $vysledek1= explode(" >",$f['157']);  // rozdělime řetězec pomocí znaku >
 $vysledek2= explode("%",$vysledek1['1']);  //rozdělíme řetězec pomocí znaku %
 $vysledek = $vysledek2['0'] ; // výsledek obsahuje pouze číslo dostupnosti
echo $vysledek.‘%‘; // vypíše 99%

Já chtěl mít o dostupnosti větší přehled a tak jsem se rozhodl, že si ze stránky vezmu údaj o včerejší dostupnost. Ten budu ukládat jednou denně do databáze a tím budu mít možnost nad daty dělat vlastní operace.

Vytvořil jsem si databázi:

CREATE TABLE IF NOT EXISTS `dostupnost` (
  `id` int(12) NOT NULL AUTO_INCREMENT,
  `procent` float(5,2) NOT NULL,
  `datum` date NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci AUTO_INCREMENT=1 ;

Do které jednou denně spuštěným skriptem uložím výsledek včerejší dostupnosti. Script pro import včerejší dostupnosti vypadá takto.

$f=file ('http://stats.pingdom.com/3ng7843qwicl/354898');

// na řádku 157 je title="<strong>Uptime:</strong> 99,72%<br/><strong>Downtime:</strong> 4m
//  nebo  title="<strong>Uptime:</strong> 100%">green</span>
//  provedeme odstranění znaku

 $vysledek1= explode(" ",$f['157']);
 $vysledek2= explode("%",$vysledek1['1']);
 $vysledek = $vysledek2['0'] ;

 $vcera = mktime(0,0,0,date("m"),date("d")-1,date("Y"));
 $vcera_p= date("Y-m-d", $vcera);

 $vysledek=str_replace(",",".",$vysledek); // změn čárku v desetiném místě na tečku pro uložení do sql

 MySQL_Query('INSERT INTO dostupnost SET procent="'.$vysledek.'", datum="'.$vcera_p.'";');

Tímto způsobem mám jednoudenně údaj v databázi a mužů s ním tedy jakkoliv pracovat. Například si vypočítat procenta podle vlastních dní a ne jen za týden jak to umožňuje statistika na stránkách pingdom. Nebo vypsat statistiku dostupnosti již z lokálních dat. Sql příkazem

mysql_query("SELECT  DATE_FORMAT(datum,'%d.%m.%Y') as datum,procent FROM `dostupnost` order by id desc limit 0,30“)

Jakmile máte data ve své databázi je již jen na vás, jak je zanalyzujete či zobrazíte. Samotná dostupnost se pak dá vypsat tímto sql příkazem.

mysql_query("SELECT ROUND( AVG( procent ) , 2 ) AS procent FROM
( SELECT procent FROM dostupnost ORDER BY id DESC LIMIT 0 , 30 ) AS test;")

Zajímavé odkazy

Jak zabít schopný web

pingdom.com

Dostupnost mého webu

Myqsl – český manuál


Štítky článku programovani | www-stranky | zajimavosti |
Autor Ijacek.007 12.10.2012 zobrazeno 3 973x
Předchozí článek Nastaveni filtru na emailu od seznam.cz
Výměna chladící pasty u ntb Acer Ferrary one 200 Další článek


gravatar1iconblog.ijacek007.cz

Ijacek.007

2012-11-05 11:56:13

Dnes jsem zjistil že mi skript načítal od minulého týdne špatně dostupnost. Podíval jsem se do zdrojového kodu a zjistil jsem že je změněn a že požadovaný udaje který potřebujete je teď na řádce 158 upravte si tedy skript pokut jej používáte. Aby načítal ty správné hodnoty.


gravatar

Vložit komentář

Nick *:
WWW:
Email * (nezobrazuje se ):
Gravatar:
Pamatuj si mě:
Komentář článku *:
Opiš následující text: *

* - vyžadované údaje. RSS kanál s komentáři

Přihlášení



Audioknihy

Jsme milovníci audio knížek, kterých aktuálně máme zakoupených 428. Poslech všech dohromady zabral přes 5947 hodin.

Z tohoto množství jsme si již stihli poslechnout téměř 48% tedy 205 audioknih.

Aktuálně poslouchaná audioknihakniha je Orlova kořist

Poslední hodnocenou audioknihou je Božský imperátor Duny Hodnocení audioknihy 4/5.

Nejlépe hodnocenou audioknihou je Astronautův průvodce životem na Zemi Hodnocení audioknihy 4/5.

Reklama