[server] logs, hoe ermee omgaan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# Developer Research and Development - Delft

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Delft Vacature ID: 6307 Introductie C# Developer Research and Development - Delft - Onze klant is één van de meest innovatieve bedrijven in de region van Delft. Op dit moment zijn ze voor het innovatie centrum. In het innovatie centrum wordt gewerkt aan de nieuwste technieken voor navigatie software. R&D / C# / Pattern Recognition / Algorithms / 3d Data / DotNET Functieomschrijving Als C# Developer kom je te werken in een innovatief scrumteam. We ontwikkelen en door ontwikkelen de nieuwste technieken op het gebied van navigatie software. Deze software wordt onder andere

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Senior Front-end developer Consultancy

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

Bekijk vacature »

Senior Node.js developer Digital Agency

Functie Door de groei van de organisatie zijn ze op zoek naar een Tech Lead. Als tech lead ben jij verantwoordelijk Als Back end Node.js developer kom je terecht in een van de 8 multidisciplinaire teams in het projectenhuis. Afhankelijk van jouw interesses, wensen en capaciteiten word je bij projecten en onderwerpen naar keuze betrokken. Als ervaren ontwikkelaar zul jij vaak leiding nemen in de projecten en in het team een aanvoerder zijn van technische discussies. Uiteindelijk wil jij natuurlijk de klantwensen zo goed mogelijk vertalen naar robuuste code. De projecten kunnen varieren van langlopende- tot kleinschalige trajecten. Voorheen werkte

Bekijk vacature »

C# developer

Functie Als ervaren Software Engineer wordt jij verantwoordelijk voor het bedenken en ontwikkelen van technische (maatwerk) oplossingen voor onze klanten en dit samen met de klant af te stemmen. Jij wordt o.a. verantwoordelijk voor de doorontwikkeling het software pakket welke voor ons enorm belangrijk is. Dit pakket zorgt er namelijk voor dat wij complete productielijnen kunnen aansturen en monitoren. Daarnaast heb jij actief contact met onze hoofdvestiging om het software achter een van onze systemen te verbeteren en te herschrijven. Momenteel zijn onze C# applicaties geschreven met o.a. Winforms. Echter hebben wij de actieve ambitie om dit te gaan herschrijven

Bekijk vacature »

Fullstack developer

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie werken? Voor een mooi softwarebedrijf in omgeving Gouda zijn wij op zoek naar versterking op de afdeling Software Development! Als Fullstack react.js developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Onderdelen van jouw functie: Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Senior Java Ontwikkelaar

Dit ga je doen Werken aan uiteenlopende interne projecten voor grote (internationale) organisaties; Ontwikkelen van diverse (web)applicaties en platformen met technieken als Java, Azure en ASP.NET; Complexe vraagstukken tackelen met jouw expertise en ervaring; Waar nodig help jij je collega's om samen tot de juiste oplossing te komen. Hier ga je werken Als Java Developer kom je te werken bij een internationale organisatie in regio Amsterdam die zich richt op procesoptimalisatie door middel van zeer complexe IT oplossingen. Dit doen zij op het allerhoogste niveau met vestigingen over heel de wereld en met een groot aantal aansprekende, maatschappelijk betrokken klanten.

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Grafisch vormgever

Standplaats: Maasland Aantal uren: 32 – 40 uur per week Opleidingsniveau: HBO werk- en denkniveau Ben jij een ambitieuze grafisch vormgever met een passie voor creativiteit en oog voor detail? Vind jij het daarnaast leuk om ook marketingactiviteiten op te pakken? Dan zijn wij op zoek naar jou! Bedrijfsinformatie Westacc Group BV is het zusterbedrijf van HABA en specialiseert zich in (maatwerk) oplossingen voor (elektro) techniek en verlichting in de kampeerbranche. Zij produceren en assembleren onderdelen voor caravans, campers en boten. Voor een groot aantal caravan- en campermerken leveren wij producten als zekeringkasten, invoerdozen, acculaders, schakelmateriaal en verlichting. De producten

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Wil jij bij een platte en informele organisatie werken? Lees dan snel verder! Voor een opdrachtgever in omgeving Boskoop dat zich gespecialiseerd heeft in het realiseren van veilige netwerkverbindingen zijn wij op zoek naar een leuke software developer ter versterking van het huidige team. Hoe kan jouw dag er straks uitzien? Je gaat technische klussen uitvoeren op locatie bij klanten.Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op het gebied van geleverde software en webapplicaties. Je gaat software en webapplicaties ontwikkelen met behulp van de talen

Bekijk vacature »

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Medior .NET Ontwikkelaar

