---
# System prepended metadata

title: MAP Cheat sheet DEVOPS
tags: [DEVOPS]

---

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