Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Restructure and update article.


Info
Of course, it is possible to download the agents for Linux/Windows/etc, not only via the browser but also by getting them via wget and the REST API.

In addition to the extensive documentation in our official guide, we provide some practical information here for convenience. We encourage you to read and understand the following articles nevertheless.

Status
colourGreen
titleLAST TESTED ON CHECKMK 2.2.0P10P8

Table of Contents

Step-by-step guide

Prerequisites

...

  • A user with sufficient rights (the automation user would do out of the box)

...

  • Checkmk's server hostname (or IP)

...

  • The site which holds the agent

...

  • The agent you want to download (i.e., OS & hash or hostname).

The easiest way for the latter to find the OS and has, is to navigate to the Agents section in Checkmk agent bakery and hover the cursor over the installation package:

...

Code Block
languagebash
themeRDark
root@linux# su - mysite
OMD[mysite]:~$ ls var/check_mk/agents/linux_deb/packages/
1ae46a9ab42f290b  1ae46a9ab42f290b.conf  1ae46a9ab42f290b.sig  8107877152463cf2  8107877152463cf2.conf  8107877152463cf2.sig

wget

...

Download via REST API

httpie (recommended)

Install httpie on the system where you want to download the agent.

download by hash value

The following is an example script, that you can use to download the agent.

...

Code Block
languagebash
themeRDark
wget "http(s)://<checkmkhost>/<site>/check_mk/download_agent.py?hostname=<hostname>&hash=c9394c3914cc6982&os=linux_tgz&_username=automation&_secret=<automation_secret>" -O agent.deb

httpie, download by the hash value

Install httpie on the system where you want to download the agent.

#!/bin/bash
HOST_NAME="$MYCHECKMKSERVER"
SITE_NAME="$MYSITE"
API_URL="http://$HOST_NAME/$SITE_NAME/check_mk/api/1.0"
 
USERNAME="$AUTOMATION_USER"
PASSWORD="$AUTOMATION_SECRET"
 
http --json GET "$API_URL/domain-types/agent/actions/download_by_hash/invoke" \
    "Authorization: Bearer $USERNAME $PASSWORD" \
    "Accept: application/octet-stream" \
    agent_hash=="<hash<"\
    os_type=="linux_deb" \
    --download

download by hostname

The following is an example script, that you can use to download the agent.

Code Block
languagebash
themeRDark
#!/bin/bash
HOST_NAME="<checkmk_server>$MYCHECKMKSERVER"
SITE_NAME="<sitename>$MYSITE"
API_URL="http://$HOST_NAME/$SITE_NAME/check_mk/api/1.0"
 
USERNAME="automation$AUTOMATION_USER"
PASSWORD="<automation$AUTOMATION_secret>SECRET"

   http --json GET "$API_URL/domain-types/agent/actions/download_by_hashhost/invoke" \
    "Authorization: Bearer $USERNAME $PASSWORD" \
    "Accept: application/octet-stream" \
    agent    host_hashname=="<hash<localhost"\
    os_type=="linux_deb" \
    --download

curl

...

download by

...

hash value

The following is an example script, that you can use to download the agent.

Code Block
languagebash
themeRDark
#!/bin/bash
HOST_NAME="<checkmk_server>$MYCHECKMKSERVER"
SITE_NAME="<sitename>$MYSITE"
API_URL="http://$HOST_NAME/$SITE_NAME/check_mk/api/1.0"
 
USERNAME="automation$AUTOMATION_USER"
PASSWORD="<automation$AUTOMATION_secret>"
 
http --json GET SECRET"

curl \
  -G \
  --request GET \
  --write-out "\nxxx-status_code=%{http_code}\n" \
  --header "Authorization: Bearer $USERNAME $PASSWORD" \
  --header "Accept: application/octet-stream" \
  --data-urlencode 'agent_type=host_name' \
  --data-urlencode 'host_name=local' \
  --data-urlencode 'os_type=linux_tgz' \
  -o myagent.tgz \
  "$API_URL/domain-types/agent/actions/download_by_host/invoke"

download by hostname

The following is an example script, that you can use to download the agent.

Code Block
languagebash
themeRDark
#!/bin/bash
HOST_NAME="$MYCHECKMKSERVER"
SITE_NAME="$MYSITE"
API_URL="http://$HOST_NAME/$SITE_NAME/check_mk/api/1.0"
 
USERNAME="$AUTOMATION_USER"
PASSWORD="$AUTOMATION_SECRET"

curl \
    
  -G \
  --request GET \
  --write-out "\nxxx-status_code=%{http_code}\n" \
  --header "Authorization: Bearer $USERNAME $PASSWORD"  \
    
  --header "Accept: application/octet-stream" \
    host_name=="localhost"\
    os_type=="linux_deb" \
    --download \
  --data-urlencode 'agent_type=host_name' \
  --data-urlencode 'host_name=local' \
  --data-urlencode 'os_type=linux_tgz' \
  -o myagent.tgz \
  "$API_URL/domain-types/agent/actions/download_by_host/invoke"


Filter by label (Content by label)
showLabelsfalse
max5
spacesKB
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("kb-how-to-article","howto","agent_bakery") and type = "page" and space = "KB"
labelskb-how-to-article

...