In het kort Als .NET ontwikkelaar ga je binnen onze business unit Transport en Logistiek aan de slag complexe maatwerk software voor bedrijf kritische systemen binnen de technische automatisering. Denk bijvoorbeeld een IoT-oplossing voor de logistieke sector waarbij we van ruim 200.000 machines de telemetrie en events verwerken. We zijn actief in de distributielogistiek, havenlogistiek en productielogistiek. Naast C# en .NET Core maken we ook gebruik van Azure technologie. En als trotse Microsoft Gold Partner leren we graag van en met jou. Wil jij jezelf blijven ontwikkelen binnen de technische automatisering met .NET, dan gaan we deze uitdaging graag met

Bekijk vacature »
Ozzie PHP

Ozzie PHP

10/05/2016 03:52:43
Quote Anchor link
Voor de mensen onder ons die een server beheren ... ik vraag me af hoe jullie met logbestanden omgaan.

Alles wat er op de server gebeurt, wordt gelogd. Van de ene kant natuurlijk handig, maar van de andere kant zorgt het ook voor een hoop 'zooi'. Als ik bijv. kijk hoeveel pogingen er worden gedaan om in te breken op de server ... daar loopt je log op een gegeven moment aardig vol van. (Hoe groot mag een log eigenlijk worden?)

Maar wat moet je daar nu eigenlijk mee vraag ik me af. Moet je zo'n log na een tijdje handmatig leegmaken? Of laat je 'm gewoon 'groeien'? En hoe moet je überhaupt omgaan met logs vraag ik me af. Moet je die iedere week doornemen? Of kijk je er hooguit 1 of 2 keer per jaar naar? Of kijk je er pas naar op het moment dat er iets fout gaat?

En hoe kun je logs nu eigenlijk het beste beschouwen ... zijn het tools die je telkens in de gaten moet houden om te controleren of het systeem nog goed werkt OF zijn het simpelweg bestandjes die je kunt raadplegen als er een keer iets fout gaat? Hoe moet je dat zien?
 
PHP hulp

PHP hulp

27/12/2024 12:18:39
 
- Ariën  -
Beheerder

- Ariën -

10/05/2016 07:35:06
Quote Anchor link
DirectAdmin bewaart de websitelogs in ieder geval 7 dagen, en comprimeert om 00:10 de logs van de vorige dag in een tar.gzip. Elke dag verwijderd hij standaard weer de gecomprimeerde logs van een week oud. Of dit ook bij de algemene serverlogs is durf ik even niet te zeggen.

Mijn logs kijk ik alleen maar door als er dingen fout gaan. PHP-errors stuur ik naar mijn eigen log tor die zich niet roteert. Hoe minder errors, hoe beter.
Gewijzigd op 10/05/2016 07:39:13 door - Ariën -
 
Ward van der Put
Moderator

Ward van der Put

10/05/2016 08:26:25
Quote Anchor link
Het OWASP Logging Cheat Sheet beantwoordt ook een deel van je vragen en vooral vijf W's: wat moet je van wie waar, wanneer en waarom loggen.

Omdat ik mijn serverlogs ook gebruik voor technische SEO-analyse, schoon ik de boel pas na 18 maanden op: dat maakt jaar-op-jaar-vergelijkingen mogelijk.

PHP- en MySQL-fouten log ik naar een apart bestand waar ik alleen induik als er eens wat fout gaat (dus vooral in een testomgeving). Gaat een site of een kritieke service down, dan laat ik een 503-pagina een waarschuwing naar mijn Gmail-account mailen, zodat ik gelijk kan ingrijpen.
 

10/05/2016 10:02:31
Quote Anchor link
Er bestaan vast tools die logs analyseren en kunnen omzetten naar grafiekjes. Logbestanden kun je actief bijhouden in een betere teksteditor, handig voor real time monitoring. Logbestanden horen overschreven te kunnen worden via een 'rollover' techniek, als logbestanden een bepaalde datum of grootte voorbij zijn dan wordt historie weggedaan om ruimte te maken voor nieuwe registraties.
Logbestanden op een server kan je het beste wegschrijven op een aparte partitie (met een quotum) waardoor er genoeg ruimte blijft voor het besturingssysteem om te functioneren.
 
Thomas van den Heuvel

Thomas van den Heuvel

10/05/2016 13:18:02
Quote Anchor link
Normaal gesproken worden logs geroteerd. Het is niet handig noch wenselijk dat logs eindeloos groeien. Het vreet op den duur al je ruimte op en probeer maar eens iets te zoeken/terug te vinden in een bestand van > 1 GB. Ook komt daarmee de (gedeelde) sch(r)ijfruimte mogelijk in gevaar als je dit niet goed beheer(s)t, het voorstel van @Antje om logs een apart plekje te geven is zeker het overwegen waard.

