ADD : grafana post
This commit is contained in:
parent
f480b0895b
commit
94faad1540
|
@ -1,7 +1,7 @@
|
||||||
---
|
---
|
||||||
date: 2022-07-06
|
date: 2022-07-06
|
||||||
author: Alexandre LUCAZEAU
|
author: Alexandre LUCAZEAU
|
||||||
title: Gérer ses secrets quand on utilise git et qu'on partage son code
|
title: Gérer ses secrets quand on utilise git et qu'on partage son code (et Nixos)
|
||||||
tags:
|
tags:
|
||||||
- nixos
|
- nixos
|
||||||
- agenix
|
- agenix
|
||||||
|
@ -194,3 +194,5 @@ transparente, et pour cause, le fichier age est déchiffré dans **/run/restic_p
|
||||||
A partir de là, vous pouvez générer votre système avec **nixos-rebuild --switch**
|
A partir de là, vous pouvez générer votre système avec **nixos-rebuild --switch**
|
||||||
Vos services vons pouvoir fonctionner avec des mots de passes aux accès réduits, et ces
|
Vos services vons pouvoir fonctionner avec des mots de passes aux accès réduits, et ces
|
||||||
fichiers seront versionnés dans git, sans risque de compromission.
|
fichiers seront versionnés dans git, sans risque de compromission.
|
||||||
|
|
||||||
|
[Vous pouvez retrouver le code complet ici](https://git.atlanticaweb.fr/alexandre/nixos-config/src/branch/main/hosts/next)
|
||||||
|
|
|
@ -0,0 +1,103 @@
|
||||||
|
---
|
||||||
|
Date: 2022-05-26
|
||||||
|
Author: Alexandre LUCAZEAU
|
||||||
|
Title: Installation de Nixos sur un serveur Kimsufi
|
||||||
|
Slug:
|
||||||
|
categories: Nixos
|
||||||
|
Tags:
|
||||||
|
- nixos
|
||||||
|
- documentation
|
||||||
|
- kimsufi
|
||||||
|
---
|
||||||
|
|
||||||
|
# Kimsufi mais pas totalement
|
||||||
|
Dans un précèdent article, on a parlé du script **nixos-infect** qui permet de remplacer un système existant par Nixos.
|
||||||
|
|
||||||
|
Mais parfois ça suffit pas. J'ai un serveur KS-16, et ce dernier ne boot pas quand j'utilise le script. Nous allons donc faire une installation manuelle.
|
||||||
|
|
||||||
|
Pour ce faire, je me suis basé sur la doc de https://mgdm.net/weblog/nixos-on-kimsufi/
|
||||||
|
|
||||||
|
On commence donc par booter en mode rescue.
|
||||||
|
|
||||||
|
Ce serveur possède 3 disques de 2To
|
||||||
|
Je vais utiliser les disques en RAID 1. Cela me mettra à l'abris de la perte de 2 disques simultanées.
|
||||||
|
|
||||||
|
On commence par supprimer le volume logique
|
||||||
|
lvremove /dev/vg/dat
|
||||||
|
puis le VG
|
||||||
|
vgremove vg
|
||||||
|
puis le PV
|
||||||
|
pvremove /dev/md127
|
||||||
|
puis on supprime le RAID existant
|
||||||
|
dadm --stop /dev/md125
|
||||||
|
mdadm --stop /dev/md12
|
||||||
|
mdadm --stop /dev/md127
|
||||||
|
Enfin on supprime les superblock des partitions existantes :
|
||||||
|
mdadm --zero-superblock /dev/sda2
|
||||||
|
mdadm --zero-superblock /dev/sda3
|
||||||
|
Enfin on supprime la table des partitions
|
||||||
|
wipefs -a /dev/sda
|
||||||
|
|
||||||
|
# Phase 2 : partitionnement
|
||||||
|
Le disque sera partitionné en 3 parties. Une partition de boot en ext4 pour éviter toutes prises de tête, une seconde partition contenant tout l'espace disponible sauf 32Go et un swap de 32Go.
|
||||||
|
Sur un PC de bureau et encore plus sur un laptop, je mets un swap équivalent à la RAM pour l'hibernation. Sur un serveur perso, 8Go c'est largement suffisant.
|
||||||
|
|
||||||
|
On commence par stocker dans des variables le nom de nos disques :
|
||||||
|
|
||||||
|
DISK1=/dev/disk/by-id/ata-HGST_HUS724020ALA640_PN1134P6KV8PKW
|
||||||
|
DISK2=/dev/disk/by-id/ata-HGST_HUS726020ALA610_N4G3SPDY
|
||||||
|
DISK3=/dev/disk/by-id/ata-HGST_HUS726020ALA610_N4G3SR1Y
|
||||||
|
|
||||||
|
Partionnement :
|
||||||
|
|
||||||
|
parted /dev/sda -- mklabel msdos
|
||||||
|
parted /dev/sda -- mkpart primary 1MiB 512MiB # /boot
|
||||||
|
parted /dev/sda -- mkpart primary 512MiB -32GiB # / en ZFS
|
||||||
|
parted /dev/sda -- mkpart primary linux-swap -32GiB 100% # swap
|
||||||
|
|
||||||
|
On format la partition de boot, le raid et on charge le module zfs et on crée le spool ainsi que les partitions zfs
|
||||||
|
|
||||||
|
mkfs.ext4 -L boot $DISK1-part1
|
||||||
|
mdadm --create /dev/md0 --level=0 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2
|
||||||
|
/sbin/modprobe zfs
|
||||||
|
zpool create -f -O mountpoint=none rpool $DISK1-part2
|
||||||
|
zfs create -o mountpoint=legacy rpool/root
|
||||||
|
zfs create -o mountpoint=legacy rpool/root/nixos
|
||||||
|
|
||||||
|
Je n'ai pas besoins de partition pour /home je préfère avoir 1 seule partition racine.
|
||||||
|
Maintenant que les partitions sont prêtes, on va les mounter et installer nixos.
|
||||||
|
|
||||||
|
## Mount des partitions
|
||||||
|
|
||||||
|
mount -t zfs rpool/root/nixos /mnt
|
||||||
|
mkdir /mnt/boot
|
||||||
|
mount $DISK1-part1 /mnt/boot
|
||||||
|
|
||||||
|
# Installation de Nixos
|
||||||
|
|
||||||
|
sfdisk --dump $DISK1 | sfdisk $DISK2
|
||||||
|
sfdisk --dump $DISK1 | sfdisk $DISK3
|
||||||
|
maddm --create /dev/md0 --level=0 --raid-devices=3 /dev/sda2 /dev/sdb2 /dev/sdc2
|
||||||
|
mkfs.ext4 -L nix /dev/md0
|
||||||
|
|
||||||
|
chroot . /$INIT
|
||||||
|
mount /dev/md0 /mnt
|
||||||
|
mount /dev/sda1 /mnt/boot
|
||||||
|
mkdir /mnt/boot
|
||||||
|
nixos-generate-config --root /mnt
|
||||||
|
Editer /mnt/df
|
||||||
|
|
||||||
|
création des répertoirs temporaires
|
||||||
|
mkdir -p inst host/nix
|
||||||
|
wget https://channels.nixos.org/nixos-21.11/latest-nixos-minimal-x86_64-linux.iso
|
||||||
|
modprobe loop
|
||||||
|
mount -o loop latest-nixos-minimal-x86_64-linux.iso inst
|
||||||
|
apt install squashfs-tool
|
||||||
|
unsquashfs -d host/nix/store inst/nix-store.squashfs '*'
|
||||||
|
chroot . /$INIT
|
||||||
|
mount -t zfs rpool/root/nixos /mnt
|
||||||
|
mount /dev/sda1 /mnt/boot
|
||||||
|
nixos-generate-config --root /mnt
|
||||||
|
NIX_PATH="nixpkgs=channel:nixos-21.11" nixos-install
|
||||||
|
passwd
|
||||||
|
|
|
@ -0,0 +1,29 @@
|
||||||
|
---
|
||||||
|
Date: 2022-04-21
|
||||||
|
Author: Alexandre LUCAZEAU
|
||||||
|
Title: Nixos de la documentation bien comme il faut :-)
|
||||||
|
Slug:
|
||||||
|
categories: Nixos
|
||||||
|
Tags:
|
||||||
|
- nixos
|
||||||
|
- documentation
|
||||||
|
- nixos-option
|
||||||
|
---
|
||||||
|
# Nixos et la doc ?
|
||||||
|
Une fois entré dans l'univers de **Nixos**, la première chose qui m'a manqué c'est la documentation.
|
||||||
|
|
||||||
|
La lecture du wiki n'est pas facile quand on débute. La source première est bien souvent les dépôts git de ses utilisateurs, une merveille même.
|
||||||
|
|
||||||
|
Il y a un côté assez frustrant, la documentation semble tellement manquée.
|
||||||
|
|
||||||
|
Pourtant, la documentation est complète et la lecture du code des paquets n'est pas très compliquée, on apprend vite à le comprendre.
|
||||||
|
|
||||||
|
Un outil, magique, n'est pas suffisament mis en avant. Il s'agit de **nixos-option**. Cet outil est en réalité un indispensable. Il vous permettra de tout découvrir, et comment l'employer.
|
||||||
|
|
||||||
|
Vous souhaitez mettre en place une sauvegarde avec **restic** ? Vous cherchez la doc sur la création des comptes utilisateurs ?
|
||||||
|
|
||||||
|
nixos-option users.users
|
||||||
|
nixos-option services.restic.server
|
||||||
|
nixos-option
|
||||||
|
|
||||||
|
Exécutée sans argument, vous aurez la documentation racine. Libre alors de parcourir les catégories pour découvrir la doc associé, avec des exemples, et la liste des attributs à un mot clé et sa sous arborescence.
|
|
@ -1,15 +1,17 @@
|
||||||
---
|
---
|
||||||
date: 2022-07-17
|
date: 2022-07-17
|
||||||
author: Alexandre LUCAZEAU
|
author: Alexandre LUCAZEAU
|
||||||
title: "Grafana un assistant pour tout"
|
title: Grafana un assistant pour tout
|
||||||
slug:
|
|
||||||
tags:
|
tags:
|
||||||
- grafana
|
- grafana
|
||||||
|
- data sciences
|
||||||
|
- decision science
|
||||||
categories:
|
categories:
|
||||||
- virtualisation
|
- grafana
|
||||||
draft: false
|
draft: false
|
||||||
description: "Grafana mon assistant commercial"
|
description: "Grafana mon assistant commercial"
|
||||||
---
|
---
|
||||||
|
|
||||||
Dans le monde de l'IT, **Grafana** est très connu pour ses capacités de visualisation de
|
Dans le monde de l'IT, **Grafana** est très connu pour ses capacités de visualisation de
|
||||||
données de supervisions.
|
données de supervisions.
|
||||||
|
|
||||||
|
@ -71,6 +73,7 @@ seront pas soumis à votre prestataire du moment : le dashboard vous appartient,
|
||||||
données aussi, et le language SQL est un standard : combo gagnante.
|
données aussi, et le language SQL est un standard : combo gagnante.
|
||||||
|
|
||||||
La requète SQL la suivante vous permez de suivre le volume par mois des ventes de Pulls.
|
La requète SQL la suivante vous permez de suivre le volume par mois des ventes de Pulls.
|
||||||
|
|
||||||
`SELECT
|
`SELECT
|
||||||
DATE_TRUNC('month',date_creation) AS "time",
|
DATE_TRUNC('month',date_creation) AS "time",
|
||||||
count(Libellé) AS Pull
|
count(Libellé) AS Pull
|
||||||
|
@ -88,6 +91,6 @@ WHERE Libellé like 'Jean'
|
||||||
group by DATE_TRUNC('month',date_creation)`
|
group by DATE_TRUNC('month',date_creation)`
|
||||||
|
|
||||||
On peut ainsi obtenir les grafiques suivants :
|
On peut ainsi obtenir les grafiques suivants :
|
||||||
![répartition des commandes par ville](grafana/repartition_ville.png)
|
![répartition des commandes par ville](/static/repartition_ville.png)
|
||||||
|
|
||||||
![répartition du chiffre d'affaires par ville](grafana/repartition_CA_ville.png)
|
![répartition du chiffre d'affaires par ville](/static/repartition_CA_ville.png)
|
Before Width: | Height: | Size: 64 KiB After Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
Reference in New Issue