logicmonitor – Управление вашей учётной записью LogicMonitor с помощью Ansible Playbooks
Обзор
- LogicMonitor — это хостинг-платформа для мониторинга инфраструктуры.
- Этот модуль управляет хостами, группами хостов и коллекторами в вашей учётной записи LogicMonitor.
Требования
Ниже перечислены требования, которые должны быть выполнены на хосте, на котором выполняется этот модуль.
- Существующая учётная запись LogicMonitor
- Linux
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| action - / обязательно |
| Действие, которое необходимо выполнить над целевым объектом. Add: Добавить объект в вашу учётную запись LogicMonitor. Remove: Удалить объект из вашей учётной записи LogicMonitor. Update: Обновить свойства, описание или группы (target=host) объекта в вашей учётной записи LogicMonitor. SDT: Назначить запланированное время простоя для объекта в вашей учётной записи LogicMonitor. |
| alertenable boolean |
| Флаг 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). Необязательно для назначения запланированного времени простоя (action=sdt). |
| fullpath - | Полный путь к объекту группы хостов, который требуется управлять. Рекомендуется выполнение на одном хосте Ansible. Обязательно для управления группами хостов LogicMonitor (target=hostgroup). | |
| groups - | Значение по умолчанию: [] | Список групп, членом которых должен быть хост. Необязательно для управления хостами (target=host; action=add или action=update). |
| hostname - | Значение по умолчанию: "hostname -f" | Имя хоста в вашей учётной записи LogicMonitor или желаемое имя хоста управляемого устройства. Необязательно для управления хостами (target=host). |
| id - | Идентификатор источника данных для назначения. Обязательно для управления источниками данных LogicMonitor (target=datasource). | |
| password - / обязательно | Пароль указанного пользователя LogicMonitor | |
| properties - | Значение по умолчанию: {} | Словарь свойств для настройки хоста или группы хостов LogicMonitor. Необязательно для управления хостами и группами хостов (target=host или target=hostgroup; action=add или action=update). Этот параметр добавит или обновит существующие свойства в вашей учётной записи LogicMonitor. |
| starttime - | Значение по умолчанию: "Сейчас" | Время начала запланированного времени простоя (SDT). Необязательно для управления SDT (action=sdt). ГГГГ-ММ-ДД ЧЧ:ММ |
| target - / обязательно |
| Тип объекта LogicMonitor, который требуется управлять. Collector: Выполнить действия над коллектором LogicMonitor. ПРИМЕЧАНИЕ Используйте модули Ansible service, такие как service или supervisorctl, для управления службами Collector 'logicmonitor-agent' и 'logicmonitor-watchdog'. В частности, вам, вероятно, потребуется запустить эти службы после добавления коллектора и остановить эти службы перед удалением коллектора. Host: Выполнить действия над устройством-хостом. Hostgroup: Выполнить действия над группой хостов LogicMonitor. ПРИМЕЧАНИЕ Задачи Host и Hostgroup всегда должны выполняться через 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.9/modules/logicmonitor_module.html