Dan is "logs" een nogal brede noemer. Wat voor logs zijn dit? Ik zou deze op zijn minst splitsen in errorlogs en accesslogs. Errorlogs zou ik bij tijd en wijlen doornemen en vaak terugkerende fouten oplossen. Dit is ook nodig om door de bomen het bos te kunnen (blijven) zien. Wanneer je errorlog ramvol zit met meldingen van undefined indexes zie je wellicht dringender zaken over het hoofd.

Een log bevat meestal een beknopte historie en is daarmee een naslagwerk welke je inzage kan geven in wat er mis kan (of is ge)gaan in het gebruik (de uitvoering) van code. Het verschaft je dus mogelijk "getuigen" van een "ongeval". Het maakt je ook vaak attent op dingen die je zelf hebt gemist bij ontwikkeling of randgevallen waar je geen rekening mee hield en ontstaan bij (intensief) gebruik.

De eerste vraag die je jezelf kunt/moet stellen als er "iets is misgegaan" is "wat zeggen de errorlogs?". Deze vraag zou je ook standaard op kunnen nemen in een checklist die iemand nagaat voordat 'ie hier (in het algemeen) zijn/haar vraag dumpt. Net zoals het inschakelen van het melden en weergeven van fouten. Vaak kun je de vraag dan al oplossen voordat je deze stelt :). (error)logs are your friend.
Gewijzigd op 10/05/2016 13:24:09 door Thomas van den Heuvel
 
Ward van der Put
Moderator

Ward van der Put

10/05/2016 13:51:44
Quote Anchor link
Daarnaast kun je vaak nog log levels zelf instellen. Bijvoorbeeld in de stijl van het Syslog-protocol:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-3-logger-interface.md#5-psrlogloglevel

Hiermee heb je in je eigen PHP-applicaties een prima instrument om zelf te bepalen wat je wel/niet logt en om een onderscheid te maken tussen onschuldige akkefietjes en kwalijke zaken. Een logger inbouwen brengt wat overhead met zich mee — en daar houdt Ozzie niet zo van ;-) — maar je kunt beter te veel dan te weinig loggen.
 

10/05/2016 13:57:28
Quote Anchor link
Thomas heeft gelijk, logs zijn maar een onderdeel in de keten. Als niemand er naar kijkt heb je niets aan logbestanden. Als je achteraf terug wilt kunnen kijken kan je ze beter laten staan.

In grotere organisaties horen logs actief in de gaten gehouden te worden. Niet alleen om te kijken of een product functioneert, maar ook of er oneigenlijk gebruik van gemaakt wordt. Van inlogpogingen vanaf obscure IP-adressen, tot complete audit trails om te zien of een gebruiker wel recht had om iets in te zien.

Omdat logs zo veelzijdig kunnen zijn (je kunt er vanalles inzetten) zijn er allerlei tools te vinden om logs te analyseren, je kunt er triggers opzetten om vreemd gedrag van gebruikers in de gaten te houden, etc. Maar dan moeten logbestanden dus wel onderdeel zijn van een proces dat altijd door mensen bediend wordt.

Een ander soort logbestand is dat wat je aanzet als een programma of programma-keten niet goed functioneert, een debug log. Of nog gedetailleerder: een trace log. Deze categorie logbestanden hebben doorgaans een dusdanig negatieve impact op de prestaties van een programma dat het pas aangezet wordt als er een probleem is waarvan de oorzaak niet bekend is, men hoopt dan op deze manier aan meer informatie te komen. In een debug log wordt doorgaans gedragingen van een programma opgenomen, waar in een trace log ook nog eens communicatie tussen verschillende onderdelen wordt bijgehouden.
 
Ozzie PHP

Ozzie PHP

10/05/2016 15:19:17
Quote Anchor link
>> Dan is "logs" een nogal brede noemer. Wat voor logs zijn dit?

Het gaat echt om de logs van de server zelf. Dat zijn er nogal wat. Je hebt een secure log, je hebt messages, je hebt een maillog enz. Allemaal van de server dus. Als er een paar klojo's proberen te connecten met je mailservers, zorgt dat per aanval voor tientallen log-regels. En als je dan een aantal keren per dag zo'n aanval hebt, loopt een bestandje gauw vol. Hetzelfde geldt voor aanvallen op poort 80. Dat zorgt ook voor een hoop bagger.

Ik ga nog wel Fail2Ban installeren, dus dat zal wel wat gaan schelen, maar het is en blijft vervelend. Dat roteren van logs moet ik nog even uitzoeken. Wellicht doet Plesk dat al, maar dat weet ik nog niet.

>> Een logger inbouwen brengt wat overhead met zich mee — en daar houdt Ozzie niet zo van ;-)

Dat klopt ... maar het hangt er vooral vanaf of zo'n log zichzelf weer opruimt. Dát er gelogd wordt, vind ik niet erg. Maar als dat straks ineens bestanden worden van tientallen of honderden mb's wordt het een ander, en vervelend, verhaal.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.