bernhard frank’s blog

[bi:frængk] - freimütiges über webhosting auf windows

 

  • Bernhard Frank's Blog

    Link Liste zu Web Application Platform White Paper

    • 0 Comments

    IIS7: Web Application Platform Whitepaper

    Wohl auch eher als Gedankenstütze für mich: Link Liste für interessante “Articles and White Papers” zum IIS7, Windows Server 2008 und mehr.

  • Bernhard Frank's Blog

    Kostenloses – Open Source Control Panel für Windows

    • 0 Comments

    Der Software Hersteller DotNetPanel hat kürzlich eine DotNetPanel-Codebase Revision unter dem Namen WebsitePanel als Open Source Projekt online gestellt. Bei dem Projekt handelt es sich um web-basiertes Konfigurationstool (aka “Control Panel” andere kommerzielle Vertreter z.B. Plesk oder ) für Windows Webserver und Webhosting.

    Nett weil kostenlos – ein Blick auf WebsitePanel:

    Screenshot WebsitePanel ein web-basiertes Konfigurationstool für Webserver und Webhosting

    http://sourceforge.net/projects/websitepanel
    http://www.websitepanel.net/

    Vorteile:
    Entwickler, Web-Admins: Ideal zum Verwalten von Kunden- oder Entwicklungs-Server und Webseiten
    Hoster, Service Provider: Kostenlose, erweiterbare und anpassbare Systemsteuerung als Mehrwert für Windows Hosting Kunden

  • Bernhard Frank's Blog

    Unattended Installation des Web Platform Installers (WebPI)

    • 0 Comments

    z.B. zum automatischen 'vorbetanken' von IIS-Webservern:

    1. Download des Web Platform Installer 2.0 von:
      http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=d87a71e4-00bd-4204-8f25-f245feb0c3ad
      in der entsprechenden Architektur.
    2. Unattended Installation des WebPI von der CMD line mit ausführlicher Log-Datei („/lxv* …“):

    msiexec /i c:\temp\WebPlatformInstaller_x86.msi /qn /lxv* c:\temp\webpi.log

    Anm: Der Installer für WebPI 2.0 hat keine Switches | Optionen | Properties welche man msiexec mitgeben könnte um WebPI-Voreinstellungen (wie z.B. die Auswahl anderer Feeds) schon bei der Installation zu machen.

  • Bernhard Frank's Blog

    Shortcuts oder Verknüpfungen automatisch via Powershell-Script erzeugen

    • 0 Comments

    Icons automatisch z.B. von der command line auf dem Desktop erzeugen ist gar nicht so trivial. mklink ist ideal für Verzeichnisse um dagegen Verknüpfungen zu Programmen zu erstellen bietet sich z.B. die Powershell an.

    “CreateIconOnDesktop.ps1:”

    $wshShellObject = New-Object -com WScript.Shell
    $userProfileFolder = (get-childitem env:USERPROFILE).Value
    $programFilesFolder = (get-childitem env:ProgramFiles).Value
    $wshShellLink = $wshShellObject.CreateShortcut($userProfileFolder+"\Desktop\MeinLink.lnk") 
    $wshShellLink.TargetPath = $programFilesFolder+"\Internet Explorer\iexplore.exe"
    $wshShellLink.WindowStyle = 1
    $wshShellLink.IconLocation = $programFilesFolder +"\Internet Explorer\iexplore.exe" 
    $wshShellLink.WorkingDirectory = $programFilesFolder + "\Internet Explorer\" 
    $wshShellLink.Save()
    1. Erzeugt ein Shell Object (COM)
    2. Ermittelt Desktop Pfad des Benutzers und den Programm Ordner aus den Environment Variablen
    3. Setzt Icon Eigenschaften und erzeugt das Icon “MeinLink” auf dem Desktop
  • Bernhard Frank's Blog

    How to install Orca.exe from the Windows Installer Development Tools

    • 0 Comments

    The tool Orca.exe is a database editor of windows installer files (*.msi). You can create and edit .msi files and merge modules:Loaded *.msi file with orca.exe - display of windows installer database

    The tool is helpful if you need some more insight into *.msi files – however orca.exe is a bit tricky to find – Here is my way:

    1. download the Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1 (ISO)Windows 7 SDK 
    2. opened Iso file (or burn on DVD and insert disk)
    3. navigate to folder \Setup\WinSDKTools
    4. open cab1.cab
    5. Right click WinSDK_Orca_Msi_5E20C107_DAA3_4D49_AFAE_7FB2594F0CDC_x86 –> Extract to a folder of your choice –> add .msi to the file name –> install

    Once installed – when you right click a *.msi file you get the context menu Edit with Orca  orca.exe - edit with orca context menu

  • Bernhard Frank's Blog

    HTTP Error 401.1 – Unauthorized bei Verwendung von Windows Authentication

    • 0 Comments

    Kurz und knackig:

    Windows Authentication + Host Name = http 401 error

    if (host name != computername && server != Domain Member)

    Lösung: Host Name in Registry Eintragen -> MS KB Article 896861 - Detais s.u.

     

    Scenario:

    Webserver IIS7.x – keine Domäne – Server ist Bestandteil einer Workgroup.

    Website -> Authentication -> Windows Authentication enabled

    Authorization Rule „allow all“ entfernt und Allow Eintrag für Specific user „Administrator“ gemacht. (Alternativ: Website -> Authentication -> Anonymous Authentication deaktivieren)

     

    Problem:

    Beim Browsen auf die Seite bekomme ich ein Passwort Prompt (ok.) Nach Eingabe von Benutzername und Passwort werde ich noch 2mal aufgefordert Username und Passwort (böse) einzugeben – letztendlich schlägt der Zugriff fehl und das obwohl der user (in meinem Fall administrator) 100%ig Zugriff haben sollte.

    browser password prompt leads to access denied 401.1

     

    HTTP Error 401.1 – Unauthorized

    You do not have permission to view this directory or page using the credentials that you supplied. Detailed Error Information

    Module WindowsAuthenticationModule

    Notification AuthenticateRequest

    Handler PageHandlerFactory-Integrated

    Error Code 0xc000006d

     

    Logon Method Not yet determined

    Logon User Not yet determined

     

    Eventlog zeigt Audit Failure bei Logon mit Status 0xc000006d:

    Eventlog showing Audit Logon Failure

    An account failed to log on.

     

    Subject:

           Security ID:        NULL SID

           Account Name:       -

           Account Domain:            -

           Logon ID:           0x0

     

    Logon Type:                3

     

    Account For Which Logon Failed:

           Security ID:        NULL SID

           Account Name:       administrator

           Account Domain:            TEST-UXANGUNQ4J

     

    Failure Information:

           Failure Reason:            An Error occured during Logon.

           Status:                    0xc000006d

           Sub Status:         0x0

     

    Process Information:

           Caller Process ID:  0x0

           Caller Process Name:       -

     

    Network Information:

           Workstation Name:   TEST-UXANGUNQ4J

           Source Network Address:    127.0.0.1

           Source Port:        58948

     

    Detailed Authentication Information:

           Logon Process:            

           Authentication Package:    NTLM

           Transited Services: -

           Package Name (NTLM only):  -

           Key Length:         0

     

    Ursachenforschung:

    Meine Website im IIS hat einen „Host Name“ in den „Bindings“ eingetragen – werf ich den raus und browse auf die Website mit dem Netbios Namen funktioniert es wie gewünscht.

    MS KB Article 896861: “…a… security feature … prevent reflection attacks on your computer. … authentication fails if … the custom host header … does not match the local computer name.

     

    Lösung:

    In  obigen zitierten KB Artikel: “You receive error 401.1 when you browse a Web site that uses Integrated Authentication and is hosted on IIS 5.1 or a later version”

    Bei “Method2:” -> Starten mit ”2. Click Start, click Run, type regedit, and then click OK.”

    Nur die Einträge für BackConnectionHostNames machen:

    BackConnectionHostNames in regedit

     

    Iisreset.exe ausführen und danach funktioniert der Zugriff.

  • Bernhard Frank's Blog

    Codeplex saving release details problem: "There were errors saving the item."

    • 0 Comments

    I ran inot the error when saving the release details of my project hosted at codeplex.

    I hit the save button and got the error:
    "There were errors saving the item." or "Invalid date value"

    workaround: change your browser's language preferences to en-US only:

     refresh codeplex site and save using the US date format.

  • Bernhard Frank's Blog

    Netzwerk langsam nach Installation von Hyper-V.

    • 0 Comments

    Szenario:

    Fujitsu Siemens Celsius H240 mit „Marvell Yukon 88E8055 PCI-E Gigabit Ethernet Controller“

    Windows Server 2008 R2 Standard (64Bit)

    Vor Hyper-V Installation – Netzwerk OK (100MBit) – Remote Desktop auf die Maschine kein Problem.

     

    Problem: 

    Nach Hyper-V Installation -> traffic via Virtual Network Adapter -> Remote Desktop auf die Maschine kaum verwendbar + sonstiges Netzwerk langsam.

     

    Abhilfe:

    TCP offloading abschalten:

    "Large Send Offload Version 2 (IPv4)" on the virtual switch -> disabled

    "Large Send Offload (IPv4)" physical adapter -> disabled

     

    Dank  Very slow network performance with Intel NIC when TCP Large Send Offload is enabled !

  • Bernhard Frank's Blog

    Freeware: DoBlogPing – Blog Ping Werkzeug auf Codeplex veröffentlicht.

    • 0 Comments

    DoBlogPing ist für Blogger die Ping Server über neue Einträge auf den eigenen Blog unterrichten wollen - wichtig auch damit Posts schneller bei Suchmaschinen gefunden werden. DoBlogPing setzt einen XML-RPC Aufruf zur Methode weblogUpdates.ping ab. Der Aufruf ist ein einfacher HTTP Post mit XML an die RPC URL des Ping Servers.

    Die meisten Blog-Web-Applikationen verfügen über einen eigenen BlogPing Mechanismus und erledigen den BlogPing automatisch für den Blogger. Warum habe ich trotzdem diese APP geschrieben?

    Ich wollte:

    • selbst bestimmen welche Server ich pinge.
    • sehen was die Ping Server antworten und ob die überhaupt noch da sind.
    • nicht die Blog-Website beeinträchtigen bzw. langsam machen.

    DoBlogPing ist Open Source und liegt auf http://doblogping.codeplex.com.

  • Bernhard Frank's Blog

    Logparser: Chart-Unterstützung kontrollieren und installieren.

    • 0 Comments

    Wie finde ich heraus ob ich Charts mit Logparser darstellen kann?

    logparser  -h -o:chart

     

    Chartunterstützung fehlt:

    Error creating output format "chart": This output format requires a licensed Microsoft Office Chart Web Component to be installed on the local machine

    Um das Problem zu beheben muss man noch die Office Web Components 11 installieren – anschließend sollte man noch auf das Microsoft Office 2003 Web Components Service Pack 1 updaten.

     

    Chartunterstützung installiert:

    Output format: CHART (Chart Output Format)

    Writes output to a chart image file

     

    INTO syntax:

     

     <filename>

     Chart output image filename

     

    Parameters:

     

     -chartType         <chart type>       : Chart type; one of: Line,

                                             LineMarkers, LineStacked,

                                             LineStackedMarkers, LineStacked100,

                                             LineStacked100Markers, Line3D,

                                             LineOverlapped3D, LineStacked3D,

                                             LineStacked1003D, SmoothLine,

                                             SmoothLineMarkers, SmoothLineStacked

                                             , SmoothLineStackedMarkers,

                                             SmoothLineStacked100, SmoothLineStac

                                             ked100Markers, BarClustered,

                                             BarStacked, BarStacked100, Bar3D,

                                             BarClustered3D, BarStacked3D,

                                             BarStacked1003D, ColumnClustered,

                                             ColumnStacked, ColumnStacked100,

                                             Column3D, ColumnClustered3D,

    .

    .

    .

  • Bernhard Frank's Blog

    Logparser: Kostenloses (Web-) Statistik und Analyse Werkzeug

    • 0 Comments

    Log Parser ist ein vielseitiges Werkzeug mit dem Abfragen auf Text-basierte Daten wie Log-Dateien, XML-Dateien und CSV-Dateien, sowie andere Windows Informationsquellen (Event-Log, der Registry, das Dateisystem und Active Directory) möglich sind.

    Die Abfragen werden in einer SQL-Ähnlichen Syntax durchgeführt:

    logparser -i:csv "select PLZ,Ort from http://blogs.technet.com/bernhard_frank/attachment/3306657.ashx where Ort like 'Regensbu%'

     

    PLZ   Ort

    ----- ----------

    93049 Regensburg

     

    Statistics:

    -----------

    Elements processed: 4

    Elements output:    1

    Execution time:     0.65 seconds

    (in obiger Logparser Beispiel Abfrage wird die Postleitzahl von Orten mit den Anfangsbuchstaben "Regensbu" in einer auf einem Webserver geparkten CSV Datei durchgeführt)

     

    Logparser ist kostenlos und kann vom Microsoft Download Center heruntergeladen werden. Das Werkzeug ist schnell auch im Umgang mit großen Dateien – schließlich verwenden auch die Web-Operations Kollegen dieses Tool zum Auswerten ihrer Serverlogs. Die Ausgabe kann als Text oder Grafik, durch eine Schablone geparst oder in eine Datenbank erfolgen:

    Die Anwendungsbeispiele sind vielfältig und die Kreativität des Anwenders ist gefragt:

    Beispiel: Berechnung der Summe der Spritkosten/Monat aus der vom Online-Konto heruntergeladenen Umsatz – CSV Datei (Anm.: zuvor etwaige ',' zu '. ' und '; ' zu ',' im CSV umwandeln).

    logparser "select Quantize(To_Date(To_Timestamp(Valutadatum,'dd.MM.yy')),2592000) as [Month],Mul(Sum(To_REAL(Betrag)),-1) as [Sum] into c:\temp\benzinkosten.jpg from c:\downloads\kontoumsatz.csv where [Begünstigter/Zahlungspflichtiger] like '%Tank%' or [Begünstigter/Zahlungspflichtiger] like '%Station%' group by [Month] order by [Month]" -o:chart -charttype:ColumnClustered -view:on -charttitle:"Spritkosten(€)/Monat" -oTsFormat:"MMM yyyy" -values:on

     

     

    Das deale Tool große (CSV-) Dateien (Excel) nach einen oder mehreren Werten zu suchen zu kombinieren und diese zu auszugeben bzw. zu exportieren.

    Klar, dass Logparser auch bei der Logdatei-Analyse eines Webservers sehr zu empfehlen ist, um z.B: an Informationen wie „Was ist das verwendete Betriebssystem“, Anzahl der Besucher, Stoßzeiten, Datendurchsatz, Meist gesehene Seiten und http-Fehler zu kommen.

     

    Vorraussetzungen:

    Logparser: Download bei www.microsoft.com/downloads -> Suche nach „logparser“

    Für Grafik-Ausgabe: noch die Office Web Components 11 + Microsoft Office 2003 Web Components Service Pack 1 installieren (ebenfalls kostenlos bei www.microsoft.com/downloads )

     

    Weitere Infos unter www.logparser.com oder hier auf dem Blog

  • Bernhard Frank's Blog

    Prozess unter "Run as administrator" von der Powershell aus starten.

    • 0 Comments

    Um unter Windows 7 (oder Vista) einen Prozess mit Administrator Privilegien zu starten reicht ein Rechter Mausklick und ein anschließendes „Run as administrator“:

     

    Um das Ganze von der Powershell aus zu machen genügt:

    start-process -Verb "runas" notepad

    Anschließend nur noch das etwaige UAC Prompt quittieren.

  • Bernhard Frank's Blog

    Logparser Web-Statistik (Beispiel): Besucher Betriebssystem aus Logdatei ermitteln.

    • 0 Comments

    Welches Betriebssystem nutzt der Webseiten Besucher?

    Die Information über das Betriebssystem wird meist vom Browser an den besuchten Webserver im http Header im sog. User-Agent String übergeben. Standardmäßig werden diese Informationen auch vom Webserver mit geloggt. Die Strings sehen so oder ähnlich aus:

    Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+6.1;+Trident/4.0;+SLCC2;+.NET+CLR+2.0.50727;+.NET+CLR+3.5.30729;+.NET+CLR+3.0.30729;+Media+Cen…

     

    Da es viele denkbare Kombinationen von OS (+Version), Browser-Software(+Version) sehen diese Strings mitunter sehr unterschiedlich aus. Meist steht die Betriebssysteminformation an derselben Stelle, d.h. man kommt mit folgendem Logparser Beispiel (String-Funktionen) den Betriebsystem auf die Spur:

    logparser -i:w3c "Select distinct TRIM(REPLACE_CHR(EXTRACT_TOKEN(cs(User-Agent), 2, ';' ), '+', ' ' )) as [OS],count(*) as [Count] into c:\temp\logfiles\os.csv from c:\temp\logfiles\combined.log group by [OS] order by [Count] DESC" -o:CSV

     

    Obiges Logparser Beispiel erzeugt eine CSV-Datei aus einem W3C Webserver Log welche das OS und die Anzahl der http-Anfragen enthält:

    OS,Count

    Windows NT 6.1,250789

    Windows 98),1063

    Linux i686,403

     

    Darüber wird nochmals eine Query gefahren welche über die CASE Funktion die Vielzahl der möglichen Betriebssystem Strings noch weiter kategorisiert und über die Kategorien einen Summe bildet:

    logparser "Select CASE SUBSTR( [OS],0, 10) when 'Windows NT' then 'Windows' when 'Intel Mac ' then 'Mac' when 'Linux x86_' then 'Linux' when 'Linux i686' then 'Linux' else 'other' end as [OSS],Sum([Count]) As[SUM] from  c:\temp\logfiles\os.csv group by [OSS] order by [SUM] DESC"

     

    Ergebnis:

    System  SUM    Percent

    ------- ------ ---------

    Windows 500475 96.624443

    other   14596  2.817984

    Mac     2352   0.454090

    Linux   536    0.103483

  • Bernhard Frank's Blog

    QDIG Photo Gallerie Fehler: PHP Notice: Undefined variable: HTTP_GET_VARS

    • 0 Comments

    Szenario:

    PHP 5.2.x auf IIS mit FastCGI. Anschließend die QDIG Dateien in einen Webordner entpackt. Bildordner angelegt. Seite im IE aufgerufen -> Fehler:

    ...

    PHP Notice: Undefined variable: HTTP_GET_VARS in C:\inetpub\qdig3\index.php on line 578 PHP Notice: Undefined variable: HTTP_POST_VARS in C:\inetpub\qdig3\index.php on line 579 PHP Notice: Undefined variable: HTTP_COOKIE_VARS in C:\inetpub\qdig3\index.php on line 580 PHP Warning: array_merge() [function.array-merge]:

    ...

     

    Lösung:

    In der php.ini folgenden Eintrag gesetzt:

     

    register_long_arrays = On

    und den IIS durchgestartet von der Commandozeile mit iisreset

     

    Anmerkung:

    testscript.php:

    <?php

    echo($HTTP_GET_VARS);

    ?>

    Muss ohne Fehler laufen.

  • Bernhard Frank's Blog

    Logparser Web-Statistik (Beispiel): Verweildauer von Clients auf Web Server abschätzen.

    • 0 Comments

    Das Ergebnis wird mit 2 Logparser Beispiel Abfragen oder Schritten durchgeführt:

    1. Erzeugen einer Datei mit Einträgen welche die IP Adresse (c-ip) und die Verweildauer (am Tag) in 10 Sekundenblöcken ablegt.
    2. Summe der IP Adressen mit entsprechender gleicher Verweildauer (über die zuvor erzeugte Datei).

    zu 1.)

    logparser -i:W3C "select c-ip,QUANTIZE(Sub(TO_TIMESTAMP( date, MAX(time) ),TO_TIMESTAMP( date, MIN(time) )),10) As [verweildauer] INTO c:\temp\logfiles\verweildauer.csv from c:\temp\logfiles\combined.log group by date,c-ip order by [verweildauer] DESC"

    erzeugt CSV Datei mit Werten wie z.B.:

    c-ip,verweildauer

    192.168.68.67,0000-01-01 00:02:40

    192.168.68.11,0000-01-01 00:02:40

    192.168.68.37,0000-01-01 00:02:40

    zu 2.)

    logparser "select top 20 to_TIME(verweildauer),count(c-ip) as [Anzahl] into c:\temp\logfiles\verweildauer.jpg from c:\temp\logfiles\verweildauer.csv group by verweildauer order by [Anzahl] DESC" -o:CHART -chartType:BarClustered -chartTitle:"TOP 20 Verweildauer" -values:OFF -groupSize:1024x768 -view:ON

  • Bernhard Frank's Blog

    Logparser Web-Statistik (Beispiel): Prozentuale Verteilung von http Anfragen in DNS Round Robin System ermitteln.

    • 0 Comments

    Bei dem System handelt es um 6 Webserver bei denen per DNS round robin eine Lastverteilung erreicht werden soll. Um die Güte / Verhalten der Lastverteilung zu überprüfen wurden die Logdateien der einzelnen Server zusammengeführt (auch mittels logparser) und eine Abfrage über die gesamte Logdatei gefahren.

    Folgende Logparser Beispiel Abfrage verwendet die PROPCOUNT Funktion um die Prozent-Werte zu berechnen - das Ganze wird dann noch auf 2 Nachkommastellen gerundet und als Tortengrafik dargestellt:

    LogParser.exe -i:W3C "select s-ip,DIV(ROUND(MUL(PROPCOUNT(*), 10000.0)),100) AS Percent into c:\temp\lb.jpg from c:\temp\combined.log group by s-ip order by Percent DESC" -chartType:PieExploded3D -chartTitle:"Loadbalancing (% of Requests)" -view:ON -filetype:jpg -values:on -categories:off

  • Bernhard Frank's Blog

    Logparser Web-Statistik (Beispiel): Vom Webserver ausgelieferte Datenmenge (MBit/min oder MBit/s) ermitteln.

    • 0 Comments

    Folgende Logparser Beispiel Abfrage summiert die Werte des sc-bytes Feldes aus der Logdatei in Minutenblöcke 'Quantize(time,60)' rechnet die erhaltene Summe in MBit um rundet ein bisschen und stellt das Ganze als Liniendiagramm dar. Da die Berechnung je nach Logdatei möglicherweise etwas länger dauert kann man den Zeitraum noch etwas eingrenzen:

    logparser -i:W3C "SELECT TO_TIMESTAMP(date,QUANTIZE(time, 60)) as [Time],DIV(To_REAL(SUM(sc-bytes)),1024000) As [MBit/min] into c:\temp\MBitperMin.jpg from C:\temp\logfiles\combined.log where date between TIMESTAMP('2009-12-10','yyyy-MM-dd') AND TIMESTAMP('2009-12-11','yyyy-MM-dd') group by s-ip,QUANTIZE(time, 60),date " -o:CHART -chartType:Line -values:OFF -groupSize:1024x768 -view:ON

     

    Hintergrund: Kurz vor dem Peak wurde ein Link zu einem Video an tausende Clients versandt.Sehen wir uns den Peak Zeitraum etwas genauer an:

    logparser -i:W3C "SELECT TO_TIMESTAMP(date,QUANTIZE(time, 1)) as [Time],DIV(To_REAL(SUM(sc-bytes)),1024000) As [MBit/sec] into c:\temp\MBitperSec.jpg from C:\temp\logfiles\combined.log where time between TIMESTAMP('09:00:00','hh:mm:ss') AND TIMESTAMP('10:00:00','hh:mm:ss') and date = TIMESTAMP('2009-12-11','yyyy-MM-dd') group by s-ip,QUANTIZE(time, 1),date" -o:CHART -values:OFF -groupSize:1024x768 -view:ON -oTsFormat:'hh:mm:ss' -charttype:Line

    Prinzipiell diegleiche Abfrage, nur wurde hier mit -oTSFormat:'hh:mm:ss' die Zeitangaben auf der x-Achse sinnvoller formatiert.

  • Bernhard Frank's Blog

    Logparser Web-Statistik (Beispiel): Spitzenbelastung und Stoßzeiten von http Anfragen / Sekunde ermitteln.

    • 0 Comments

    Folgende Logparser Beispiel Abfrage liefert die Top 5 der erreichten http Requests/sec aus der IIS Logdatei, dazu werden die Zeiten mittels Quantize commando in 1-Sekunden-Blöcken zusammengefasst:

    logparser -i:W3C "SELECT Top 5 date,QUANTIZE(time, 1) AS [Interval],Count(*) As [Hits/s]  from C:\temp\logfiles\combined.log group by s-ip,Interval,date order by [Hits/s] DESC"

    liefert:

    date       Interval Hits/s

    ---------- -------- ----

    2009-12-11 09:07:18 204

    2009-12-11 09:04:48 204

    2009-12-11 09:06:50 203

    2009-12-11 09:04:52 199

    2009-12-11 09:07:32 196

  • Bernhard Frank's Blog

    IIS Advanced Logging zeichnet keine "Performance counter" auf wenn ApplicationPoolIdentity als Identität für den Arbeitsprozess gewählt ist.

    • 0 Comments

    Szenario:

    • Win 7 + IIS 7.5 + Advanced Logging und eine Website eingerichtet.
    • Website hat eigenen ApplicationPool und läuft under der ApplicationPoolIdentity
    • Advanced Logging für Website konfiguriert und als Felder Performance Counter wie z.B. W3WP-PrivateBytes und CPU-Utilization ausgewählt.
    • Aufruf einer .aspx Seite welche ca. 10 Sekunden lang CPU verbrät.

    Problem:
    die Logfelder für die Performance counter bleiben leer (ApplicationPoolIdentity):

    #Software: IIS Advanced Logging Module

    #Version: 1.0

    #Start-Date: 2009-12-04 10:21:05.973

    #Fields:  cs-uri-stem W3WP-PrivateBytes TimeTakenMS CPU-Utilization

    /default.aspx - 10240


    Abhilfe:
    Nachdem die Application Pool Identität auf den NetworkService gesetzt wurde werden die Einträge mitgeloggt:

    #Software: IIS Advanced Logging Module

    #Version: 1.0

    #Start-Date: 2009-12-04 10:16:13.627

    #Fields:  cs-uri-stem W3WP-PrivateBytes TimeTakenMS CPU-Utilization

    /default.aspx 40357888 10350 53.58

  • Bernhard Frank's Blog

    Setzen einer statische IP Adresse von der Commando-Zeile aus (via WMI):

    • 0 Comments

     

    Cd %SystemRoot%\system32\wbem\

    wmic nicconfig where "caption like '%Local Area Connection%'" call EnableStatic ("192.168.2.5"), ("255.255.255.0")

    Anm: Sucht nach Adapter mit dem ungefähren Namen „Local Area Connection“ d.h. auch  „Local Area Connection 2“ würde da eine statische IP verpasst kriegen.

     

    Ausgabe:

    Method execution successful.

    Out Parameters:

    instance of __PARAMETERS

    {

            ReturnValue = 0;

    };

     

    Anderer Return code -> bist Du wirklich Admin?

  • Bernhard Frank's Blog

    Dynamic Datacenter Toolkit (aka DDC) Demo Code und Docs Download Link

    • 0 Comments

    Das DDC Toolkit findet man im Internet unter:

    1) Dynamic Data Center Toolkit for Hosters auf der MSDN Code Library, oder

    2) (mühsamer) als Bestandteil des Hosting Deployment Accelerators (aka "HDA"):

    um an den angepriesenen Demo Code, z.B. das auf Silverlight basierende Contoso Hosting Portal zu gelangen:

    windowshda.com -> run -> startet eine .hta file mit den Inhalten (benötigt Silverlight)

      ->    

    und von hier aus lassen sich die Sample Codes und Docs des DDC's herunterladen: 

      

    Screenshot des auf Silverlight basierenden Contoso Hosting Customer Panel:

  • Bernhard Frank's Blog

    Was es alles gibt: "PHP on Windows Training Kit"

    • 0 Comments

    bin gerade drüber gestolpert (noch nicht ausprobiert):

    Brief Description
    The PHP on Windows Training Kit includes a comprehensive set of technical content including demos and hands-on labs to help you understand how to build PHP applications using Windows, IIS 7 and SQL Server 2008.

    http://www.microsoft.com/downloads/details.aspx?FamilyID=C8498C9B-A85A-4AFA-90C0-593D0E4850CB&displaylang=en

  • Bernhard Frank's Blog

    PHP (5.3): PHP auf windows (IIS7) via FastCGI -> http 500 er Fehler

    • 0 Comments

    Heute php 5.3 von windows.php.net heruntergeladen (installer) und auf IIS7 eingerichtet

    phpinfo(); erzeugt mir http 500 er Fehler -> IIS7 tracing ergibt:

    ModuleName FastCgiModule
    Data1 FASTCGI_RESPONSE_ERROR
    Data2 PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Europe/Paris' for '2.0/DST' instead in C:\inetpub\testsite\index.php on line 3
    ErrorCode 5
    ErrorCode Access is denied. (0x5)

    Lösung: 

    In der php.ini

    date.timezone = "Europe/Berlin"

    (anschließend alle php-cgi.exe beendet)
    Anm.: http://ie.php.net/manual/en/timezones.europe.php

     

     

  • Bernhard Frank's Blog

    Logparser Web-Statistik (Beispiel): Balken-Diagramm (Column3D) über die Top 10 Downloads von gefilterter Dateien aus Web Server Log.

    • 0 Comments

    Folgende Logparser Beispiel Abfrage - stellt die Top 10 (nach Anzahl) erfolgreicher Downloads von gefilterter Dateien (*.msi,*.zip,...) aus einer Web Server Log Datei als Balkendiagramm dar, aufgelistet nach Anzahl und Teil der URL.

    logparser -i:W3C "select top 10 Distinct EXTRACT _SUFFIX(cs-uri-stem,0,'/'),count(*) As [Number of Downloads] into c:\work\downloads_web.jpg from c:\inetpub\logs\logfiles\W3SVC1\*.log Where sc-status = 200 AND (cs-uri-stem like '%msi%' OR cs-uri-stem like '%zip%' OR cs-uri-stem like '%exe%' OR cs-uri-stem like '%msu%') AND NOT cs-uri-stem like '%RaktajinoSetup.msi%' AND cs-uri-stem like '%webapps%' Group By cs-uri-stem Order by [Number of Downloads] DESC" -o:CHART -chartType:Column3D -values:ON -groupSize:1024x768 -view:ON -fileType:JPG

  • Bernhard Frank's Blog

    Logparser Web-Statistik (Beispiel): Http Status Codes aus Web log Datei als Tortengrafik (pie chart)

    • 1 Comments

    Folgende Logparser Beispiel Abfrage ermittelt die HTTP status codes aus einer Logdatei summiert diese jeweils auf und stellt das Ganze als Kuchendiagramm dar:

    logparser -i:W3C "select sc-status, Count(*) As [Count] into c:\work\status.jpg from c:\inetpub\logs\logfiles\W3SVC1\*.log group by sc-status Order by [Count] DESC" -chartType:PieExploded3D -chartTitle:"StatusCodes" -view:ON -filetype:jpg

     

    liefert:

Page 1 of 2 (28 items) 12