ADD : grafana post
This commit is contained in:
parent
f480b0895b
commit
94faad1540
|
@ -1,7 +1,7 @@
|
|||
---
|
||||
date: 2022-07-06
|
||||
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:
|
||||
- nixos
|
||||
- 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**
|
||||
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.
|
||||
|
||||
[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
|
||||
author: Alexandre LUCAZEAU
|
||||
title: "Grafana un assistant pour tout"
|
||||
slug:
|
||||
title: Grafana un assistant pour tout
|
||||
tags:
|
||||
- grafana
|
||||
- data sciences
|
||||
- decision science
|
||||
categories:
|
||||
- virtualisation
|
||||
- grafana
|
||||
draft: false
|
||||
description: "Grafana mon assistant commercial"
|
||||
---
|
||||
|
||||
Dans le monde de l'IT, **Grafana** est très connu pour ses capacités de visualisation de
|
||||
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.
|
||||
|
||||
La requète SQL la suivante vous permez de suivre le volume par mois des ventes de Pulls.
|
||||
|
||||
`SELECT
|
||||
DATE_TRUNC('month',date_creation) AS "time",
|
||||
count(Libellé) AS Pull
|
||||
|
@ -88,6 +91,6 @@ WHERE Libellé like 'Jean'
|
|||
group by DATE_TRUNC('month',date_creation)`
|
||||
|
||||
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