Nous avons donc probablement tous eu cette situation: vous résolvez un problème, mais vous vous rendez compte que cela a été causé par un changement de configuration que vous avez effectué il y a six mois, et vous ne vous rappelez pas pourquoi vous l'avez fait. Donc, vous annulez et corrigez le problème, et maintenant un autre problème revient. Oh oui, maintenant je me souviens! Ensuite, vous corrigez le problème correctement.
C'est parce que tu n'as pas pris les bonnes notes, imbécile! Mais quel est le bon moyen de faire cela?
En ingénierie, nous avons une multitude de logiciels destinés à nous aider à détecter et à suivre les changements. Contrôle de la source, revues de code, etc. Chaque changement est suivi, chaque changement nécessite un commentaire sur ce que c'est. Et les départements d'ingénierie habituels ont besoin de bons commentaires. Ainsi, en six mois, lorsque vous déterminez pourquoi vous l'avez brisé de cette façon, vous pouvez utiliser une fonction historique de "reproches" ou des constructions de recherche binaire pour identifier le problème. Ces outils sont des outils de communication et des archives historiques très efficaces.
Mais dans Serverland, nous avons 500 services différents, tous avec différentes manières de les configurer. Et ils ne disposent pas toujours d'un format texte (envisagez de définir des autorisations sur un dossier ou de modifier l'emplacement du fichier d'échange) bien qu'ils puissent avoir une représentation textuelle.
Dans notre environnement, nous vérifions quels fichiers de configuration sont disponibles dans Perforce, mais il y en a très peu. Impossible de vérifier exactement dans la base de données Active Directory ... bien que peut-être un vidage qui pourrait être diff ...
Dans le passé, j'ai essayé de garder un journal de changement manuel dans notre wiki, mais il est extrêmement difficile de maintenir la discipline pour le faire (je sais, ce n'est pas une bonne excuse, mais c'est vraiment difficile).
Ma question: Quelles stratégies et quels outils utilisez-vous pour faire face à ce problème de suivi des modifications de la configuration de vos serveurs?
-- Mise à jour --
Remarque: je ne cherche pas d'outils de prise de notes partagées (je connais OneNote, etc.) autant que des outils automatisés spécifiquement conçus pour faciliter le suivi des modifications du serveur. Il n'y a pas d'outil complet pour suivre les modifications de la configuration du serveur, mais il en existe peut-être pour des applications spécifiques telles que les objets de stratégie de groupe.
De plus, je suis très intéressé par les stratégies spécifiques que vous avez trouvées utiles. "Nous partageons des notes dans Sharepoint" est assez vague. Comment maintenez-vous la discipline? Quel format utilisez-vous pour suivre vos modifications? Comment organisez-vous vos données de changement? Je voudrais vraiment des exemples ainsi que des idées.
la source
L’un des problèmes dans cette situation est qu’il s’agit en réalité d’un processus combinant processus commercial et problème technologique. Et il est définitivement plus important que de simplement suivre les modifications apportées par un administrateur. Vous devez également garder un œil sur les modifications inattendues et sur une bonne coordination entre les administrateurs ou les unités afin qu’une modification sur un contrôleur AD n’annule pas le paramètre d’autorisations de la base de données sur un serveur départemental. C'est-à-dire que votre question est une boîte de conserve géante :)
Dans mon organisation, nous mettons environ un an à déployer des processus et des systèmes pour résoudre ce problème. Du côté des processus métier, nous avons formé une équipe de gestion du changement. Selon les SOP, toutes les modifications apportées aux environnements de production sont coordonnées. Ils compilent toutes les modifications, ainsi que la portée, les systèmes affectés, les services concernés, etc. Appliquez une bonne documentation sur les modifications, ainsi que les plans de déploiement et de restauration. Organisez des réunions hebdomadaires (ouvertes) pour passer en revue les modifications d'environnement à venir, puis envoyez des e-mails détaillant toutes ces modifications. L'objectif final de ce processus est de faire en sorte que tout le monde dans l'informatique sache effectivement tout ce qui se passe. Cela aide à résoudre le problème posé, par exemple, par un administrateur système (SYSAdmin) qui installe un correctif du noyau et redémarre un système qui supprimera la base de données timeclock.
Pour ce qui est de la technologie, je ne peux parler que des gars sous Unix / Linux car je ne traite pas avec Windows. Ils ont déployé Puppet, de Reductive Labs, pour la gestion de la configuration de tous ces systèmes. Simplement, est un système client / serveur où l’on définit une configuration d’ordinateur sur le serveur et où le client tire ces chances de temps en temps (30 minutes par défaut). De plus, si des risques sont créés pour les fichiers gérés localement, ils sont également rétablis à ce moment-là. Nous l'utilisons pour gérer les services en cours, les configurations de pare-feu, les autorisations des utilisateurs, etc.
Je recommanderais également de rechercher quelque chose comme TippingPoint. C'est un service client qui surveille la configuration du système et envoie des alertes sur les modifications. Cela nous rend les gens de la sécurité plus heureux. Il est largement utilisé pour le suivi des modifications malveillantes ou non publiées.
la source
Je suis allé à 4 ou 5 compagnies maintenant je ne me souviens pas vraiment.
Nous avons tous eu ce problème. Aucun d'entre nous n'a résolu le problème à 100%, mais dans l'entreprise où je suis actuellement, nous avons ce que je considère être la meilleure stratégie à ce jour.
Sharepoint / Wiki / Evernote / NIP
la source
Il y a probablement de meilleurs outils pour certains d'entre eux, mais voici ce que nous utilisons:
la source
Pour Windows, consultez la série Microsofts System Center ou tout autre concurrent en matière de configuration et de gestion de services pour cette plate-forme.
Les changements doivent être acheminés via une routine de gestion de changement décente qui, par elle-même, les approuve et les enregistre avant leur exécution. Cela peut être 100% manuel pour les débutants. Avec certains des meilleurs outils intégrés, vous pouvez lui demander d’effectuer les modifications et d’en faire une connexion "automatique" vers une base de données de configuration centrale - plutôt que de vous débrouiller seul dans la console d’un serveur individuel, en fouillant manuellement les paramètres. essayez de résoudre un problème de style cow-boy.
la source
Vous devez absolument mettre en place un processus de gestion des modifications, en particulier si plusieurs personnes ont la capacité / la possibilité d’apporter des modifications au niveau du système dans votre environnement. Cela fournit également un moyen à la direction de valider les modifications éventuelles, mais l'inconvénient qu'elle induit une latence dans le processus de modification si vous ne pouvez pas effectuer de modifications à la volée.
Certains moyens de suivre les modifications peuvent inclure la validation des événements dans votre SEM (en supposant que vous ayez un gestionnaire d’événements de sécurité) ou des outils tels que Nessus (avec beaucoup de travail, vous pouvez auditer votre environnement pour rechercher les modifications).
la source
Ceci est une réponse plus localisée, basée sur * nix. Je n'ai pas trouvé de bons outils pour l'imiter sous Windows.
Il y a plusieurs façons de mettre cela en œuvre ... et de l'attraper quand vous oubliez.
Les systèmes de contrôle de révision tels que Subversion, Git, CVS ou RCS constituent un bon moyen de suivre l'historique d'un fichier de configuration. Si vous ne souhaitez pas installer de système de contrôle de révision sur vos serveurs de production, le stockage des répertoires de fichiers de configuration localement ou à distance à l'aide de quelque chose comme rsnapshot vous apportera l'essentiel des avantages d'un RCS, mais vous perdez la possibilité d'auditer ou de laisser commettre. journaux (bien que cela puisse être contourné avec des commentaires dans les fichiers eux-mêmes).
Pour vous aider à vous souvenir de la consignation des modifications, la génération de rapports automatisés des modifications de configuration via une exécution journalière, tripon fil est un bon début. Après avoir construit la base de données de tripwire sur l'état actuel des fichiers, toute modification de ceux-ci entraînera l'envoi d'un courrier électronique lors de la prochaine exécution. Vous continuerez à recevoir ce courrier jusqu'à ce que la base de données soit mise à jour, ce qui "réinitialisera" le tripwire.
la source
Je voudrais utiliser un système de suivi des problèmes tels que flyspray (tout ira, mais j'aime flyspray pour les trucs de non-programmation). Avant que quiconque ne touche à une configuration, l'amélioration / le problème doit être consigné. Lorsque vous corrigez / implémentez-le, les modifications sont intégrées au ticket.
Un wiki peut être utile pour documenter la configuration actuelle, mais il est facile pour lui de devenir obsolète - et il semble que plus de efforts soient nécessaires pour mettre à jour IMO.
Vous n'allez pas trouver quelque chose d'automatisé pour le faire - bien que vous puissiez probablement le configurer, les modifications apportées à certains fichiers de configuration ont été automatiquement envoyées par courrier électronique au système de suivi des problèmes, si vous le souhaitez.
Je pense que c'est juste une question de bonne politique, d'outils à faible barrière et de discipline.
la source
Nous avons créé quelque chose de local pour faire le suivi des journaux de changements dans notre environnement; ce n'est pas quelque chose de super compliqué, et ça marche plutôt bien.
Comme je l'ai dit, rien d'extraordinaire. Il utilise PERL CGI (écrit il y a un milliard d'années) et un système de recherche Google pour l'indexation.
Lacunes:
Quoi qu'il en soit, si, après tout, le code vous intéresse, faites-le moi savoir et je pourrai probablement le saisir pour le partager.
la source
Comme il a été dit, c’est souvent un problème culturel - après tout, certains magasins de développement ne se soucient plus des commentaires (le code auto-documenté est un mot à la mode de nos jours!) Et d’autres utilisent un système de contrôle de version en tant que saint Graal de documents historiques. Évidemment, ce ne sont pas parfaits.
Donc, la seule vraie solution pour y remédier est d'en faire une solution culturelle. Assurez-vous que toutes les raisons de modification sont consignées dans un outil de suivi des bogues (ou une base de connaissances ou un wiki) et que toutes les modifications sont consignées dans un système de contrôle des modifications.
Nous avons des clients des services d'urgence, chaque modification apportée à leur système est enregistrée et chaque fois que nous nous connectons à leur système, nous devons le connecter. Pour certains d'entre eux, nous devons d'abord demander la permission (et je suppose qu'ils l'enregistrent aussi!). Chaque modification est enregistrée et le fait de modifier le système client sans le consigner constitue une infraction disciplinaire.
Cela semble difficile, mais ce n'est pas le cas. Vous prenez rapidement l'habitude de vous ajouter au journal des accès et de le modifier - ce n'est pas pire que d'avoir à écrire un commentaire lors de l'enregistrement d'un changement de code.
Je recommande un bugtracker comme journal des raisons du contrôle des modifications, car il est généralement facile à mettre à jour (j'utilise Mantis).
la source
Si vous recherchez une "solution d'entreprise" (vous avez plus d'argent que dieu et souhaitez disposer d'un outil vraiment génial), l'outil que j'avais l'habitude de supporter et de fournir sur site est une de ses nombreuses fonctionnalités.
Aucune idée du prix de base, mais avant que HP rachète Opsware, le prix était d'environ 350 000 USD (sans assistance, et croyez-moi, vous aviez besoin d'assistance lorsque j'ai commencé à utiliser Opsware).
Plusieurs des clients que nous avions lorsque je travaillais là-bas utilisaient les fonctions de configuration d'application et de capture instantanée en conjonction avec Tripwire .
Bien sûr, si vous n'avez pas de budget - c'est un mauvais choix ™ :)
Et, fwiw, la publicité qui est apparue en haut de cette page pour moi lorsque je l'ai rechargée était pour spiceworks . Ressemble à HPSA :)
la source
Si tout ce que vous voulez, c'est suivre les modifications et non pas gérer l'ensemble du processus (via Chef ou Puppet),
rsync
vous devez uniquement insérer votreetc
répertoire (où qu'il se trouve) dans un référentiel git local.Vous pouvez bien sûr ajouter d’autres sources au besoin.
la source