node_exporter

Статус сборки Роль Ansible Роль Ansible Качество Ansible Статус контрольных точек Тег GitHub (последний SemVer) Размер репозитория GitHub

Ansible Роль: Node Exporter

Роль для установки (по умолчанию) node_exporter на системы Debian/Ubuntu и EL.

Требования

Отсутствуют.

Созданный файл службы systemd для node_exporter перенаправляет стандартный вывод и стандартную ошибку в syslog, и SyslogIdentifier установлен как node_exporter. Таким образом, вы можете просмотреть логи node_exporter, выполнив команду sudo journalctl -u node_exporter.service в системе. Кроме того, вы можете настроить rsyslog для сбора логов с programname node_exporter и записи в определённый файл для хранения логов. Для ротации логов доступна роль darkwizard242.logrotate на Ansible Galaxy.

Переменные роли

Доступные переменные перечислены ниже (расположены в defaults/main.yml):

Список переменных:

node_exporter_app: node_exporter
node_exporter_version: 1.5.0
node_exporter_osarch: linux-amd64
node_exporter_archive_format: tar.gz
node_exporter_dl_url: "https://github.com/prometheus/{{ node_exporter_app }}/releases/download/v{{ node_exporter_version }}/{{ node_exporter_app }}-{{ node_exporter_version }}.{{ node_exporter_osarch }}.{{ node_exporter_archive_format }}"

node_exporter_app_group: "{{ node_exporter_app }}"
node_exporter_app_group_desired_state: present

node_exporter_app_user: "{{ node_exporter_app }}"
node_exporter_app_user_desired_state: present
node_exporter_app_user_home_state: no
node_exporter_app_user_shell: /bin/false

node_exporter_temp_path: /tmp

node_exporter_bin_path: /usr/local/bin
node_exporter_bin_path_mode: '0755'
node_exporter_bin_path_remote_src: yes

node_exporter_systemd_service_setup: true
node_exporter_systemd_service_name: "{{ node_exporter_app }}"
node_exporter_systemd_service_flags: --collector.systemd --collector.processes --collector.mountstats
node_exporter_systemd_service_template: "{{ node_exporter_app }}.service.j2"
node_exporter_systemd_service_template_dest: "/etc/systemd/system/{{ node_exporter_app }}.service"
node_exporter_systemd_service_template_user: root
node_exporter_systemd_service_template_group: root
node_exporter_systemd_service_template_dest_mode: '0644'
node_exporter_systemd_service_template_backup: yes
node_exporter_systemd_service_desired_state: restarted
node_exporter_systemd_service_desired_boot_enabled: yes

node_exporter_app_port: 9100
node_exporter_app_check_status_code: 200
node_exporter_app_check_status_code_retries: 10
node_exporter_app_check_status_code_delay: 5

Таблица переменных:

Переменная Описание
node_exporter_app Определяет приложение для установки, т.е. node_exporter
node_exporter_version Используется для динамического получения нужной версии для установки. По умолчанию: 1.5.0
node_exporter_osarch Определяет архитектуру ОС. Используется для получения правильного типа бинарных файлов в зависимости от архитектуры ОС. По умолчанию: linux-amd64
node_exporter_archive_format Определяет формат для скачивания архива.
node_exporter_dl_url Определяет URL для скачивания бинарного файла node_exporter.
node_exporter_app_group Имя группы, к которой будет принадлежать владелец node_exporter. По умолчанию node_exporter.
node_exporter_app_group_desired_state present указывает на создание группы, если она не существует. Альтернатива - absent.
node_exporter_app_user Имя пользователя, которому будет принадлежать node_exporter. По умолчанию node_exporter.
node_exporter_app_user_desired_state present указывает на создание пользователя, если он не существует. Альтернатива - absent.
node_exporter_app_user_home_state Установлено в 'no', чтобы не создавать домашний каталог для пользователя node_exporter.
node_exporter_app_user_shell Переменная используется для определения, должен ли пользователь иметь оболочку по умолчанию. Установлено в /bin/false, так как это не требуется.
node_exporter_temp_path Временный путь, куда скачивается и распаковывается архив node_exporter.
node_exporter_bin_path Путь, в который будет помещен сам node_exporter.
node_exporter_bin_path_mode Права доступа для бинарного файла node_exporter.
node_exporter_bin_path_remote_src Указание Ansible управлять операцией распаковки на удаленных хостах.
node_exporter_systemd_service_setup Используется как условие, чтобы установить файл службы systemd для node_exporter. Если установлено false, файл службы не будет создан.
node_exporter_systemd_service_name Имя файла службы systemd при настройке node_exporter_systemd_service_setup в true.
node_exporter_systemd_service_flags Переменная для хранения и передачи любых флагов командной строки node_exporter в файле службы, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_systemd_service_template Шаблон Jinja2 для файла службы systemd, который будет размещён на хосте, на котором применяется роль, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_systemd_service_template_dest Название файла службы node_exporter systemd, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_systemd_service_template_user Владелец файла службы node_exporter systemd, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_systemd_service_template_group Группа файла службы node_exporter systemd, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_systemd_service_template_dest_mode Режим файла службы node_exporter systemd, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_systemd_service_template_backup Создание резервной копии любого существующего файла службы node_exporter systemd, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_systemd_service_desired_state Желаемое состояние службы node_exporter systemd, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_systemd_service_desired_boot_enabled Установка службы node_exporter как включенной при включении, когда node_exporter_systemd_service_setup установлено в true.
node_exporter_app_port Поскольку порт по умолчанию для node_exporter - 9100, эта переменная используется в обработчике, который проверяет, работает ли node_exporter на порту 9100.
node_exporter_app_check_status_code Код состояния, который обработчик ищет при проверке node_exporter.
node_exporter_app_check_status_code_retries Количество попыток, которые делает обработчик для проверки работы node_exporter.
node_exporter_app_check_status_code_delay Время задержки в секундах, которое обработчик ждет между проверками node_exporter.

Зависимости

Отсутствуют

Пример Playbook

Для поведения по умолчанию роли (т.е. установка node_exporter) в Ansible playbooks.

- hosts: servers
  roles:
    - role: darkwizard242.node_exporter

Для настройки поведения роли (т.е. указания нужной версии node_exporter) в Ansible playbooks.

- hosts: servers
  roles:
    - role: darkwizard242.node_exporter
      vars:
        node_exporter_version: 1.0.1

Для настройки поведения роли (т.е. отключения настройки службы node_exporter в systemd) в Ansible playbooks.

- hosts: servers
  roles:
    - role: darkwizard242.node_exporter
      vars:
        node_exporter_systemd_service_setup: false

Лицензия

MIT

Информация об авторе

Эта роль была создана Али Мухаммадом.

О проекте

Installs & configures 'node_exporter' for scraping node metrics.

Установить
ansible-galaxy install darkwizard242/ansible-role-node_exporter
Лицензия
mit
Загрузки
4974
Владелец
Senior DevOps/CloudOps Engineer. Dedicated to Automating everything I come across. Love to work on and learn new technologies/tools everyday!