Drupal multi website monitoring
door: Josha Hubbers
datum: 5 november 2024
leestijd: ca. 4 minuten
Als Drupal bureau heb je soms tientallen Drupal websites te onderhouden. Natuurlijk wil je dat deze websites allemaal up to date zijn met de laatste beveiligingsupdates en -instellingen. Je wilt ook op de hoogte zijn van eventuele foutmeldingen en andere problemen. Maar hoe houd je ze allemaal in de gaten op een eenvoudige overzichtelijke manier? In dit artikel leg ik uit hoe wij een aantal modules en scripts combineren en real-time op de hoogte blijven van alle websites die wij beheren en ondersteunen.
Tijdens de Drupal Tech Talk op 31 oktober heb ik laten zien hoe wij dit bij React Online doen. Het uitgangspunt daarbij is: ik heb behoefte aan een simpel overzicht van alle sites die we onderhouden en hun status.
Voor alles is een module
Natuurlijk, we gebruiken tools als Pingdom om in te kunnen grijpen zodra een website uit de lucht gaat. Als het gaat over het installeren van updates, meldingen in de logging en instellingen als javascript en CSS aggregation dan willen we dit ook in een makkelijk te onderhouden en overzichtelijk dashboard. Bij voorkeur in Drupal.
Mijn zoektocht begon op Drupal.org. Want met al die duizenden modules zal er toch vast wel een pasklare oplossing voor mijn vraag tussen zitten, dacht ik. En inderdaad er zijn veel modules die min of meer doen wat ik wil.
Drupal Remote Dashboard
Denk bijvoorbeeld aan DRD (Drupal Remote Dashboard). Als ik de beschrijving lees is dat precies wat ik zoek. Dus vol goede moed heb ik dit op mijn test-omgeving opgezet. Het is inderdaad een dashboard waar je heel veel mee kunt. Maar ik vind het moeilijk om het eenvoudige overzicht dat ik graag wil te krijgen: in één lijst alle websites met hun status zien. Daarbij heeft deze module zoveel mogelijkheden dat ik me ook wat zorgen maak. Wat nu als iemand toegang krijgt met kwade bedoelingen? Die heeft dan ineens veel te veel controle over alle websites die ik beheer. Een te groot single-point-of failure dus.
Site- en Site dashboard
Op naar andere alternatieven. Ik kom de Site- en Site dashboard module tegen. Dit klinkt ook mooi. Het ziet er al een stuk eenvoudiger en overzichtelijker uit dan Drupal Remote Dashboard. Dat lijkt meer aan mijn wensen te voldoen. Wat wel een nadeel is: er is geen stabiele versie. Ik wil wel graag een module die actief onderhouden wordt en niet een die ik over een jaar alweer moet gaan vervangen omdat hij niet meer werkt met de nieuwe Drupal-versies. Daarnaast moet JSON:api bij deze module open staan met read/write-access. Daar ben ik zelf geen fan van. De module maakt in tegenstelling tot de meeste andere namelijk gebruik van een push-mechanisme. De clients verzenden hun data naar het dashboard in plaats dat het dashboard de informatie ophaalt.
Site Audit
Dan kwam ik ook nog de module Site Audit tegen. Die ziet er heel overzichtelijk uit. Hij doet veel checks. Hij is pluggable, dus we kunnen hem uitbreiden met eigen informatie. Maar het dashboard is een module die geen release heeft. En ook een push-koppeling. Net als de Site module. Dat is ook niet wat ik zoek.
Status Dashboard
De laatste die ik tegenkwam in de categorie dashboards is Status Dashboard. Je installeert deze module op je websites. Je installeert op één website de module als dashboard. In dit dashboard kan je vervolgens met een pull mechanisme de status van de andere sites ophalen en weergeven. Dit is voor wat betreft overzicht wel wat ik wil hebben. Alleen zijn er een paar kanttekeningen. Ten eerste heeft de module geen stabiele versie. Ten tweede wordt bij elke cron-uitvoering de status opgevraagd. Dat is nogal overdone in mijn ogen. En ten derde toont deze alleen de updates die geïnstalleerd moeten worden. Verder geen informatie. Dat is te beperkt naar mijn zijn.
Drupal modules voor website status informatie
Dat zijn de modules die een dashboard bieden. Verder zijn er wel heel veel modules die je op een website kunt installeren om informatie te verzamelen. Bijvoorbeeld Security Review. Een module die controleert of je de best-practices voor het veilig inrichten van Drupal toegepast hebt op je site. Monitoring. Een framework dat veel sensors biedt, en pluggable is. Ideaal om de status van een website inzichtelijk te houden. Vitals en Vitals extra installeer je op een website en vervolgens wordt er een JSON-rapportage beschikbaar gesteld met informatie. Deze is alleen helaas niet pluggable en vrij beperkt. Ten slotte kwam ik nog Site Guardian tegen. Deze doet ongeveer hetzelfde als Vitals, alleen is deze uitgebreider. En via een hook kun je eigen informatie aan de rapportage toevoegen. Op de project pagina wordt gezegd dat het dashboard dat erbij hoort ook snel beschikbaar gesteld zal worden. Maar na navraag bij de maintainer blijkt dit voorlopig niet te gaan gebeuren, als het al ooit gaat gebeuren.
Daarnaast heb ik nog gekeken naar Drupalmonitor. Maar een dashboard dat alleen via HTTP en niet via een beveiligde verbinding te gebruiken is lijkt me zeer onwenselijk. Production check en Production monitor lijken inactief te zijn.
En er zijn modules die Drupal informatie beschikbaar stellen aan externe monitoring-applicaties zoals Nagios, Sentry of GlichTip. Maar ik wil graag een Drupal website en niet een monitoring applicatie die ik los op een server moet installeren. Dus deze heb ik buiten beschouwing gelaten.
Wij zijn altijd op zoek naar digital natives en enthousiaste developers die kwaliteit waarderen en waarbij het onmogelijke niet bestaat. Vakidioten die met nieuwe technologieën super coole oplossingen maken. Check onze vacatures. Of kom eens langs en maak kennis met dé Drupal experts van Nederland.
Multi Site Dashboard van React Online
Helaas is er dus niet een oplossing die echt voldoet aan mijn wensen. Maar er zijn wel tools die me kunnen helpen bij het realiseren van wat ik wil. Dus heb ik besloten dan maar zelf het ontbrekende stukje toe te voegen. De Site Guardian module biedt eigenlijk qua input alles wat ik graag wil hebben. Dus dan hoef ik daar alleen maar zelf een dashboard voor te zetten dat zo eenvoudig is als ik wil. En natuurlijk stellen we dit ook weer als open source Drupal module beschikbaar zodat anderen die dezelfde vraag hebben als ik er gebruik van kunnen maken: Onze module heet Multi Site Dashboard (ro_dashboard).
Het Multi Site Dashboard geeft snel en gemakkelijk inzicht in de status van meerdere websites. Wil je meer weten over ons Multi Site Dashboard? Check het zelf of stuur ons een bericht als je er meer over wil weten.
De Multi Site Dashboard module maakt gebruik van de input van Site Guardian. Dus op elke website die we willen monitoren voegen we Site Guardian toe. Vervolgens hebben we één website, het dashboard, waarop we onze module hebben geïnstalleerd. Daarop kunnen we alle andere websites toevoegen. Ons dashboard haalt één keer per dag de status van alle andere websites op. En dan heb je een eenvoudig dashboard, precies zoals jij zelf wil.
De basis staat. We kunnen websites toe gaan voegen en het overzicht dat ik wil hebben realiseren. Maar met de oplossing komen uiteraard nieuwe wensen. Dus klaar is het nooit. Maar het begin is er.
Wil je meer weten over ons Multi Site Dashboard? Stuur ons een berichtje of kom eens langs!
Kom eens langs op onze studio in Eindhoven. We zijn benieuwd naar jouw oplossing!