ansible(dns): adding alloy configuration
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
// =============================================================================
|
// =============================================================================
|
||||||
// Template Grafana Alloy final pour le monitoring complet du Raspberry Pi
|
// Template Grafana Alloy pour Ansible
|
||||||
// Envoie les métriques à Prometheus et les logs à Loki.
|
// Monitoring complet : Métriques Système + Statut Dnsmasq + Logs Système
|
||||||
// =============================================================================
|
// =============================================================================
|
||||||
|
|
||||||
logging {
|
logging {
|
||||||
@@ -8,43 +8,26 @@ logging {
|
|||||||
format = "{{ alloy_log_format | default("logfmt") }}"
|
format = "{{ alloy_log_format | default("logfmt") }}"
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// --- Destinations ---
|
||||||
// Section 1 : Définition des destinations sur le serveur de monitoring
|
|
||||||
// -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// Destination pour les métriques
|
|
||||||
prometheus.remote_write "to_prometheus" {
|
prometheus.remote_write "to_prometheus" {
|
||||||
endpoint {
|
endpoint {
|
||||||
// URL de votre serveur Prometheus
|
|
||||||
url = "{{ alloy_prometheus_url | default("http://vision.lab.home.arnodo.fr:9090/api/v1/write") }}"
|
url = "{{ alloy_prometheus_url | default("http://vision.lab.home.arnodo.fr:9090/api/v1/write") }}"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Destination pour les logs
|
|
||||||
loki.write "to_loki" {
|
loki.write "to_loki" {
|
||||||
endpoint {
|
endpoint {
|
||||||
// URL de votre serveur Loki
|
|
||||||
url = "{{ alloy_loki_url | default("http://vision.lab.home.arnodo.fr:3100/loki/api/v1/push") }}"
|
url = "{{ alloy_loki_url | default("http://vision.lab.home.arnodo.fr:3100/loki/api/v1/push") }}"
|
||||||
}
|
}
|
||||||
// On ajoute un label à tous les logs pour savoir d'où ils viennent
|
|
||||||
external_labels = {
|
external_labels = {
|
||||||
source = "raspberrypi",
|
source = "raspberrypi",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// --- Pipeline des métriques ---
|
||||||
// Section 2 : Collecte des données sur le Raspberry Pi
|
|
||||||
// -----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
// --- Collecte des métriques ---
|
|
||||||
|
|
||||||
// Active le module interne pour les métriques système (CPU, RAM, etc.)
|
|
||||||
prometheus.exporter.unix "system" {}
|
prometheus.exporter.unix "system" {}
|
||||||
|
|
||||||
// Active le module interne pour vérifier le statut de Dnsmasq
|
|
||||||
prometheus.exporter.dnsmasq "dnsmasq_status" {}
|
prometheus.exporter.dnsmasq "dnsmasq_status" {}
|
||||||
|
|
||||||
// Scrape les métriques des deux modules ci-dessus et les envoie à Prometheus
|
|
||||||
prometheus.scrape "local_metrics" {
|
prometheus.scrape "local_metrics" {
|
||||||
targets = concat(
|
targets = concat(
|
||||||
prometheus.exporter.unix.system.targets,
|
prometheus.exporter.unix.system.targets,
|
||||||
@@ -53,18 +36,15 @@ prometheus.scrape "local_metrics" {
|
|||||||
forward_to = [prometheus.remote_write.to_prometheus.receiver]
|
forward_to = [prometheus.remote_write.to_prometheus.receiver]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// --- Pipeline des logs ---
|
||||||
// --- Collecte des logs ---
|
|
||||||
|
|
||||||
// Lit les logs du journal systemd (la méthode la plus propre et complète)
|
|
||||||
loki.source.journal "system_logs" {
|
loki.source.journal "system_logs" {
|
||||||
// Ajoute un label "job" aux logs pour les identifier dans Grafana
|
forward_to = [loki.relabel.add_job_label.receiver]
|
||||||
relabel_rules {
|
}
|
||||||
rule {
|
|
||||||
target_label = "job"
|
loki.relabel "add_job_label" {
|
||||||
action = "replace"
|
rule {
|
||||||
replacement = "journal"
|
target_label = "job"
|
||||||
}
|
replacement = "journal"
|
||||||
}
|
}
|
||||||
forward_to = [loki.write.to_loki.receiver]
|
forward_to = [loki.write.to_loki.receiver]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user