feat(smartctl): add smartctl exporter
This commit is contained in:
@@ -1,18 +1,10 @@
|
||||
---
|
||||
- name: Check btrfs installation
|
||||
ansible.builtin.shell: |
|
||||
command -v btrfs
|
||||
become: true # btrfs is located in /usr/sbin, which means root permission is needed.
|
||||
changed_when: false
|
||||
failed_when: false
|
||||
register: "is_btrfs_installed"
|
||||
|
||||
- name: Install btrfs
|
||||
ansible.builtin.apt:
|
||||
name: "btrfs-progs"
|
||||
name:
|
||||
- "btrfs-progs"
|
||||
state: "present"
|
||||
become: true
|
||||
when: is_btrfs_installed.rc != 0
|
||||
|
||||
- name: Mount data disk
|
||||
block:
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
---
|
||||
- name: Install smartmontools
|
||||
ansible.builtin.apt:
|
||||
name:
|
||||
- "smartmontools"
|
||||
- "jq"
|
||||
state: "present"
|
||||
become: true
|
||||
|
||||
- name: Create SMART metric result directory
|
||||
ansible.builtin.file:
|
||||
path: "/etc/smartctl-exporter"
|
||||
state: "directory"
|
||||
owner: "root"
|
||||
group: "root"
|
||||
mode: "0755"
|
||||
become: true
|
||||
|
||||
- name: Deploy smart_metric_generator script
|
||||
ansible.builtin.copy:
|
||||
src: "{{ hostvars['console']['node']['config_path'] }}/services/systemd/vmm/smart_metric/smart_metric_generator.sh"
|
||||
dest: "/usr/local/sbin"
|
||||
owner: "root"
|
||||
group: "root"
|
||||
mode: "0711"
|
||||
become: true
|
||||
|
||||
- name: Deploy smart_metric_generator service files
|
||||
ansible.builtin.template:
|
||||
src: "{{ hostvars['console']['node']['config_path'] }}/services/systemd/vmm/smart_metric/{{ item }}.j2"
|
||||
dest: "/etc/systemd/system/{{ item }}"
|
||||
owner: "root"
|
||||
group: "root"
|
||||
mode: "0600"
|
||||
validate: "/usr/bin/systemd-analyze verify %s"
|
||||
loop:
|
||||
- "smart_metric_generator.service"
|
||||
- "smart_metric_generator.timer"
|
||||
become: true
|
||||
|
||||
- name: Register smart_metric_generator timer
|
||||
ansible.builtin.systemd:
|
||||
name: "smart_metric_generator.timer"
|
||||
state: "started"
|
||||
enabled: true
|
||||
daemon_reload: true
|
||||
become: true
|
||||
Reference in New Issue
Block a user