collectd
Ansible роль collectd
Установите и настройте collectd на вашей системе.
GitHub | Версия | Проблемы | Запросы на слияние | Загрузки |
---|---|---|---|---|
Пример плейбука
Этот пример взят из molecule/default/converge.yml
и тестируется при каждом пуше, запросе на слияние и релизе.
---
- name: converge
hosts: all
become: true
gather_facts: true
vars:
collectd_plugin_logging: logfile
collectd_basic_plugins:
- cpu
- interface
- load
- memory
collectd_plugins:
- name: df
config: |
MountPoint "/proc"
MountPoint "/dev"
MountPoint "/\/docker\/containers\//"
MountPoint "/\/docker\/devicemapper\//"
MountPoint "/\/docker\/plugins\//"
MountPoint "/\/docker\/overlay\//"
MountPoint "/\/docker\/overlay2\//"
MountPoint "/\/docker\/netns\//"
FSType "overlay"
FSType "proc"
FSType "tmpfs"
IgnoreSelected true
ReportInodes true
- name: disk
config: |
Disk "/^hd"
IgnoreSelected true
- name: interface
config: |
Interface "lo"
Interface "/veth.*/"
IgnoreSelected true
- name: swap
config: |
ReportByDevice false
ReportBytes true
- name: write_http
config: |
<Node "test">
URL "127.0.0.1:8080/test.collectd"
Format "JSON"
StoreRates true
</Node>
- name: postgresql
config: |
<Query tickets>
Statement "SELECT count(t.id) AS count FROM tickets t WHERE t.closed is null;"
<Result>
Type gauge
InstancePrefix "tickets"
ValuesFrom "count"
</Result>
</Query>
<Database "test">
Host "psql-database.hostname.com"
Port "5432"
User "my_psqladminuser"
Password "my_passwd"
SSLMode "prefer"
Query tickets
</Database>
pre_tasks:
- name: Обновить кеш apt.
apt: update_cache=true cache_valid_time=600
when: ansible_os_family == 'Debian'
roles:
- role: buluma.collectd
Машина должна быть подготовлена. В CI это делается с помощью molecule/default/prepare.yml
:
---
- name: prepare
hosts: all
become: true
gather_facts: false
roles:
- role: buluma.bootstrap
- role: buluma.epel
Смотрите также подробное объяснение и пример о том, как использовать эти роли.
Переменные роли
Значения по умолчанию для переменных задаются в defaults/main.yml
:
---
# файл значений по умолчанию для collectd
collectd_conf_hostname: "{{ ansible_hostname }}"
collectd_conf_fqdnlookup: "false"
collectd_conf_basedir: /var/lib/collectd
collectd_conf_pidfile: /var/run/collectd.pid
collectd_conf_typesdb: /usr/share/collectd/types.db
collectd_conf_autoloadplugin: "false"
collectd_conf_collectinternalstats: "false"
collectd_conf_interval: 10
collectd_conf_maxreadinterval: 86400
collectd_conf_timeout: 2
collectd_conf_readthreads: 5
collectd_conf_writethreads: 5
collectd_conf_include_dir: /etc/collectd.d
collectd_conf_fnmatch_filters:
- "*.conf"
collectd_conf_extra: ~
#### Конфигурация журналирования
collectd_plugin_logging: syslog
collectd_plugin_logging_directory: "/var/log/collectd"
collectd_plugin_logfile_loglevel: "info"
collectd_plugin_logfile_file: "{{ collectd_plugin_logging_directory }}/collectd.log"
collectd_plugin_logfile_timestamp: "true"
collectd_plugin_logfile_printseverity: "false"
collectd_plugin_logstash_loglevel: "info"
collectd_plugin_logstash_file: "{{ collectd_plugin_logging_directory }}/collectd.json.log"
collectd_plugin_syslog_loglevel: "info"
# Используйте 'collectd_basic_plugins' для включения плагинов, которые не требуют дополнительной
# конфигурации.
collectd_basic_plugins:
- cpu
- interface
- load
- memory
# Используйте 'collectd_plugins' для включения плагинов, требующих дополнительной конфигурации.
collectd_plugins: []
Требования
- пакеты pip, перечисленные в requirements.txt.
Состояние используемых ролей
Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.
Требование | GitHub | Версия |
---|---|---|
buluma.bootstrap | ||
buluma.epel |
Контекст
Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:
Совместимость
Эта роль была протестирована на следующих образах контейнеров:
контейнер | теги |
---|---|
Alpine | все |
EL | 8 |
Debian | bullseye |
Fedora | все |
opensuse | все |
Ubuntu | focal, bionic |
Минимальная версия Ansible, требуемая для работы, — 2.10, тесты проводятся для:
- Предыдущей версии.
- Текущей версии.
- Разработческой версии.
Если вы обнаружите проблемы, пожалуйста, сообщите о них в GitHub.
История изменений
Лицензия
Информация об авторе
ansible-galaxy install buluma/ansible-role-collectd