aim-web2.1.0rc9
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
# checkmk_manage_service
|
||||
|
||||
Operator defaults are intentionally low-precedence; inventory and explicit run options may override them.
|
||||
|
||||
```yaml
|
||||
---
|
||||
|
||||
checkmk_linux_service_name: cmk-agent-ctl-daemon.service
|
||||
checkmk_linux_socket_name: check-mk-agent.socket
|
||||
checkmk_windows_service_name: ''
|
||||
checkmk_windows_service_candidates:
|
||||
- Check_MK_Agent
|
||||
- CheckmkService
|
||||
- Checkmk Service
|
||||
```
|
||||
|
||||
## Structured result integration
|
||||
|
||||
Current reporting behavior and field semantics are specified in
|
||||
[scripts/docs/OPERATION_RESULTS.md](../../scripts/docs/OPERATION_RESULTS.md).
|
||||
The calling catalog playbook owns publication; helper roles do not implicitly export
|
||||
arbitrary facts, module results or debug data. Existing defaults above retain their
|
||||
precedence. See the current validation/sanity documents before using the new candidate.
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
|
||||
checkmk_linux_service_name: cmk-agent-ctl-daemon.service
|
||||
checkmk_linux_socket_name: check-mk-agent.socket
|
||||
checkmk_windows_service_name: ''
|
||||
checkmk_windows_service_candidates:
|
||||
- Check_MK_Agent
|
||||
- CheckmkService
|
||||
- Checkmk Service
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
|
||||
- name: Checkmk | Restart changed Windows agent configuration
|
||||
ansible.windows.win_service:
|
||||
name: '{{ item }}'
|
||||
state: restarted
|
||||
listen: checkmk | windows | configuration-changed
|
||||
loop: '{{ _checkmk_windows_services | default([]) }}'
|
||||
when: ansible_facts.os_family == 'Windows'
|
||||
@@ -0,0 +1,42 @@
|
||||
---
|
||||
|
||||
- name: Linux | Require systemd service management
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- ansible_facts.service_mgr == 'systemd'
|
||||
fail_msg: This Checkmk service policy requires systemd. No alternate service system is configured.
|
||||
quiet: true
|
||||
- name: Linux | Refresh systemd after package installation
|
||||
ansible.builtin.systemd_service:
|
||||
daemon_reload: true
|
||||
when: _checkmk_package_install.changed | default(false) | bool
|
||||
- name: Linux | Detect configured Checkmk units independently of running state
|
||||
ansible.builtin.command:
|
||||
argv:
|
||||
- systemctl
|
||||
- show
|
||||
- --property=LoadState
|
||||
- --value
|
||||
- '{{ item }}'
|
||||
loop:
|
||||
- '{{ checkmk_linux_socket_name }}'
|
||||
- '{{ checkmk_linux_service_name }}'
|
||||
register: _checkmk_units
|
||||
changed_when: false
|
||||
failed_when: 'false'
|
||||
check_mode: false
|
||||
- name: Linux | Select the installed unit, preferring the socket
|
||||
ansible.builtin.set_fact:
|
||||
_checkmk_linux_units: '{{ _checkmk_units.results | selectattr(''stdout'', ''defined'') | selectattr(''stdout'',
|
||||
''equalto'', ''loaded'') | map(attribute=''item'') | list }}'
|
||||
- name: Linux | Require an installed Checkmk unit
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- _checkmk_linux_units | length > 0
|
||||
fail_msg: No configured Checkmk socket/service unit was found. Verify installation and the unit names.
|
||||
quiet: true
|
||||
- name: Linux | Ensure Checkmk is enabled and running
|
||||
ansible.builtin.systemd_service:
|
||||
name: '{{ _checkmk_linux_units | first }}'
|
||||
enabled: true
|
||||
state: started
|
||||
@@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
- name: Checkmk | Ensure agent service on linux
|
||||
ansible.builtin.include_tasks: linux.yml
|
||||
when: ansible_facts.os_family != 'Windows'
|
||||
- name: Checkmk | Ensure agent service on windows
|
||||
ansible.builtin.include_tasks: windows.yml
|
||||
when: ansible_facts.os_family == 'Windows'
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
|
||||
- name: Windows | Find installed Checkmk service
|
||||
ansible.windows.win_service_info:
|
||||
name: '{{ item }}'
|
||||
loop: '{{ ([checkmk_windows_service_name] if checkmk_windows_service_name | length else checkmk_windows_service_candidates)
|
||||
}}'
|
||||
register: _checkmk_win_service_query
|
||||
- name: Windows | Record service names
|
||||
ansible.builtin.set_fact:
|
||||
_checkmk_windows_services: '{{ _checkmk_win_service_query.results | selectattr(''services'', ''defined'')
|
||||
| map(attribute=''services'') | flatten | map(attribute=''name'') | unique | list }}'
|
||||
- name: Windows | Require installed Checkmk service
|
||||
ansible.builtin.assert:
|
||||
that:
|
||||
- _checkmk_windows_services | length > 0
|
||||
fail_msg: No Checkmk service was found. Check the installed package or set checkmk_windows_service_name.
|
||||
quiet: true
|
||||
- name: Windows | Ensure Checkmk service is running
|
||||
ansible.windows.win_service:
|
||||
name: '{{ item }}'
|
||||
start_mode: auto
|
||||
state: started
|
||||
loop: '{{ _checkmk_windows_services }}'
|
||||
Reference in New Issue
Block a user