You've already forked role-check-mk-agent
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 829ca8310d | |||
| 9cd948dcdc | |||
| fbac11b098 | |||
| 396d711be9 | |||
| 9d974bdf0c |
3
.ansible-lint
Normal file
3
.ansible-lint
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# .ansible-lint │
|
||||||
|
warn_list: # or 'skip_list' to silence them completely │
|
||||||
|
- '106' # Role name {} does not match ``^[a-z][a-z0-9_]+$`` pattern
|
||||||
@@ -1,2 +1,3 @@
|
|||||||
FROM docker.io/pycontribs/centos:7
|
FROM docker.io/pycontribs/centos:7
|
||||||
RUN yum install -y iproute
|
RUN yum install -y iproute firewalld python-firewall net-tools && \
|
||||||
|
systemctl enable firewalld
|
||||||
|
|||||||
6
Centos8-Dockerfile
Normal file
6
Centos8-Dockerfile
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
# Centos8-Dockerfile
|
||||||
|
FROM docker.io/pycontribs/centos:8
|
||||||
|
RUN yum install -y iproute firewalld net-tools && \
|
||||||
|
systemctl disable nftables && \
|
||||||
|
systemctl enable firewalld && \
|
||||||
|
|
||||||
@@ -1,12 +1,17 @@
|
|||||||
---
|
---
|
||||||
cmk_add_host: false # Should be true/false whether we should automatically add host for monitoring.
|
cmk_add_host: false # Should be true/false whether we should automatically add host for monitoring.
|
||||||
|
cmk_omd_protocol: http # Should be http or https
|
||||||
cmk_omd_host: your-checkmk-hostname
|
cmk_omd_host: your-checkmk-hostname
|
||||||
cmk_omd_site: your-checkmk-site # e.g the first piece after the / following your hostname
|
cmk_omd_site: your-checkmk-site # e.g the first piece after the / following your hostname
|
||||||
|
|
||||||
# If you have created a folder in WATO already you want hosts to be put in when registered
|
# If you have created a folder in WATO already you want hosts to be put in when registered
|
||||||
# uncomment cmk_folder below and specify the folder to use. Otherwise the role creates and
|
# uncomment cmk_folder below and specify the folder to use. Otherwise the role creates and
|
||||||
# adds new hosts by default to Unsorted folder
|
# adds new hosts by default to Unsorted folder
|
||||||
# cmk_folder: your_folder_in_WATO
|
# cmk_folder: your_folder_in_WATO
|
||||||
|
|
||||||
|
# Copy paste the link address for rpm agent from CheckMK
|
||||||
cmk_rpm_agent: http://url-from-your-agent-bakery-in-checkmk.rpm
|
cmk_rpm_agent: http://url-from-your-agent-bakery-in-checkmk.rpm
|
||||||
|
# Copy paste the link address for MSI (Windows) agent from CheckMK
|
||||||
cmk_msi_agent: http://url-from-your-agent-bakery-in-checkmk.msi
|
cmk_msi_agent: http://url-from-your-agent-bakery-in-checkmk.msi
|
||||||
|
|
||||||
|
|
||||||
@@ -17,9 +22,15 @@ cmk_username: some-username
|
|||||||
# I recommend encrypting this with ansible-vault.
|
# I recommend encrypting this with ansible-vault.
|
||||||
# Example: ansible-vault encrypt_string somesecret_string --name cmk_secret
|
# Example: ansible-vault encrypt_string somesecret_string --name cmk_secret
|
||||||
cmk_secret: some-secret
|
cmk_secret: some-secret
|
||||||
|
|
||||||
# Combined string required for unattended actions
|
# Combined string required for unattended actions
|
||||||
cmk_auth: "&_username={{ cmk_username }}&_secret={{ cmk_secret }}"
|
cmk_auth: "&_username={{ cmk_username }}&_secret={{ cmk_secret }}"
|
||||||
|
|
||||||
# This variable is used to detect whether this is a fresh install
|
# This variable is used to detect whether this is a fresh install
|
||||||
# Is changed to true if check-mk-agent gets installed
|
# Is changed to true if check-mk-agent gets installed
|
||||||
cmk_fresh_install: false
|
cmk_fresh_install: false
|
||||||
|
|
||||||
|
# This variable if set to true will force installation to run regardless of whether
|
||||||
|
# CheckMK is already installed.
|
||||||
|
# Breaks idempotence but allows role to be used to force upgrade agents.
|
||||||
|
cmk_force_install: false
|
||||||
|
|||||||
@@ -8,4 +8,15 @@
|
|||||||
|
|
||||||
- name: cmk fresh install
|
- name: cmk fresh install
|
||||||
set_fact:
|
set_fact:
|
||||||
cmk_fresh_install: True
|
cmk_fresh_install: True
|
||||||
|
|
||||||
|
- name: ensure firewall open
|
||||||
|
firewalld:
|
||||||
|
port: 6556/tcp
|
||||||
|
state: enabled
|
||||||
|
permanent: yes
|
||||||
|
immediate: yes
|
||||||
|
|
||||||
|
- name: ensure firewall reloaded
|
||||||
|
command: firewall-cmd --reload
|
||||||
|
changed_when: false
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ galaxy_info:
|
|||||||
# If the issue tracker for your role is not on github, uncomment the
|
# If the issue tracker for your role is not on github, uncomment the
|
||||||
# next line and provide a value
|
# next line and provide a value
|
||||||
# issue_tracker_url: http://example.com/issue/tracker
|
# issue_tracker_url: http://example.com/issue/tracker
|
||||||
|
|
||||||
license: MIT
|
license: MIT
|
||||||
|
|
||||||
min_ansible_version: 2.9
|
min_ansible_version: 2.9
|
||||||
@@ -34,4 +34,3 @@ galaxy_info:
|
|||||||
# Maximum 20 tags per role.
|
# Maximum 20 tags per role.
|
||||||
|
|
||||||
dependencies: []
|
dependencies: []
|
||||||
|
|
||||||
@@ -2,3 +2,4 @@
|
|||||||
shell: |
|
shell: |
|
||||||
cmk-update-agent register -H $(hostname -s) --user {{ cmk_username }} \
|
cmk-update-agent register -H $(hostname -s) --user {{ cmk_username }} \
|
||||||
--secret {{ cmk_secret }}
|
--secret {{ cmk_secret }}
|
||||||
|
changed_when: false
|
||||||
|
|||||||
@@ -18,17 +18,19 @@
|
|||||||
dest: /tmp/check-mk-agent.rpm
|
dest: /tmp/check-mk-agent.rpm
|
||||||
|
|
||||||
- name: Ensure check_mk_agent installed
|
- name: Ensure check_mk_agent installed
|
||||||
yum:
|
yum:
|
||||||
name: /tmp/check-mk-agent.rpm
|
name: /tmp/check-mk-agent.rpm
|
||||||
state: installed
|
state: installed
|
||||||
notify:
|
notify:
|
||||||
- restart xinetd
|
- restart xinetd
|
||||||
- cmk fresh install
|
- cmk fresh install
|
||||||
|
- ensure firewall open
|
||||||
|
- ensure firewall reloaded
|
||||||
|
|
||||||
- name: Remove agent Download
|
- name: Remove agent Download
|
||||||
file:
|
file:
|
||||||
path: /tmp/check-mk-agent.rpm
|
path: /tmp/check-mk-agent.rpm
|
||||||
state: absent
|
state: absent
|
||||||
when: "'check-mk-agent' not in ansible_facts.packages"
|
when: "'check-mk-agent' not in ansible_facts.packages or cmk_force_install"
|
||||||
tags:
|
tags:
|
||||||
- check_mk_agent
|
- check_mk_agent
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
- name: Register with CheckMK Update Server
|
- name: Register with CheckMK Update Server
|
||||||
win_shell: |
|
win_shell: |
|
||||||
C:\ProgramData\checkmk\agent\plugins\cmk-update-agent.exe register -H $env:computername `
|
C:\ProgramData\checkmk\agent\plugins\cmk-update-agent.exe register `
|
||||||
|
-H $env:computername `
|
||||||
--user {{ cmk_username }} `
|
--user {{ cmk_username }} `
|
||||||
--secret {{ cmk_secret }}
|
--secret {{ cmk_secret }}
|
||||||
@@ -3,13 +3,13 @@
|
|||||||
win_file:
|
win_file:
|
||||||
path: "c:/temp/"
|
path: "c:/temp/"
|
||||||
state: directory
|
state: directory
|
||||||
|
|
||||||
- name: Retrieve copy of agent
|
- name: Retrieve copy of agent
|
||||||
win_get_url:
|
win_get_url:
|
||||||
url: "{{ cmk_msi_agent }}{{ cmk_auth }}"
|
url: "{{ cmk_msi_agent }}{{ cmk_auth }}"
|
||||||
dest: "c:/temp/check-mk-agent.msi"
|
dest: "c:/temp/check-mk-agent.msi"
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
- name: Ensure agent is installed
|
- name: Ensure agent is installed
|
||||||
win_package:
|
win_package:
|
||||||
path: "c:/temp/check-mk-agent.msi"
|
path: "c:/temp/check-mk-agent.msi"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
- name: add host to omd
|
- name: add host to omd
|
||||||
uri:
|
uri:
|
||||||
method: POST
|
method: POST
|
||||||
url: "http://{{ cmk_omd_host }}/{{ cmk_omd_site }}/check_mk/webapi.py?action=add_host{{ cmk_auth }}"
|
url: "{{ cmk_omd_protocol }}://{{ cmk_omd_host }}/{{ cmk_omd_site }}/check_mk/webapi.py?action=add_host{{ cmk_auth }}"
|
||||||
body: |
|
body: |
|
||||||
request={
|
request={
|
||||||
"attributes": {
|
"attributes": {
|
||||||
@@ -11,7 +11,7 @@
|
|||||||
"ipaddress": "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
|
"ipaddress": "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
|
||||||
},
|
},
|
||||||
"folder": "{{ cmk_folder | default('Unsorted') }}",
|
"folder": "{{ cmk_folder | default('Unsorted') }}",
|
||||||
"hostname": "{{inventory_hostname}}"
|
"hostname": "{{ inventory_hostname }}"
|
||||||
}
|
}
|
||||||
body_format: raw
|
body_format: raw
|
||||||
return_content: yes
|
return_content: yes
|
||||||
@@ -20,18 +20,15 @@
|
|||||||
delegate_to: localhost
|
delegate_to: localhost
|
||||||
when: cmk_add_host
|
when: cmk_add_host
|
||||||
|
|
||||||
- set_fact:
|
- name: Parse result
|
||||||
|
set_fact:
|
||||||
output: "{{ res.content | from_json }}"
|
output: "{{ res.content | from_json }}"
|
||||||
when: cmk_add_host
|
when: cmk_add_host
|
||||||
|
|
||||||
# - debug:
|
|
||||||
# msg: "{{ output }}"
|
|
||||||
# when: cmk_add_host
|
|
||||||
|
|
||||||
- name: cmk_discovery
|
- name: cmk_discovery
|
||||||
uri:
|
uri:
|
||||||
method: POST
|
method: POST
|
||||||
url: http://{{ cmk_omd_host }}/{{ cmk_omd_site }}/check_mk/webapi.py?action=discover_services&mode=refresh{{ cmk_auth }}
|
url: "{{ cmk_omd_protocol }}://{{ cmk_omd_host }}/{{ cmk_omd_site }}/check_mk/webapi.py?action=discover_services&mode=refresh{{ cmk_auth }}"
|
||||||
body: 'request={"hostname":"{{ inventory_hostname }}"}'
|
body: 'request={"hostname":"{{ inventory_hostname }}"}'
|
||||||
body_format: raw
|
body_format: raw
|
||||||
status_code: 200
|
status_code: 200
|
||||||
@@ -42,7 +39,7 @@
|
|||||||
- name: cmk_apply
|
- name: cmk_apply
|
||||||
uri:
|
uri:
|
||||||
method: POST
|
method: POST
|
||||||
url: http://{{ cmk_omd_host }}/{{ cmk_omd_site }}/check_mk/webapi.py?action=activate_changes&mode=specific{{ cmk_auth }}
|
url: "{{ cmk_omd_protocol }}://{{ cmk_omd_host }}/{{ cmk_omd_site }}/check_mk/webapi.py?action=activate_changes&mode=specific{{ cmk_auth }}"
|
||||||
body: 'request={"sites":["{{ cmk_omd_site }}"]}'
|
body: 'request={"sites":["{{ cmk_omd_site }}"]}'
|
||||||
body_format: raw
|
body_format: raw
|
||||||
status_code: 200
|
status_code: 200
|
||||||
|
|||||||
Reference in New Issue
Block a user