Kruse-Net.dk

Det man blogger er man selv…

glTail

Realtime logfile visualization. Et interessant koncept hvis det kan gøres fornuftigt. Mr. Fudgie har et bud på en løsning med Ruby programmet glTail, som jo på videoen på hjemmesiden ser ganske underholdende ud. Så hvordan får vi det op at køre på en Windows pc?

Vi skal bruge følgende:

  1. En SSH server på maskinen med logfilerne (serveren)
  2. Ruby med net-ssh og ruby-opengl på klient-maskinen
  3. glTail — naturligvis

SSH

Punkt 1 foreslår jeg løst med Cygwin. Der findes et par alternativer, måske også nogle der er gratis, men jeg bruger allerede Cygwin, og den indeholder en glimrende SSH server der er let at sætte op. Der findes en strålende vejledning her. I korte træk går den som følger:

  • Sørg for at alle brugere på serveren har et password.
  • Hent og kør Cygwin’s setup.exe.
  • Find og marker pakken “openssh”, så den bliver inkluderet i installationen.
  • Drik en kop kaffe eller tre mens Cygwin installerer.
  • Sæt environment variablen CYGWIN=ntsec tty.
  • Tilføj Cygwin’s bin katalog til path, hvis det ikke allerede er gjort.
  • Åbn en Cygwin shell og kør ssh-host-config idet der svares yes til privilege separation, create local user sshd og install sshd as a service, og ntsec tty til CYGWIN= spørgsmålet.
  • Start sshd servicen.
  • Synkronisér Cygwin brugere og grupper med Windows (skal gentages hvis der efterfølgende ændres på brugerne i Windows) med kommandoerne mkpasswd -cl > /etc/passwd og mkgroup --local > /etc/group.
  • Slet alle de brugere fra /etc/passwd (under Cygwin’s installationskatalog) som du ikke vil have skal kunne logge ind.

Se evt. den fulde vejledning for detaljer om test, firewalls og andet. Det fremgår bl.a. også hvordan man genererer et nøglepar til login fra klient uden password. Serveren skulle nu være klar.

Ruby

På klienten skal vi bruge en Ruby-installation. Ruby er et fortolket sprog, og glTail har form som en enkelt fil indeholdende Ruby kildekode. Det er også forholdsvis enkelt:

  • Download og kør Ruby One-Click-Installer for Windows fra Ruby’s download side.
  • Sørg for at Rubygems er valgt under installationen.
  • Drik en kop kaffe mere.
  • Når installationen er færdig køres “RubyGems Package Manager” fra start menuen.
  • Kør kommandoerne gem install net-ssh og gem install ruby-opengl fra kommando-prompten. På den sidste bliver man som regel præsenteret for en række valgmuligheder, af hvilke man skal vælge den der hedder i386-mswin32.
  • Luk RubyGems igen.

Ruby skulle nu være installeret og klar til brug, hvilket bringer os til…

glTail

  • Download nyeste version af glTail fra linket på fudgie.org (0.3 i skrivende stund).
  • Åben filen gl_tail-#.##.rb i din yndlings-editor.
  • Find linien $SERVERS = [ og ret til så det passer med din server. Hvis du har installeret et nøglepar (den private på klienten, den offentlige på serveren) så udelad :password. Ellers skal :user og :password være et Windows brugernavn og password på serveren. Bemærk at C-drevet på serveren hedder /cygdrive/c når det tilgås gennem Cygwin. Husk også at angive den korrekte parser afhængig af typen af logfil.
  • Gem og luk filen.
  • Klik på den i stifinder, eller lav en genvej til den og klik på den. Så skulle alting gerne fungere.

Et lille tip til sidst: Hvis du er generet af at programmet sluger al den cpu-tid det kan få, så find linien def draw i programmet, og indsæt en ny linie umiddelbart efter som indeholder sleep 0.05. Tallet kan evt. justeres. Højere værdier får programmet til at køre langsommere.

God fornøjelse!

Skriv et svar