ADD : grafana post

master
Alexandre LUCAZEAU 2022-07-21 09:17:58 +02:00
parent f480b0895b
commit 94faad1540
No known key found for this signature in database
GPG Key ID: 3C8ADB07A8217BD3
6 changed files with 143 additions and 6 deletions

View File

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

View File

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

View File

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

View File

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

View File

Before

Width:  |  Height:  |  Size: 64 KiB

After

Width:  |  Height:  |  Size: 64 KiB

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB