[server] logs, hoe ermee omgaan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »

Laravel Developer

Functie omschrijving Voor een gave organisatie in de buurt van Den Bosch zoek ik een PHP developer. Het is van belang dat je kennis/ervaring hebt met het framework Laravel. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Andere taken zijn onder andere: documentatie schrijven over applicaties/uitleg geven over software en applicaties/ klantcontact over bestaande applicaties/applicaties optimaliseren. Bedrijfsprofiel Deze organisatie zit in de regio van Den Bosch en is een klein bedrijf. Er werken circa

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 »

PHP Web Developer

Functie omschrijving Voor een klein softwarebedrijf in de omgeving Roosendaal, zijn wij op zoek naar een PHP web developer met een aantal jaar werkervaring. Wil jij graag werken aan in-house software projecten voor diverse klanten? Voel jij je prettige in een klein team developers, waar jouw inbreng enorm gewaardeerd wordt? Lees dan snel verder! Jouw werkzaamheden zien er als volgt uit: Je wordt verantwoordelijk voor de ontwikkeling van diverse applicaties. Dit kan de ene keer een online platform voor aanbiedingen zijn, en de andere keer een software pakket dat gebruikt wordt om interne processen te automatiseren. Het zijn stuk voor

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

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 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 »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Software Ontwikkelaar C# .NET

Functie omschrijving Startende Software Ontwikkelaar gezocht met kennis van C# .NET! Ben jij net klaar met je opleiding en ben je op zoek naar je eerste echte werkervaring? Of heb jij al enige werkervaring maar ben toe aan iets nieuws? Dan is dit de perfecte kans voor jou! Wij zoeken namelijk een Junior Software Ontwikkelaar die klaar is voor een nieuwe uitdaging bij een leuke werkgeven in de regio Zeist. In deze functie werk jij vaak aan verschillende projecten en ga je bij klanten op bezoek. Ben jij op zoek naar een functie met uitdaging, diversiteit en verantwoordelijkheid? Dan is

Bekijk vacature »

PHP developer

Functie omschrijving Voor een klein bedrijf in de buurt van Nieuwegein zijn wij per direct op zoek naar een talentvolle PHP developer. Er wordt veel ruimte geboden voor eigen initiateven, waardoor je een mooie stempel kan drukken op jouw eigen werkzaamheden (zowel operationeel als strategisch). Het bedrijf heeft middels externe programmeurs een multimedia platform ontwikkeld, maar willen geleidelijk de ontwikkeling naar binnen halen. Om die reden zoeken zij een communicatieve interne PHP developer die graag meebouwt aan het succesvolle product. Je gaat de volgende werkzaamheden verrichten: Platform beheren en programmeren (PHP, MySQL, JQuery, Javascript, XML & HTML); Communicatie en aansturing

Bekijk vacature »

Senior .NET Developer I goed salaris en deels thui

Bedrijfsomschrijving Mijn opdrachtgever is al ruim 20 jaar een gevestigde naam in de wereld van software ontwikkeling, met drie kantoren in de Randstad, waaronder Alphen aan den Rijn. Zij richten zich op het bouwen van IT-oplossingen die ervoor zorgen dat de productiviteit van klanten te allen tijden optimaal is. Hiervoor neemt jouw nieuwe werkgever het volledige ontwikkelproces tot haar rekening; van het eerste gesprek om de klantwensen in kaart te brengen, tot aan het uiteindelijke onderhoud van de opgeleverde oplossing. In totaal werken er inmiddels bijna 200 gemotiveerde IT-ers binnen deze organisatie. De gemiddelde leeftijd ligt rond de 35. Het

Bekijk vacature »

Front-end developer E-Commere

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als front-end developer heb je een adviserende rol en sta je aan het eindpunt van alles wat met designs te maken heeft. Je overlegt met klanten en collega’s, en zet je in om ideeen om te zetten tot unieke concepten. Je bent het aanspreekpunt voor de klant en bewaakt tevens de planning. Eisen

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

Bekijk vacature »

REMOTE - Front-end Angular developer

Functie Het IT-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn momenteel op zoek naar een ervaren Front-end developer die autonoom en gedisciplineerd aan de slag gaat, en bij aanvang als enige developer met hun Front-end applicaties bezig is. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde

Bekijk vacature »

Software programmeur

Functieomschrijving Voor een uitdagende werkgever in regio Breda zijn wij op zoek naar een Full Stack C#.NET programmeur. Je bent verantwoordelijk voor het ontwikkelen van apps, webapplicaties en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines te scannen en vervolgens de data om te zetten in management informatie voor de klanten. Taken en verantwoordelijkheden: Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks, HTML, TypeScript, SQL & C++, CSS. Geen ervaring met één van deze technologieën is dan ook geen enkel probleem! Deze werkgever biedt

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

23/11/2024 12:04:58
 
- 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.