logicmonitor – Управление вашей учётной записью LogicMonitor с помощью Ansible Playbook
Новое в версии 2.2.
Обзор
- LogicMonitor — это хостинг-платформа мониторинга инфраструктуры полного стека.
- Этот модуль управляет хостами, группами хостов и коллекторами в вашей учётной записи LogicMonitor.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- Существующая учётная запись LogicMonitor
- Linux
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| action - / обязательно |
| Действие, которое вы хотите выполнить на целевом объекте. Add: Добавление объекта в вашу учётную запись LogicMonitor. Remove: Удаление объекта из вашей учётной записи LogicMonitor. Update: Обновление свойств, описания или групп (target=host) объекта в вашей учётной записи LogicMonitor. SDT: Планирование простоев для объекта в вашей учётной записи LogicMonitor. |
| alertenable boolean |
| Логическая переменная для включения или выключения оповещений для объекта. Необязательно для управления всеми хостами (action=add или action=update). |
| collector - | Полное доменное имя коллектора в вашей учётной записи LogicMonitor. Обязательно для создания хоста LogicMonitor (target=host action=add). Обязательно для обновления, удаления или планирования простоев для хостов, если не указан параметр 'displayname' (target=host action=update action=remove action=sdt). | |
| company - / обязательно | Имя компании учётной записи LogicMonitor. Если вы войдёте в свою учётную запись по адресу "superheroes.logicmonitor.com", используйте "superheroes". | |
| description - | Значение по умолчанию: "" | Подробное текстовое описание объекта в вашей учётной записи LogicMonitor. Необязательно для управления хостами и группами хостов (target=host или target=hostgroup; action=add или action=update). |
| displayname - | Значение по умолчанию: "hostname -f" | Имя отображения хоста в вашей учётной записи LogicMonitor или желаемое имя отображения управляемого устройства. Необязательно для управления хостами (target=host). |
| duration - | Значение по умолчанию: 30 | Продолжительность (минут) запланированного простоя (SDT). Необязательно для ввода объекта в SDT (action=sdt). |
| fullpath - | Полный путь к объекту группы хостов, который вы хотите управлять. Рекомендуется выполнять на одном хосте Ansible. Обязательно для управления группами хостов LogicMonitor (target=hostgroup). | |
| groups - | Значение по умолчанию: [] | Список групп, членом которых должен быть хост. Необязательно для управления хостами (target=host; action=add или action=update). |
| hostname - | Значение по умолчанию: "hostname -f" | Имя хоста хоста в вашей учётной записи LogicMonitor или желаемое имя хоста управляемого устройства. Необязательно для управления хостами (target=host). |
| id - | ID источника данных для целевого объекта. Обязательно для управления источниками данных LogicMonitor (target=datasource). | |
| password - / обязательно | Пароль указанного пользователя LogicMonitor | |
| properties - | Значение по умолчанию: {} | Словарь свойств, которые нужно установить для хоста или группы хостов LogicMonitor. Необязательно для управления хостами и группами хостов (target=host или target=hostgroup; action=add или action=update). Этот параметр добавит или обновит существующие свойства в вашей учётной записи LogicMonitor. |
| starttime - | Значение по умолчанию: "Now" | Время начала запланированного простоя (SDT). Необязательно для управления SDT (action=sdt). ГГГГ-ММ-ДД ЧЧ:ММ |
| target - / обязательно |
| Тип объекта LogicMonitor, которым вы хотите управлять. Collector: Выполнение действий над коллектором LogicMonitor. ЗАМЕЧАНИЕ: Для управления службами коллектора 'logicmonitor-agent' и 'logicmonitor-watchdog' следует использовать модули службы Ansible, такие как service или supervisorctl. В частности, вам, вероятно, нужно будет запустить эти службы после добавления коллектора и остановить эти службы перед удалением коллектора. Host: Выполнение действий над устройством-хостом. Hostgroup: Выполнение действий над группой хостов LogicMonitor. ЗАМЕЧАНИЕ: Задачи для хостов и групп хостов всегда должны выполняться через delegate_to: localhost. Нет преимуществ выполнения этих задач на удалённом хосте, и это обычно приведёт к проблемам. |
| user - / обязательно | Имя пользователя LogicMonitor. Модуль аутентифицируется и выполняет действия от имени этого пользователя. |
Примечания
Примечание
- Для работы этого модуля у вас должна быть существующая учётная запись LogicMonitor.
Примеры
# example of adding a new LogicMonitor collector to these devices
---
- hosts: collectors
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Deploy/verify LogicMonitor collectors
become: yes
logicmonitor:
target: collector
action: add
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
#example of adding a list of hosts into monitoring
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Deploy LogicMonitor Host
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: host
action: add
collector: mycompany-Collector
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
groups: /servers/production,/datacenter1
properties:
snmp.community: secret
dc: 1
type: prod
delegate_to: localhost
#example of putting a datasource in SDT
---
- hosts: localhost
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: SDT a datasource
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: datasource
action: sdt
id: 123
duration: 3000
starttime: '2017-03-04 05:06'
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
#example of creating a hostgroup
---
- hosts: localhost
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Create a host group
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: hostgroup
action: add
fullpath: /servers/development
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
properties:
snmp.community: commstring
type: dev
#example of putting a list of hosts into SDT
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: SDT hosts
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: host
action: sdt
duration: 3000
starttime: '2016-11-10 09:08'
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
collector: mycompany-Collector
delegate_to: localhost
#example of putting a host group in SDT
---
- hosts: localhost
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: SDT a host group
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: hostgroup
action: sdt
fullpath: /servers/development
duration: 3000
starttime: '2017-03-04 05:06'
company=: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
#example of updating a list of hosts
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Update a list of hosts
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: host
action: update
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
collector: mycompany-Collector
groups: /servers/production,/datacenter5
properties:
snmp.community: commstring
dc: 5
delegate_to: localhost
#example of updating a hostgroup
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Update a host group
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: hostgroup
action: update
fullpath: /servers/development
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
properties:
snmp.community: hg
type: dev
status: test
delegate_to: localhost
#example of removing a list of hosts from monitoring
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Remove LogicMonitor hosts
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: host
action: remove
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
collector: mycompany-Collector
delegate_to: localhost
#example of removing a host group
---
- hosts: hosts
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Remove LogicMonitor development servers hostgroup
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: hostgroup
action: remove
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
fullpath: /servers/development
delegate_to: localhost
- name: Remove LogicMonitor servers hostgroup
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: hostgroup
action: remove
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
fullpath: /servers
delegate_to: localhost
- name: Remove LogicMonitor datacenter1 hostgroup
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: hostgroup
action: remove
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
fullpath: /datacenter1
delegate_to: localhost
- name: Remove LogicMonitor datacenter5 hostgroup
# All tasks except for target=collector should use delegate_to: localhost
logicmonitor:
target: hostgroup
action: remove
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
fullpath: /datacenter5
delegate_to: localhost
### example of removing a new LogicMonitor collector to these devices
---
- hosts: collectors
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Remove LogicMonitor collectors
become: yes
logicmonitor:
target: collector
action: remove
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
#complete example
---
- hosts: localhost
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Create a host group
logicmonitor:
target: hostgroup
action: add
fullpath: /servers/production/database
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
properties:
snmp.community: commstring
- name: SDT a host group
logicmonitor:
target: hostgroup
action: sdt
fullpath: /servers/production/web
duration: 3000
starttime: '2012-03-04 05:06'
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
- hosts: collectors
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: Deploy/verify LogicMonitor collectors
logicmonitor:
target: collector
action: add
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
- name: Place LogicMonitor collectors into 30 minute Scheduled downtime
logicmonitor:
target: collector
action: sdt
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
- name: Deploy LogicMonitor Host
logicmonitor:
target: host
action: add
collector: agent1.ethandev.com
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
properties:
snmp.community: commstring
dc: 1
groups: /servers/production/collectors, /datacenter1
delegate_to: localhost
- hosts: database-servers
remote_user: '{{ username }}'
vars:
company: mycompany
user: myusername
password: mypassword
tasks:
- name: deploy logicmonitor hosts
logicmonitor:
target: host
action: add
collector: monitoring.dev.com
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
properties:
snmp.community: commstring
type: db
dc: 1
groups: /servers/production/database, /datacenter1
delegate_to: localhost
- name: schedule 5 hour downtime for 2012-11-10 09:08
logicmonitor:
target: host
action: sdt
duration: 3000
starttime: '2012-11-10 09:08'
company: '{{ company }}'
user: '{{ user }}'
password: '{{ password }}'
delegate_to: localhost
Возвращаемые значения
Общие значения возврата документированы здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| success boolean | success | Флаг, указывающий, что выполнение прошло успешно Пример: True |
Статус
- Гарантируется, что этот модуль не будет иметь обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Ethan Culler-Mayeno (@ethanculler)
- Jeff Wozniak (@woz5999)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/logicmonitor_module.html