Compare commits

...
2 Commits
Author SHA1 Message Date
Márcio Fernandes 6d05d4c0a7 modified: services/monitoring/deploy/alloy/kube-scraper/helm-values.yaml
modified:   services/monitoring/deploy/alloy/node-scraper/helm-values.yaml
2026-09-12 10:04:46 +00:00
Márcio Fernandes 3274a2a3b4 modified: nodes/ansible/os-get-info.playbook.yaml
new file:   nodes/ansible/os-reboot.playbook.yaml
modified:   nodes/ansible/os-update.playbook.yaml
new file:   nodes/ansible/tasks/os-get-info.yaml
new file:   nodes/ansible/tasks/os-reboot.yaml
new file:   nodes/ansible/tasks/os-update.yaml
2026-09-12 10:04:18 +00:00
9 changed files with 56 additions and 157 deletions
+4
View File
@@ -2,3 +2,7 @@
casa casa
casa-mini-minion-01 casa-mini-minion-01
casa-minion-01 casa-minion-01
[maintenance-node-target]
casa-mini-minion-01
+3 -8
View File
@@ -1,12 +1,7 @@
- name: OS update playbook - name: OS Info playbook
hosts: hosts:
- all - all
become: true become: true
tasks: tasks:
- ansible.builtin.import_tasks:
- debug: file: tasks/os-get-info.yaml
msg:
- "Distribution: {{ hostvars[inventory_hostname].ansible_distribution }}"
- "Major version: {{ hostvars[inventory_hostname].ansible_distribution_major_version }}"
- "Version: {{ hostvars[inventory_hostname].ansible_distribution_version }}"
- "kernel: {{ hostvars[inventory_hostname].ansible_kernel }}"
+8
View File
@@ -0,0 +1,8 @@
- name: Reboot system playbook
hosts:
- maintenance-node-target
become: true
tasks:
- ansible.builtin.import_tasks:
file: tasks/os-reboot.yaml
+3 -39
View File
@@ -1,44 +1,8 @@
- name: OS update playbook - name: OS update playbook
hosts: hosts:
- casa - maintenance-node-target
- casa-minion-01
- casa-mini-minion-01
become: true become: true
tasks: tasks:
- debug: - ansible.builtin.import_tasks:
msg: file: tasks/os-update.yaml
- "ansible_distribution {{ hostvars[inventory_hostname].ansible_distribution }}"
- "major version {{ hostvars[inventory_hostname].ansible_distribution_major_version }}"
- "version {{ hostvars[inventory_hostname].ansible_distribution_version }}"
- "version {{ hostvars[inventory_hostname].ansible_kernel }}"
- name: Update all Packages to their latest version
ansible.builtin.apt:
update_cache: true
force_apt_get: true
- name: Upgrade all packages on servers
ansible.builtin.apt:
upgrade: dist
force_apt_get: true
- name: Check if a reboot is needed
register: reboot_required_file
stat: path=/var/run/reboot-required
- name: Reboot server
reboot:
msg: "Reboot initiated by Ansible due to kernel updates"
connect_timeout: 5
reboot_timeout: 300
pre_reboot_delay: 0
post_reboot_delay: 30
test_command: uptime
when: reboot_required_file.stat.exists
- debug:
msg:
- "ansible_distribution {{ hostvars[inventory_hostname].ansible_distribution }}"
- "major version {{ hostvars[inventory_hostname].ansible_distribution_major_version }}"
- "version {{ hostvars[inventory_hostname].ansible_distribution_version }}"
- "version {{ hostvars[inventory_hostname].ansible_kernel }}"
+6
View File
@@ -0,0 +1,6 @@
- debug:
msg:
- "Distribution: {{ hostvars[inventory_hostname].ansible_distribution }}"
- "Major version: {{ hostvars[inventory_hostname].ansible_distribution_major_version }}"
- "Version: {{ hostvars[inventory_hostname].ansible_distribution_version }}"
- "kernel: {{ hostvars[inventory_hostname].ansible_kernel }}"
+7
View File
@@ -0,0 +1,7 @@
- reboot:
msg: "Reboot initiated by Ansible due to kernel updates"
connect_timeout: 5
reboot_timeout: 300
pre_reboot_delay: 0
post_reboot_delay: 30
test_command: uptime
+23
View File
@@ -0,0 +1,23 @@
- ansible.builtin.import_tasks:
file: os-get-info.yaml
- name: Update all Packages to their latest version
ansible.builtin.apt:
update_cache: true
force_apt_get: true
- name: Upgrade all packages on servers
ansible.builtin.apt:
upgrade: dist
force_apt_get: true
- name: Check if a reboot is needed
register: reboot_required_file
stat: path=/var/run/reboot-required
- ansible.builtin.import_tasks:
file: os-reboot.yaml
when: reboot_required_file.stat.exists
- ansible.builtin.import_tasks:
file: os-get-info.yaml
@@ -62,116 +62,6 @@ alloy:
} }
} }
// ============================================
// Logs: Loki config
// ============================================
loki.write "loki_srv" {
endpoint {
url = sys.env("LOKI_URL")
}
}
loki.process "loki_srv" {
stage.static_labels {
values = {
cluster = sys.env("CLUSTER_NAME"),
zone = sys.env("ZONE"),
}
}
forward_to = [loki.write.loki_srv.receiver]
}
// ============================================
// Loki.source kube_pod_logs
// Requirements:
// - discovery.relabel: kube_pod_logs
// - discovery.process: loki_srv
// ============================================
loki.source.kubernetes "kube_pod_logs" {
targets = discovery.relabel.kube_pod_logs.output
forward_to = [loki.process.loki_srv.receiver]
}
// ============================================
// Discovery:relabel: kube_pod_logs
// Requirements:
// - discovery.kubernetes.role.pod: kube_pods
// ============================================
discovery.relabel "kube_pod_logs" {
targets = discovery.kubernetes.kube_pods.targets
rule {
source_labels = ["__meta_kubernetes_namespace"]
target_label = "namespace"
}
rule {
source_labels = ["__meta_kubernetes_pod_name"]
regex = "^(.+?)-[0-9a-zA-Z]{4,16}(?:-[0-9a-zA-Z]{4,16})?$"
replacement = "$1"
target_label = "pod"
}
rule {
source_labels = ["__meta_kubernetes_pod_container_name"]
target_label = "container"
}
rule {
source_labels = ["__meta_kubernetes_node_name"]
target_label = "node_name"
}
rule {
source_labels = [
"__meta_kubernetes_pod_controller_name",
]
regex = "([0-9a-z-.]+?)(-[0-9a-f]{8,10})?"
target_label = "controller_name"
}
rule {
source_labels = [
"__meta_kubernetes_pod_label_app_kubernetes_io_name",
"__meta_kubernetes_pod_label_app",
"controller_name",
"__meta_kubernetes_pod_name",
]
regex = "^;*([^;]+)(;.*)?$"
target_label = "app"
}
rule {
source_labels = [
"__meta_kubernetes_pod_label_app_kubernetes_io_component",
"__meta_kubernetes_pod_label_component",
]
regex = "^;*([^;]+)(;.*)?$"
target_label = "component"
}
rule {
source_labels = ["namespace", "app"]
separator = "/"
target_label = "job"
}
rule {
source_labels = ["job", "container"]
separator = ":"
target_label = "instance"
}
rule {
source_labels = ["__meta_kubernetes_pod_node_name"]
separator = ":"
target_label = "host"
}
}
discovery.relabel "kubelet" { discovery.relabel "kubelet" {
targets = discovery.kubernetes.kube_nodes.targets targets = discovery.kubernetes.kube_nodes.targets
@@ -129,6 +129,8 @@ alloy:
} }
// ============================================ // ============================================
// Metrics: Prometheus connection config // Metrics: Prometheus connection config
// ============================================ // ============================================