node_exporter
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
Лицензия
Информация об авторе
Эта роль была создана Али Мухаммадом.
Installs & configures 'node_exporter' for scraping node metrics.
ansible-galaxy install darkwizard242/ansible-role-node_exporter