Over Remko
Remko van Gilst is een zeer ervaren specialist binnen de IT-wereld met al bijna 30 (!) jaar ervaring. Als Netwerk Engineer heeft hij bij diverse organisaties gewerkt en is hij dan ook bekend met allerlei soorten netwerkapparatuur van Cisco en vele andere leveranciers. Remko ontdekte dat er meer is en zo ontdekte hij het plezier van Python. Ook werkte hij aan een project waarbij er een datacenter werd gemigreerd naar de Azure Cloud. Dit paste niet helemaal bij hem en hij keerde terug naar Network Automation met Python waar zijn echte passie ligt.
Remko is dit jaar gestart bij I-share en zit inmiddels al bijna twee jaar op opdracht bij dezelfde organisatie. Hier doet hij gave dingen, waaronder de ontwikkeling van een eigen applicatie! In deze case vertelt Remko meer over hoe deze applicatie wordt ingezet en hoe hij tot de ontwikkeling ervan is gekomen.
De alarmen binnen ACI
‘’Iedere ochtend begint de man van de dag, bij DCS (Data Center Services) ook wel de topper van de dag genoemd, met het controleren van alle alarmen. Het gaat hier dan om alarmen in ACI, prime en in PRTG. Daarnaast wordt ook de mailbox gecontroleerd.
Het controleren van al deze alarmen is een zeer tijdrovende klus. Zo wil mijn team (DCS) deze taak gaan uitbesteden aan het NOC. Op deze manier zal het DCS-team meer tijd hebben om specialistische zaken af te handelen en zijn de alarmen op een centrale plaats (NOC) geborgd.
Binnen ACI staan er heel veel alarmen, zo rond de 137! Hierdoor kun je nooit in een oogopslag zien of er wat veranderd is. Een gros van de alarmen zijn ook cosmetisch en die alarmen hebben verder geen invloed op de werking van ACI, maar ze staan er wel …
De alarmen binnen ACI zijn in groepen verdeeld, bijvoorbeeld op severity en ook op soort (connectie of configuratie). Zo kun je wel zien dat er 37 alarmen in een groep zitten en al snel denken: ‘Oh, gisteren stonden er ook al 37.’. Dit soort aannames kunnen de boel flink in de war brengen. Dat is precies wat er hier ook aan de hand is, want het kan zo zijn dat er een alarm is afgevallen en er daarnaast ook weer eentje is ontstaan. Hierdoor zie je dus nog 37 alarmen.
Ontwikkeling van de app
Om bovengenoemde problemen te voorkomen en het werk minder tijdrovend te maken kwam ik op het idee voor een applicatie. Zo heb ik een app gemaakt die alle alarmen vanuit ACI binnenhaalt en in een database zet. Via de GUI worden alle alarmen weergegeven en krijgen ze een kleur op basis van severity. Op basis van de kleuren kan men inschatten hoe hoog de prioriteit is.
Als een alarm is ‘acknowledged’ wordt deze niet meer in de actieve lijst van alarmen weergegeven. Deze alarmen zijn nog wel te zien in de GUI en in de volledige alarmen lijst. Ook kan er een ticket nummer worden toegekend aan een alarm of er kan een opmerking worden toegevoegd.
De lijst met alarmen wordt ververst op het moment dat iemand de lijst opvraagt. De lijst met actieve alarmen (dus alarmen die niet zijn ‘acknowledged’) is zo veel kleiner tot wel 0 alarmen. Alleen de nieuwe, nog niet bekende alarmen, worden weergeven in de lijst van actieve alarmen.
Hierdoor is het zeer overzichtelijk welke nieuwe alarmen er zijn.
Het kan natuurlijk voorkomen dat je per ongeluk een alarm ‘acknowledged’. Het fijne aan de app is dat je deze dan weer kunt ‘de-acknowledgen’. Het alarm komt dan vervolgens weer in de actieve alarmen lijst. Ook kun je zien welke gebruiker het alarm heeft ‘acknowledged’.
Wanneer er een alarm afvalt, dus verdwijnt, dan wordt deze als groen weergegeven in de actieve alarmen lijst. Zo kun je de bijbehorende acties uitvoeren, zoals ticket sluiten en mensen informeren etc.
Het DCS-team is heel blij met de app, en deze gaat ook door het NOC worden gebruikt of is al in gebruik bij het NOC. De code om dit alles te maken bestaat uit zo’n 280 regels Python in een Django Framework, en een database op basis van SQL.
Oh, en de code is universeel, dus ook bij andere klanten te gebruiken! 😊’’