--- tags: DEVOPS --- # MAP Cheat sheet DEVOPS # Table des matières 1. [UTILS CONNEXION](#UTILS-CONNEXION) 2. [ActiveDirectory](#ActiveDirectory) 3. [ActiveMQ](#ActiveMQ) 4. [BD](#BD) 5. [CNESST](#CNESST) 6. [Config-server](#Config-server) 7. [DBeaver](#DBeaver) 8. [Déploiement](#Déploiement) 9. [Holacratie](#Holacratie) 10. [HTTP](#HTTP) 11. [jconsole](#jconsole) 12. [k8s](#k8s) 13. [k8s Rancher (Lens, Grafana, Elastic)](#k8s-Rancher-Lens-Grafana-Elastic) 14. [Kibana](#Kibana) 15. [KVM](#KVM) 16. [Omnikools](#Omnikools) 17. [Openstack](#Openstack) 18. [PHP](#PHP) 19. [Proxy](#Proxy) 20. [Salt](#Salt) 21. [sftp-prod](#sftp-prod) 22. [SSH](#SSH) 23. [TS](#TS) 24. [Virgo](#Virgo) 25. [Windows](#Windows) 26. [XenOrchestra](#XenOrchestra) 27. [Zabbix](#Zabbix) 28. [Suricata](#Suricata) ## UTILS CONNEXION Procédures de connexion : https://app.getguru.com/card/zTL5XAzT/Procdures-de-connexion PG Dash : https://omnimedjira.atlassian.net/wiki/spaces/DBDC/pages/173310319/pgDash Accéder au DC depuis GW2 : run --> dsa.msc ## ActiveDirectory ### Restore a Deleted Active Directory Object https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd379509(v=ws.10)?redirectedfrom=MSDN ## ActiveMQ Message broker utiliser pour les communications entre Omnimed et ces partenaires externes. ### Machines ProdActiveMQ01 (CNESST, Push de notes, External push, Order adaptor, RVSQ) http://192.168.254.181:8161/admin/queues.jsp ProdActiveMQ02 (Archives, Laboratoires, RAMQ, Transmission) http://192.168.254.3:8161/admin/queues.jsp **_Notes: Il faut utiliser sshprodsocks pour y accéder._** ### Copier un fichier sur ProdActiveMQ01 - Terminal 1 : ```bash ssh -p 4001 -L 1222:192.168.254.181:22 mapoulin@itgr.omnimed.com cat - ``` - Terminal 2 : ```bash cd /home/map/Desktop/repush_CNESST/prod/14-10-2020-json/ scp -P 1222 ActionLog-0a18a7f7-2758-afb2-2b8e-ff5330fde8bf.json prodjava@127.0.0.1:/home/prodjava/cnesst/ #VALIDATION du SCP ssh -p 1222 prodjava@127.0.0.1 ls -l /home/prodjava/cnesst/ ``` ### Déplacer des messages de queue Méthode 1 1. Se connecter sur ProdActiveMQ01 2. Utiliser le script `/usr/local/bin/rebalance-queue` pour déplacer les messages Méthode 2 https://app.getguru.com/card/yiyjKgbi/Dplacer-tous-les-messages-dune-queue-vers-une-autre-dans-ActiveMQ?q=balance%20queue ## BD **Liste des base de donnée Postgresql en production** https://app.getguru.com/card/T9aeGK5c/Liste-des-base-de-donne-Postgresql-en-production **Se connecter à BD PROD privatebilling** - Terminal ```bash ssh -p 4001 mapoulin@itgr.omnimed.com -L 22234:192.168.254.168:5432 ``` - DBeaver ![](https://i.imgur.com/izOvvkx.png) Note: les infos de connections sont ici https://github.com/Omnimed/Omnimed-solutions/blob/fix-develop/omnimed-frontendphp-private-billing/fuel/app/config/prod/db.php ## CNESST Doc sur le drive : https://drive.google.com/drive/folders/1wgKPDOvmCOZldWJyoxx0km_CBE8EbzOA Schéma https://github.com/Omnimed/Omnimed-solutions/blob/5a9808b52f4c4bc8ea063d5ed92924312b90fb27/omnimed-documentation/src/main/asciidoc/diagrammes/cnesst.puml Dashboard kibana utile pour les daftpunk nommé `Prod - Virgo Serviceability Log (VM & Kubernetes) - DAFTPUNK` Dashboard Dynatrace utile pour les daftpunk https://siw82019.live.dynatrace.com/#dashboard;id=d1d4b911-93f0-4c71-bbdd-1a18765cb092;gtf=defaultTimeFrame;gf=defaultManagementZone ### Code DMÉ à la CNESST Toubib = B2B0104 Omnimed = B2B0102 2 certificats CNESST différent pour Omnimed et Toubib. On ne s'occupe pas de la CNESST avec Toubib (les question arrive à MAP et Martin présentement, mais on redirige à Luc pour le moment). ### Investigation CNESST Cartes Guru utiles : https://app.getguru.com/card/ip6Ep44T/Investigations-CNESST-prliminaires https://app.getguru.com/card/kcGyxKyc/Investigations-CNESST-DEV ### Test envoi à la CNESST en local 1. Ouvrir ce tunnel ssh ```bash alias sshprodsocksdouble="ssh -p 4001 -L 1234:localhost:8002 `omnimedUsername`@itgr.omnimed.com -t ssh -D 8002 prodjava@192.168.254.210" ``` 2. Modifier le fichier de configuration engine-push-cnesst-cxf-config.xml pour avoir la configuration du proxy qui suit ```xml <!-- The http:conduit name cannot be set in a property file --> <http:conduit name="https://intpart.pprod.pes.csst.qc.ca/.*"> <!--http:client AutoRedirect="true" AllowChunking="false" ConnectionTimeout="300000" ReceiveTimeout="300000" /--> <http:client AutoRedirect="true" AllowChunking="false" ConnectionTimeout="0" ReceiveTimeout="0" ProxyServerType="SOCKS" ProxyServer="localhost" ProxyServerPort="1234" /> </http:conduit> ``` 3. Ajouter les paramètres java suivant au engine-cnesst-relay pour qu'il utilise le tunnel ssh ``` -DsocksProxyHost=localhost -DsocksProxyPort=1234 ``` 4. Copier le certificat pfx et le truststore la preprod cnesst dans le répertoire /usr/local/virgo-tomcat-server/keystore/cnesst/ ``` cdos cd omnimed-engine-cnesst-relay/src/main/resources/keystore/preprod/ sudo cp b2b0102_Peri_2016_10_19.pfx /usr/local/virgo-tomcat-server/keystore/cnesst/ sudo cp truststore.jks /usr/local/virgo-tomcat-server/keystore/cnesst/ ``` 5. Démarrer - Starter.xml target patient-dashboard - Virgo profil hr_engine avec le plan engine contenant la route push cnesst - EngineCnesstRelayApplication 7. Maintenant prêt a envoyer un rapport à la CNESST depuis dev ### Procédure pour repasser les messages CNESST https://hackmd.io/c65HZS4HQMC9J1DlOJmPLQ ## Config-server Modifier un fichier de config directement sur le pod: 1. Identifier le file_directory_path sur le pod à l'aide de `find / -name {file_name}` 2. Modifier le fichier en local 3. Copier le fichier sur le pod à l'aide de kubectl cp ``` kubectl cp {file_path} namespace/my-pod:{file_directory_path} ``` ## DBeaver Voir les username/password des configurations ``` cd ~/git/Omnimed-solutions/dev-tools/dbeaver/Omnimed/.dbeaver openssl aes-128-cbc -d \ -K babb4a9f774ab853c96c2d653dfe544a \ -iv 00000000000000000000000000000000 \ -in credentials-config.json | \ dd bs=1 skip=16 2>/dev/null ``` ## Déploiement Voir la segmentation des changement par équipe : `git-deploy-validation.bash` ## Holacratie Constitution: https://github.com/holacracyone/Holacracy-Constitution-4.1-FRENCH/blob/master/Constitution-Holacracy.md Triage: https://static1.squarespace.com/static/5d1239a79c02150001db74d4/t/5d262f54186df2000116263a/1562783572836/Tactical-Card_5.5x8-11-26-16-FRENCH.pdf Gouvernance: https://drive.google.com/file/d/1NihGel_R0kYRaUuHDhIf2JILn9AYfB_1/view ## HTTP Decision diagram https://i.stack.imgur.com/ppsbq.jpg ## jconsole 1. ouvrir le socks du bon environnement ``` exemple sshpreprodsocks ``` 2. ouvrir le bon jconsole ``` exemple jconsolePreprod ``` 4. entrer le bon ip:port ainsi que le bon user name password ``` exemple pour jconsole de PreprodMasterLucene02 192.168.254.142:9875 user : prodjava password : celui standard pour ce user ``` ## k8s **lectures** - https://kubernetes.io/docs/home/ - Understand the basics - https://kubernetes.io/docs/concepts/ - Overview (what is kubernetes, components, api, objects) - Cluster architecture (nodes, controllers) - Containers - Workloads (pods) **tutoriels** - https://ubuntu.com/tutorials/install-a-local-kubernetes-with-microk8s - https://kubernetes.io/docs/tutorials/ - Learning the basics **cheat sheet** - https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.17/ - https://kubernetes.io/fr/docs/reference/kubectl/cheatsheet/ - https://microk8s.io/docs/commands **Voir la configuration k8s d'une solution** ```bash cdos cd `omnimed-solution-path/deploy/` kubectl kustomize k8s/overlays/stage ``` **installer une version X de kubectl** https://kubernetes.io/docs/tasks/tools/install-kubectl-linux/ ```bash curl -LO https://dl.k8s.io/release/v1.21.3/bin/linux/amd64/kubectl curl -LO https://dl.k8s.io/release/v1.21.3/bin/linux/amd64/kubectl.sha256 echo "$(<kubectl.sha256) kubectl" | sha256sum --check sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl chmod +x kubectl mkdir -p ~/.local/bin/kubectl mv ./kubectl ~/.local/bin/kubectl # and then append (or prepend) ~/.local/bin to $PATH kubectl version --client ``` ### Dashboard Obtenir le token du dashboard ```bash token=$(microk8s.kubectl -n kube-system get secret | grep default-token | cut -d " " -f1) microk8s.kubectl -n kube-system describe secret $token ``` Accéder au dashboard via port forward ```bash microk8s.kubectl port-forward -n kube-system service/kubernetes-dashboard 10443:443 ``` ## k8s Rancher (Lens, Grafana, Elastic) Outil utilisé pour visualiser les clusters Kubernetes - Permet de voir les logs sur les pods - Permet d'interagir avec les pods - scaler positivement ou négativement - exemple down scaler a 0 pour tuer tout les pods d'un déploiement d'une solution - accéder à la console d'un pod pour y faire une manip à bras - accéder au pod de engine pour reboot la JVM - Permet de voir l'état d'un pod - événements - configurations - image docker utilisée - le node sur lequel le pod roule ### Lens 1. Ouvrir `sshranchersocks` 2. Ouvrir `sshprodk8srancher` 3. Ouvrir Lens 4. Accéder au cluster chat ou chien 5. Investiguer, dépanner, etc sur les namespaces, pods et autres ### Grafana 1. Ouvrir `sshranchersocks` 2. Ouvrir `sshprodk8srancher` 3. Ouvrir Lens 4. Accéder au cluster chat ou chien 5. Accéder depuis le pod grafana du namespace monitoring ![](https://i.imgur.com/FEmOr4P.png) ou Accéder depuis terminal Lens `kubectl port-forward svc/kube-prometheus-stack-grafana -n monitoring 3000:80` http://localhost:3000/login ### Elastic 1. Ouvrir `sshranchersocks` 2. Ouvrir `sshprodk8srancher` 3. Ouvrir Lens 4. Accéder au cluster coyote 5. Accéder depuis terminal Lens `kubectl port-forward svc/kibana-kb-http -n preprod 3000:5601` https://localhost:3000/app/management/data/index_management/indices ## Kibana Outils permettant d'obtenir les informations suivantes sur les machines de notre infrastructure - logs - metrics ### logs Il est possible de rechercher dans les logs à partir de - requêtes construites manuellement (menu Discover) - Prod - Serviceability - Kubernetes - Push de la note - DAFTPUNK - Prod - Serviceability - Kubernetes - Push CNESST - DAFTPUNK - dashboards (menu Dashboard) - Prod - Virgo Serviceability Log (VM & Kubernetes) - DAFTPUNK **_Notes: Il faudrait ajouter la facturation privée à ce dashboard._**< ### metrics Peu utilisé puisque d'autres outils comme Dynatrace permettent d'avoir les metrics des machines. ## KVM Les machines sur Isabeau roule en KVM. Se connecter a Isabeau et utiliser les commandes `virsh` ``` sshmgmt ssh prodjava@192.168.252.167 ``` Note: Utiliser le id dans les commandes pour viser une machine en particulier. ``` virsh list *liste les machines en kvm # soft reboot virsh reboot {id_machine} # hard reboot virsh destroy ImportationsClients virsh start ImportationsClients ``` Pour accéder aux machine qui roule sur Isabeau il faut utiliser Virtual Machine Manager. ### Virtual Machine Manager #### INSTALLATION ``` sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst virt-manager ssh-askpass-gnome ``` Noter que ssh-askpass-gnome est important si vous installer ssh-askpass ca ne fonctionnera pas. #### PRÉ-REQUIS POUR UTILISER VIRUTAL MACHINE MANAGER ``` # Avoir accès a ce tunnel sshoobKvmIsabeau ``` #### CONFIGURATION CONNECTION À ISABEAU ![](https://i.imgur.com/4ZNEgDR.png) Si tout fonctionne vous vous verrez demander le mot de passe et par la suite vous verrez apparaitre les machines sous la connection et vous pourrez accéder au machine en double cliquant sur celles-ci. ![](https://i.imgur.com/fuGG41p.png) ## Omnikools 1. Valider que le tunnel `sshdevrepo` est bien ouvert avec cette commande : `curl -I localhost:7999` qui devrait retourner un 403 2. Valide le port dans la `/etc/haproxy/haproxy.conf` il a récemment été changé de 8000 à 7999 et les Omnikools-init utilise encore le port 8000 ## Openstack Rouler le state suivant pour ce setup ``` sudo salt-call state.apply openstack.openstack-init ``` Ajout au bash alias ``` # Openstack alias sshstagessh01="ssh -p 4006 ubuntu@app.omnimed.com" alias sshartifactoryssh01="ssh -p 4007 ubuntu@app.omnimed.com" alias sshstagek8s="ssh -p 4006 ubuntu@app.omnimed.com -L 6446:192.168.0.170:6443" alias sshopenstackgui="ssh -D 4005 -p 4005 ubuntu@app.omnimed.com" alias sshopenstackcli="ssh -p 4005 ubuntu@app.omnimed.com -L 5000:192.168.20.21:5000 -L 9696:192.168.20.25:9696 -L 9292:192.168.20.23:9292 -L 8774:192.168.20.24:8774 -L 9001:192.168.20.26:9001 -L 8776:192.168.20.22:8776 -L 9876:192.168.20.32:9876 -L 443:192.168.20.27:443" ``` Accès : https://app.getguru.com/card/Tq8kA6Lc/Accs-Openstack?q=openstack Domaine : omnimed User/password : utiliser ses creds production commande juju : ``` ssh -o ProxyCommand="ssh -W %h:%p -p 3000 prodjava@oob.omnimed.com" ubuntu@192.168.1.57 ``` Cheat sheet : https://app.getguru.com/card/iKMr9yjT/Cheatsheet-Openstack?q=openstack ### Accès par ssh aux machines qui sont dans le cluster openstack ssh omniProd ssh user@ip_machine_cluster_opensstack ## PHP ### Debug PHP en local Éditer le fichier suivant ``` sudo gedit /etc/php/7.3/cli/php.ini ``` Ajouter ceci à la fin du fichier ``` [xdebug] zend_extension=xdebug.so xdebug.mode=debug xdebug.client_host=127.0.0.1 xdebug.client_port=9003 ``` ## Proxy ### Apache Il y a 2 frontends sur les ports 81 et 82. **ProdProxyApache01 et ProdProxyApache02** - port 81 : k8s nginx, broker, virgo, cuba, hubspot, jira, jasperserver, engine, authorization - port 82 : RDP (TS) **Mettre une machine en maintenance** 1. Accéder au frontend port 82 2. Cocher le machine 3. Sélectionner "Set state to MAINT" dans le menu déroulant 4. Cliquer sur Apply P.S. Ne pas oublier remettre la machine up ("Set state to READY"). ### haproxy **config file** `/etc/haproxy/haproxy.cfg` **start command** `sudo service haproxy start` **stop command** `sudo service haproxy stop` ## Salt **Cheat sheets** https://sites.google.com/site/mrxpalmeiras/saltstack/salt-cheat-sheet https://github.com/harkx/saltstack-cheatsheet **Reminders** SaltMaster01 : test, stage. itgr SaltMaster02 : preprod, prod command salt : test=true permet de tester la state avant de l’appliquer **Commandes utiles** - Valider un minion ```bash ssh SaltMaster0<X> sudo salt "<nom machine>" test.ping ``` - Restart un minion ```bash ssh <nom machine> sudo service salt-minion restart ``` - Lister tous les states sur un serveur ```bash ssh SaltMaster0<X> sudo salt-call state.show_top ``` - Appliquer tous les state sur un serveur ```bash ssh SaltMaster0<X> sudo salt "<nom machine>" state.apply ``` - Valider les jobs en cours pour voir sur quel slave ça jamme. ``` ssh SaltMaster0<X> # lister les job active sudo salt-run jobs.active # lister les jobs active sur un minion sudo salt '<Nom machine>' saltutil.running # si veux kill une job sudo salt '<Nom machine>' saltutil.kill_job <job id> # Essayé de le rebooter à bras en allant directement sur la machine ssh <machine> sudo reboot now # La machine n'a pas redémarré correctement. # Se connecter sur xenorchestra (Il vous faut un compte xen pour faire la manip) # Ouvrir un sock vers xen sshxenorchestra # Dans Chrome, aller à l'url suivante : http://localhost:4321/ # - Chercher la machine TestSlaveJenkins01 # - L'arrêté de nouveau avec le stop (Icone carré) # - Puis la redémarrer. # - Aller dans la tab Console et regarder qu'il boot vraiment sans erreur. ``` ## sftp-prod #### UptimeRobot - Incident started on SFTP-PROD ``` sshprodsftp ``` Valider que le service samba est pas planter. ``` /etc/init.d/winbind restart ``` Possible que le service centrifydc soit lui aussi saucé. ``` /etc/init.d/centrifydc stop /etc/init.d/centrifydc start ``` #### SFTP-PROD - Low free disk space on volume / Être superuser sur le sftp pôur rouler la commande suivante. Le compte mapoulin est pas sudo donc je doit utiliser le compte root (`su` et password dans middle) ``` sshprodsftp su sudo du -h /home/jail/home -d 1 -t 800M | sort -hr ``` https://app.getguru.com/card/i9eBLq4T/Manque-despace-sur-le-SFTP-Prod ## SSH Se connecter à sshprod ou sshmgmt ou sshoob. Ensuite on peut faire une bonne vieille commande `ssh user@ip`. Exemple pour accéder a Isabeau. ``` sshmgmt ssh root@192.168.252.167 ``` ## TS ### importationnum Ces machines déservent les importation numérisée de la Delphi. #### Utilisateur import estrie Mon user mapoulin n'a pas les droits pour voir le contenu des répertoires "document & setting" des autres utilisateurs alors je peux passer par l'utilisateur import estrie qui se trouve dans middle-secret. **SI CONNECTER AVEC L'UTILISATEUR IMPORT ESTRIE IL NE FAUT PAS SE LOGOFF MAIS SEULEMENT DISCONNECT DU REMOTE SINON ON VA KILL LE SERVICE DE NUM ET IL FAUDRA SE RECONNECTER POUR LE REDÉMARRER.** #### Manque d'espace Utiliser https://windirstat.net/ peut aider a identifier ce qui prend de l'espace disque. Vérifier la taille du folder de service de num supprimé sur le bureau du user import estrie peut etre qu'il faudrait le cleanup si il est vraiment volumineux. Vérifier si **Dr Waston** produit des logs en fou. Voici ou trouver les logs pour un user spécifique. `C:\Documents and Settings\import3\Local Settings\Application Data\Microsoft\Dr Watson` Si c'est le cas vérifier si la scheduled job pour cleaner les logs fonctionne toujours et la repartir ou la recréer au besoin. ### omnimedt (cmv) Ces machines déservent la CMV. #### erreur "normale" ![](https://i.imgur.com/7EoA9mX.png) On utilisait 2x en 1992 quand le Remote Desktop c'était l'avenir pis ya l'air de resté des vestiges ... mais apparement que ca fuck rien pour les clients. #### Reboot quotidien chaque nuit Lors de mon tour de garde infra il est important de vérifier régulièrement que les machines de CMV ont bien redémarrer car parfois **suite au reboot il peut y avoir une erreur et il faut se connecter sur la machine pour aller corriger l'erreur**. Si on ne le fait pas cela va empecher les utilisateurs de se connecter à la CMV car le load balancer dans le proxy va arriver a un point ou il veut rediriger les utilisateurs sur la machine en problème et ca va échouer engendrant une vague d'appel au support. ### 3307 Cette machine est utiliser par support pour effectuer des travaux quotidien (accéder à la BD, création de compte, etc). ## Virgo Activer les debug logs pour les requêtes sql. Permet de voir les requête sql dans les logs. Aller sur http://cloud.dev.omnimed.com/admin/content/logging Activer le debug log pour `jdbc.sqlonly` et `org.hibernate` ## Windows start->run - mstsc (remotedesktop) - services.msc (vérifier si un service roule) event viewer As a shortcut you can press the Windows key + R to open a run window, type cmd to open a, command prompt window. Drift de la clock pourrait avoir engendrer l'alerte zabbix de reboot a se trigger sans raison. Vérifier la clock : run -> cmd -> time resynchroniser la clock : run -> cmd -> w32tm /resync https://techcult.com/fix-the-computer-did-not-resync-because-no-time-data-was-available/ ## XenOrchestra Cheatsheet: https://app.getguru.com/card/ycyBX4Rc/XenServer-CheatSheet Tunnel requis: sshmgmtsocks Url: http://192.168.252.94/#/home?p=1&s=power_state%3Arunning+&t=VM Serveurs virtuels de toute notre infra (Couche logiciel par dessus nos serveurs physiques -> 20 pile poil) - Clusters kubernetes - Les BD - Les jenkins - Jasper - Etc... L'accès est donné par un compte en dehors de l'AD Il y a plusieurs niveaux d'accès pour contrôler les machines (Par exemple, faire des backups/restore de la machine) Opérations disponible pour une machine - Changer le nombre de core - Changer la mémoire - Changer l'espace disque - Snapshots - Backup - Reboot (Commande envoyé sur l'os) - Shutdown (Commande envoyé sur l'os) Les actions suivantes peuvent causer du trouble dépendemment de la machine - Pause - Suspend - Force reboot (Kill la machine) - Force shutdown (Kill la machine) - Remove!!! Permet de voir - Voir l'état de la machine (CPU, mémoire, Disk I/O, Network I/O) - Log d'action qui ont été fait sur la machine (À partir de xen -> Donc pas par Salt) Possibilité de se connecter en console sur la machine - S'il y a un GUI, il sera utilisable ** IMPORTANT Good to knows ** Si jamais le reboot d'une machine dnas Xen ne fonctionne pas il est possible d'aller voir l'erreur dans les logs Xen dans les settings et si il s'agit de ceci il faut redémarrager Xen Toolstack sur le host problématique. ![](https://i.imgur.com/FMngdjz.png) Référence: https://omnimedjira.atlassian.net/browse/PROC-1600 ## Zabbix Outil d'alertes. Les alertes doivent être configurés manuellement. Les alertes sont configurés pour popper dans notre channel d'équipe prévu à cet effet (#team-daftpunk-alert) Possibilité de faire des actions (Ex: Envoi de mail) Pratique pour monitorer l'acessibilité des systèmes externes (Ex: RVSQ, CNESST, Safir, RAMQ) Dashboard -> Chaque équipe doit faire des ack sur les alertes - Toutes les alertes sont présentes à cet endroit - Métriques sur nos différents systèmes qui ont des alertes - Voir les problèmes qui n'ont pas été vu (Unaknolewdge problem). **_Notes: On a un dashboard avec seulement nos alertes mais utilisé très peu puisque le dashboard global a des sections regroupant les alertes par équipe._** ### Zabbix dev *Channel slack #devzabbix* Tunnel requis: `sshdevsocks` Url: http://192.168.0.36/zabbix/zabbix.php?action=dashboard.view credentials: middle secret #### Investigations https://hackmd.io/D-bchldrSei4MutzSZB-Ag?both ##### Master jenkins en read-only 1. Se connnecter sur TestJenkins01 `ssh TestJenkins01` 2. Vérifier si le files system est en read only `touch anus` 3. Reboot `sudo reboot now` ##### Low free disk space on volume / [TestJenkins01 - Low free disk space on volume /](https://app.getguru.com/card/cAaaAGAi/TestJenkins01-Low-free-disk-space-on-volume-) 1. Se connecter sur SaltMaster01 `ssh SaltMaster01` - password dans middle secret 2. Exécuter la commande `sudo salt 'TestJenkinsSlave*' cmd.run "df -H"` Autres commandes utile pour vérifier l'espace et cleaner ``` df -h du -h --max-depth=1 cd /var/lib/jenkins/ cd /var/log/ sudo rm -rf ./{répertoire}* sudo rm -rf {fichier} lsof | grep -i deleted ``` ##### Clear cache des slaves jenkins job jenkins https://jenkins.omnimed.com/job/Jenkins%20Daily%20Clean%20up/ https://jenkins.omnimed.com/job/Jenkins%20Weekly%20Clean%20up/ https://jenkins.omnimed.com/job/Jenkins%20Chrome%20Clean%20Up/ https://jenkins.omnimed.com/job/Jenkins%20Npm%20Clean%20Up/ https://jenkins.omnimed.com/job/Jenkins%20Node%20Clean%20Up/ https://jenkins.omnimed.com/job/Jenkins%20Maven%20Clean%20Up/ https://jenkins.omnimed.com/job/Jenkins%20Workspace%20Clean%20Up/ Deleting .m2 repository for each executors 1. Se connecter sur SaltMaster01 `ssh SaltMaster01` - password dans middle secret 2. Exécuter la commande `sudo salt 'TestJenkinsSlave*' cmd.run "rm -rf /var/lib/jenkins/.m2/executor*/*"` Deleting jenkins .m2 repository 1. Se connecter sur SaltMaster01 `ssh SaltMaster01` - password dans middle secret 2. Exécuter la commande `sudo salt 'TestJenkinsSlave*' cmd.run "rm -rf /var/lib/jenkins/.m2/repository/*"` Deleting devjava .m2 repository 1. Se connecter sur SaltMaster01 `ssh SaltMaster01` - password dans middle secret 2. Exécuter la commande `sudo salt 'TestJenkinsSlave*' cmd.run "rm -rf /home/devjava/.m2/repository/*"` ##### Clear workspace des slaves jenkins 1. Se connecter sur SaltMaster01 `ssh SaltMaster01` - password dans middle secret 2. Exécuter la commande `sudo salt 'TestJenkinsSlave*' cmd.run "rm -rf /var/lib/jenkins/workspace/EnvironmentDeploy*"` ou `sudo salt 'TestJenkinsSlave*' cmd.run "sudo rm /var/lib/jenkins/jobs/EnvironmentDeploy/builds{2357..2410}"` ##### Zabbix Agent is unreachable [TestJenkinsSlaveX - Zabbix Agent is unreachable](https://app.getguru.com/card/crpMEL7i/TestJenkinsSlaveX-Zabbix-Agent-is-unreachable) ### Zabbix prod *Channel slack #zabbix* Url: https://zabbix.omnimed.com/zabbix/zabbix.php?action=dashboard.view&dashboardid=1 credentials: besoin d'un compte Dashboards : - [Dashboard infra](https://zabbix.omnimed.com/zabbix/zabbix.php?action=dashboard.view&dashboardid=1) - [Garde - Daft Punk](https://zabbix.omnimed.com/zabbix/zabbix.php?action=dashboard.view&dashboardid=9) ## Zabbix Suricata Alert max is too high Investiguer log sur Firewall Investiguer log ProdRancherProxy et auth.log Ajuster fail2ban pour banir l'IP en cas d'attaque