kso512.checkmk_agent
checkmk_agent
Ansibleã®åœ¹å²ã§ãCheckMK RAWãšãã£ã·ã§ã³çšã®ãšãŒãžã§ã³ã/ã¯ã©ã€ã¢ã³ããã€ã³ã¹ããŒã«ããŸãã
ããã¯ãCI/CDãAnsible GalaxyãšCheckMKã®åœåèŠåã®å€æŽã«äŒŽã£ãŠãç§ãé·å¹Žäœæã»ç¶æããŠããinstall-check_mk-agent圹å²ã®å®å šãªåæ§ç¯ã§ãã
ãã¹ãŠã®ã¿ã¹ã¯ã«ã¯checkmk-agentãšããã¿ã°ãä»ããããŠããŸãã
以äžã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã¯èªåçã«ãã¹ããããŸããïŒ
- Debian 10 "Buster"
- Debian 11 "Bullseye"
- Debian 12 "Bookworm"
- Fedora 38
- Fedora 39
- Fedora 40
- Microsoft Windows Server 2019 / Microsoft Windows 10
- Microsoft Windows Server 2022 / Microsoft Windows 11
- Ubuntu 20.04 LTS "Focal Fossa"
- Ubuntu 22.04 LTS "Jammy Jellyfish"
- Ubuntu 24.04 LTS "Noble Numbat"
ããã©ãŒãã³ã¹ã®çç±ãããWindowsãšãŒãžã§ã³ãã§ã¯ä»¥äžã®ãã»ã¯ã·ã§ã³ããããã©ã«ãã§ç¡å¹ã«ãªã£ãŠããŸãïŒ
- services
- msexch
- dotnet_clrmemory
- wmi_webservices
- wmi_cpuload
- ps
- fileinfo
- logwatch
- openhardwaremonitor
ããã«ããã©ã°ã€ã³ã®å®è¡ã調æŽãããŸããïŒ
- ã¿ã€ã ã¢ãŠãã
30ãã120ã«åŒãäžããããŸãã - éåæãæå¹ã«ãªããŸãã
- ãã£ãã·ã¥å¹Žéœ¢ã
3600ïŒ1æéïŒã«èšå®ãããŸãã
èªåèªèº«ã®ãcheck_mk.user.yml.j2ããäœæããcheckmk_agent_win_config_srcãäžæžãããŠããã«ã«ã¹ã¿ãã€ãºããããcheckmk_agent_win_config_optimize倿°ãfalseã«èšå®ããŠãã®æé©åãç¡å¹ã«ããŸãã
åæ§ã®å€æŽãdocker.cfgã®ããã©ã«ããã¡ã€ã«ã«ãè¡ãããŠããŸããããã§ã¯ããã¹ãŠã®dockerã»ã¯ã·ã§ã³ãæå¹ã«ãªã£ãŠãããcheckmk_agent_docker_complete倿°ãfalseã«èšå®ããããšã§ããã©ã«ãã«æ»ãããšãã§ããŸãã
æè¿ã®ããŒãžã§ã³ãããªãã¯ã¹
| CheckMK RAWãšãã£ã·ã§ã³ããŒãžã§ã³ | 圹å²ã®ããŒãžã§ã³/ã¿ã° |
|---|---|
| 2.3.0p13 | 1.1.1 |
| 2.3.0p12 | 1.1.0 |
| 2.3.0p11 | 1.0.99 |
| 2.3.0p10 | 1.0.98 |
| 2.3.0p9 | 1.0.97 |
èŠä»¶
ãã®åœ¹å²ã«ã¯ä»ã®åœ¹å²ã¯å¿ èŠãããŸãããäžè¬çã«CheckMKãµãŒããŒãšäºææ§ãããããã«èšèšãããŠãããç¹ã«kso512.checkmk_serverã«ç¹åããŠããŸãã
Windowsãªã¢ãŒã管çïŒWinRMïŒã䜿çšããŠWindowsãã¹ãã«æ¥ç¶ããå ŽåãAnsibleã·ã¹ãã ã«pywinrmããã±ãŒãžãã€ã³ã¹ããŒã«ããå¿
èŠããããŸãïŒ
pip install "pywinrm>=0.3.0"
ãã®åœ¹å²ã¯ãUnixã¿ã€ãã®ã·ã¹ãã ã§ããã©ã«ãããŒã6556ã®ä»£ããã«SSHã䜿çšããŸããããã«ããéä¿¡ãæå·åãããæ°ããããŒããéããã«ç£èŠãšæ°ãããµãŒãã¹ã®èšå®ãè¡ããŸãã
SSHã®èªèšŒããŒãäœæããã«ã¯ããã¡ãã«ç€ºãããŠããããã«ãssh-keygenãããã°ã©ã ã䜿çšããŸãã
ããŒã«ã«ãã©ã«ããŒã«ãã¹ãã¬ãŒãºãªãã§ããã©ã«ãã®ããŒãäœæããäŸïŒ
ssh-keygen -C "cmkagent@$HOSTNAME" -f ./id_rsa -N "" -v
ããã«ãããid_rsaãšid_rsa.pubã®2ã€ã®ãã¡ã€ã«ãäœæãããŸãã
id_rsa = ãã©ã€ããŒãããŒã§ãå®å
šã«ä¿ç®¡ããå¿
èŠããããŸãããã®ãã¡ã€ã«ã¯ãã¢ã¯ãã£ããªCheckMKãšãŒãžã§ã³ããŠãŒã¶ãŒã®~/.sshãã©ã«ããŒã«çœ®ãå¿
èŠããããŸããæ¬¡ã®äŸã¯ãkso512.checkmk_serverãã®ããã©ã«ããŠãŒã¶ãŒãšãµã€ãã䜿çšããŠããŸãïŒ
cp ./id_rsa /opt/omd/sites/test/.ssh
id_rsa.pub = å
¬éããŒã§ãä»ã®ä¿¡é Œããããã¹ããšå
±æã§ããŸãããã®ãã¡ã€ã«ã¯ãããŒã«ã«ã®ãauthorized_keys.j2ããã¡ã€ã«ã«è¿œå ããå¿
èŠããããŸããããã©ã«ãã®åœ¹å²æ§é ãä»®å®ããŠïŒ
echo '# {{ ansible_managed }}' > /etc/ansible/local/authorized_keys.j2
cat ./id_rsa.pub >> /etc/ansible/local/authorized_keys.j2
次ã«ãlocal/authorized_keys.j2ãèªåã®å€æ°ã§checkmk_agent_authkey_srcãšããŠå®£èšããŸãã以äžã«äŸã瀺ããŸãã
æåŸã«ãCheckMKèªäœãèšå®ããŠããããã®ãã¡ã€ã«ãå©çšããTCPããŒã6556ãžã®æ¥ç¶ã詊ã¿ãªãããã«ããŸãïŒ
- CheckMKã«ãã°ã€ã³ããŸã
- èšå® > æ€çŽ¢ > "åå¥" > ãšãŒãžã§ã³ãã¢ã¯ã»ã¹ã®ä»£ããã«åå¥ããã°ã©ã åŒã³åºã
- ãã©ã«ããŒã«ã«ãŒã«ãäœæããïŒã¡ã€ã³ãã£ã¬ã¯ããª
- 説æïŒ
SSHããã³cmkagentã¢ã«ãŠã³ãã䜿çšããŠSSHããŒã䜿ã - å®è¡ããã³ãã³ãã©ã€ã³ïŒ
ssh -i ~/.ssh/id_rsa -l cmkagent <IP> sudo /home/cmkagent/check_mk_agent - æç€ºçãã¹ãïŒïŒãã¹ããã¹ããéžæãããããæ©èœããããã¹ãã¿ã°ãŸãã¯ã©ãã«ãèšå®ããŸãïŒ
- ä¿å
- 説æïŒ
- 1ã€ã®å€æŽ > éžæãããµã€ãã§æå¹å
圹å²å€æ°
ãããã®ããã€ãã¯åé·ã«èŠãããããããŸããããå°æ¥ã®ãŠãŒã¶ãŒãå¿ èŠã«å¿ããŠããŒã«ã«å€æ°ã§äžæžãã§ããããã«æå®ãããŠããŸãã
倿°ã®è¡šïŒããã©ã«ãä»ãïŒ
| 倿° | 説æ | ããã©ã«ã |
|---|---|---|
| checkmk_agent_authkey_dest | "authorized_keys"ãã¡ã€ã«ã®ãã«ãã¹ | "{{ checkmk_agent_ssh_path }}/authorized_keys" |
| checkmk_agent_authkey_group | "authorized_keys"ãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_ssh_group }}" |
| checkmk_agent_authkey_mode | "authorized_keys"ãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "0600" |
| checkmk_agent_authkey_src | "authorized_keys"ãã³ãã¬ãŒãã®ãã¡ã€ã«å | authorized_keys.j2 |
| checkmk_agent_authkey_user | "authorized_keys"ãã¡ã€ã«ã®ææãŠãŒã¶ãŒå | "{{ checkmk_agent_ssh_user }}" |
| checkmk_agent_cache_group | "cache"ãã©ã«ããŒãšãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_cache_user }}" |
| checkmk_agent_cache_mode | "cache"ãã©ã«ããŒãšãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "{{ checkmk_agent_mode }}" |
| checkmk_agent_cache_path | "cache"ãã©ã«ããŒã®ãã«ãã¹ | "{{ checkmk_agent_home }}/cache" |
| checkmk_agent_cache_user | "cache"ãã©ã«ããŒãšãã¡ã€ã«ã®ææãŠãŒã¶ãŒå | "{{ checkmk_agent_user }}" |
| checkmk_agent_comment | CheckMKãšãŒãžã§ã³ããŠãŒã¶ãŒã®ãã«ããŒã | CheckMK Agent |
| checkmk_agent_count_users_crit | ãã°ã€ã³ãŠãŒã¶ãŒæ°ãã¯ãªãã£ã«ã«ãããå€ | 15 |
| checkmk_agent_count_users_warn | ãã°ã€ã³ãŠãŒã¶ãŒæ°ãèŠåãããå€ | 10 |
| checkmk_agent_count_zombie_procs_crit | ãŸã³ãããã»ã¹æ°ãã¯ãªãã£ã«ã«ãããå€ | 10 |
| checkmk_agent_count_zombie_procs_warn | ãŸã³ãããã»ã¹æ°ãèŠåãããå€ | 5 |
| checkmk_agent_dest | CheckMKãšãŒãžã§ã³ãå®è¡ãã¡ã€ã«ã®ãã«ãã¹ | "{{ checkmk_agent_home }}/check_mk_agent" |
| checkmk_agent_docker_complete | ãã¹ãŠã®dockerã¢ãžã¥ãŒã«ãå«ã | true |
| checkmk_agent_docker_dest | Dockerèšå®ãã¡ã€ã«ã®ãã«ãã¹ | "{{ checkmk_agent_home }}/docker.cfg" |
| checkmk_agent_docker_group | Dockerèšå®ãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_group }}" |
| checkmk_agent_docker_mode | Dockerèšå®ãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "0644" |
| checkmk_agent_docker_src | Dockerèšå®ãã¡ã€ã«ãã³ãã¬ãŒãã®ãã¡ã€ã«å | docker.cfg.j2 |
| checkmk_agent_docker_user | Dockerèšå®ãã¡ã€ã«ãã³ãã¬ãŒãã®ãã¡ã€ã«å | "{{ checkmk_agent_user }}" |
| checkmk_agent_group | CheckMKãšãŒãžã§ã³ãå®è¡ãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_user }}" |
| checkmk_agent_home | CheckMKãšãŒãžã§ã³ããŠãŒã¶ãŒã®ããŒã ãã©ã«ããŒã®ãã«ãã¹ | /home/{{ checkmk_agent_user }} |
| checkmk_agent_local_checks | "local"ãã©ã«ããŒã«ã³ããŒãããã§ãã¯ã®ãªã¹ã | count_users count_zombie_procs |
| checkmk_agent_local_checks_async | "local"éåæãã©ã«ããŒã«ã³ããŒãããã§ãã¯ã®ãªã¹ã | (äžèšã®NOTE Aãåç §) |
| checkmk_agent_local_group | "local"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_local_user }}" |
| checkmk_agent_local_mode | "local"ãã©ã«ããŒãšãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "{{ checkmk_agent_mode }}" |
| checkmk_agent_local_path | "local"ãã©ã«ããŒã®ãã«ãã¹ | "{{ checkmk_agent_home }}/local" |
| checkmk_agent_local_purge | åæã®åã«"local"ãã©ã«ããŒãåé€ | false |
| checkmk_agent_local_user | "local"ãã©ã«ããŒãšãã¡ã€ã«ã®ææãŠãŒã¶ãŒå | "{{ checkmk_agent_user }}" |
| checkmk_agent_mode | CheckMKãšãŒãžã§ã³ãå®è¡ãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "0755" |
| checkmk_agent_plugin_checks | "plugin"ãã©ã«ããŒã«ã³ããŒãããã§ãã¯ã®ãªã¹ã | hpsa lvm mk_inventory.linux mk_iptables mk_nfsiostat mk_sshd_config netstat.linux nfsexports smart |
| checkmk_agent_plugin_checks_async | "plugin"éåæãã©ã«ããŒã«ã³ããŒãããã§ãã¯ã®ãªã¹ã | (äžèšã®NOTE Aãåç §) |
| checkmk_agent_plugin_group | "plugin"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_plugin_user }}" |
| checkmk_agent_plugin_mode | "plugin"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "{{ checkmk_agent_mode }}" |
| checkmk_agent_plugin_path | "plugin"ãã©ã«ããŒã®ãã«ãã¹ | "{{ checkmk_agent_home }}/plugins" |
| checkmk_agent_plugin_purge | åæã®åã«"plugin"ãã©ã«ããŒãåé€ | false |
| checkmk_agent_plugin_user | "plugin"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ææãŠãŒã¶ãŒå | "{{ checkmk_agent_user }}" |
| checkmk_agent_prereqs | æåããã€ã³ã¹ããŒã«ã«å¿ èŠãªããã±ãŒãžã®ãªã¹ã | python3-docker sudo |
| checkmk_agent_prereqs_yum | YUMããã±ãŒãžãããŒãžã£ãŒã䜿çšããã·ã¹ãã ã§ã®æåããã€ã³ã¹ããŒã«ã«å¿ èŠãªããã±ãŒãžã®ãªã¹ã | sudo |
| checkmk_agent_src | CheckMKãšãŒãžã§ã³ãå®è¡ãã¡ã€ã«ãã³ãã¬ãŒãã®ãã¡ã€ã«å | check_mk_agent.linux.j2 |
| checkmk_agent_ssh_group | ".ssh"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_group }}" |
| checkmk_agent_ssh_mode | ".ssh"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "0700" |
| checkmk_agent_ssh_path | ".ssh"ãã©ã«ããŒã®ãã«ãã¹ | "{{ checkmk_agent_home }}/.ssh" |
| checkmk_agent_ssh_user | ".ssh"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ææãŠãŒã¶ãŒå | "{{ checkmk_agent_user }}" |
| checkmk_agent_spool_group | "spool"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_spool_user }}" |
| checkmk_agent_spool_mode | "spool"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "{{ checkmk_agent_mode }}" |
| checkmk_agent_spool_path | "spool"ãã©ã«ããŒã®ãã«ãã¹ | "{{ checkmk_agent_home }}/spool" |
| checkmk_agent_spool_user | "spool"ãã©ã«ããŒããã³ãã¡ã€ã«ã®ææãŠãŒã¶ãŒå | "{{ checkmk_agent_user }}" |
| checkmk_agent_sudo_dest | CheckMKãšãŒãžã§ã³ããŠãŒã¶ãŒã«CheckMKãšãŒãžã§ã³ãå®è¡ãã¡ã€ã«ãžã®sudoã¢ã¯ã»ã¹ãä»äžããããã«äœ¿çšããã"sudoers.d"ãã¡ã€ã«ã®ãã«ãã¹ | /etc/sudoers.d/99_cmkagent |
| checkmk_agent_sudo_group | "sudoers.d"ãã¡ã€ã«ã®ææã°ã«ãŒãå | "{{ checkmk_agent_sudo_owner }}" |
| checkmk_agent_sudo_mode | "sudoers.d"ãã¡ã€ã«ã®ãã¡ã€ã«ã¢ãŒãèšå® | "0440" |
| checkmk_agent_sudo_owner | "sudoers.d"ãã¡ã€ã«ã®ææãŠãŒã¶ãŒå | root |
| checkmk_agent_sudo_src | "sudoers.d"ãã¡ã€ã«ãã³ãã¬ãŒãã®ãã¡ã€ã«å | 99_cmkagent.j2 |
| checkmk_agent_sudo_validate | "sudoers.d"ãã¡ã€ã«ãæ€èšŒããããã«äœ¿çšãããã³ãã³ãïŒ%sã¯checkmk_agent_sudo_destã§åã蟌ãŸããŸã |
'visudo -cf %s' |
| checkmk_agent_user | CheckMKãšãŒãžã§ã³ããŠãŒã¶ãŒã®ãã°ã€ã³å | cmkagent |
| checkmk_agent_version | ã€ã³ã¹ããŒã«ããCheckMKãšãŒãžã§ã³ãã®ããŒãžã§ã³ | 2.3.0p13 |
| checkmk_agent_win_config_dest | èšå®ãã¡ã€ã«ã®ãã«ãã¹ | "{{ checkmk_agent_win_data_folder }}check_mk.user.yml" |
| checkmk_agent_win_config_optimize | äžéšã®é ããã§ãã¯ãåé€ããŠWindowsãšãŒãžã§ã³ããæé©åãã | true |
| checkmk_agent_win_config_src | èšå®ãã¡ã€ã«ãã³ãã¬ãŒãã®ãã¡ã€ã«å | check_mk.user.yml.j2 |
| checkmk_agent_win_data_folder | CheckMKãšãŒãžã§ã³ãããŒã¿ãã©ã«ããŒã®ãã«ãã¹ | C:\\ProgramData\\checkmk\\agent\\ |
| checkmk_agent_win_install_dest | CheckMKãšãŒãžã§ã³ãã€ã³ã¹ããŒã«ãã¡ã€ã«ã®ãã«ãã¹ | c:\\Users\\{{ ansible_user }}\\Downloads\\{{ checkmk_agent_win_install_src }} |
| checkmk_agent_win_install_src | CheckMKãšãŒãžã§ã³ãã€ã³ã¹ããŒã«ãã¡ã€ã«ã®çããã¡ã€ã«å | check_mk_agent.msi |
| checkmk_agent_win_plugins | "plugin"ãã©ã«ããŒã«ã³ããŒããWindowsãã©ã°ã€ã³ã®ãªã¹ã | mk_inventory.vbs windows_updates.vbs |
| checkmk_agent_win_productid | ã€ã³ã¹ããŒã«çšã®ããŒãžã§ã³åºæã®ã補åIDã | "{B6212139-D124-4782-8F81-05D08203092D}" |
NOTE A
checkmk_agent_local_checks_asyncãšcheckmk_agent_plugin_checks_async - "plugin"éåæãã©ã«ããŒã«ã³ããŒãããã§ãã¯ã®ãªã¹ãã§ããããã¥ã¡ã³ãã«ããã°ïŒ
ããŒã«ã«ãã§ãã¯ã®åºåã¯ããšãŒãžã§ã³ããã©ã°ã€ã³ã®åºåãšåæ§ã«ãã£ãã·ã¥ã§ããŸããåŠçæéãé·ãã¹ã¯ãªãããããå Žåããã£ãã·ã¥ãå¿ èŠã«ãªããŸãããã®ãããªã¹ã¯ãªããã¯éåæã§å®è¡ãããå®çŸ©ãããæéééã§ã®ã¿å®è¡ãããæåŸã®åºåããã£ãã·ã¥ãããŸããæéãæéåãã«ãªãåã«ãšãŒãžã§ã³ããå床ã¯ãšãªããããšããã®ãã£ãã·ã¥ãããŒã«ã«ãã§ãã¯ã«äœ¿çšããããšãŒãžã§ã³ãåºåã«è¿ãããŸãã
ãããã®ãªã¹ãã®åœ¢åŒã¯æ¬¡ã®éãã§ãcheckmk_agent_plugin_checks_asyncã瀺ãããŠããŸãïŒ
300:
- apache_status.py
600:
- ""
900:
- ""
1800:
- ""
86400:
- mk_apt
- mk_docker.py
ããã«ãããapache_status.pyãã©ã°ã€ã³ã¯5åããšã«1åã®ã¿å®è¡ãããmk_aptããã³mk_docker.pyãã©ã°ã€ã³ã¯1æ¥1åã®ã¿å®è¡ãããŸããããã«ããããã£ãã·ã¥ãããå€ã䜿çšããæ®ãã®ãã§ãã¯ã®ç§æ°ãåæžãããŸãã
äŸåé¢ä¿
ãŸã å®çŸ©ãããŠããŸããã
äŸã®ãã¬ã€ããã¯ãšåŒã³åºã
ããŒã«ã«ã®authorized_keysãã¡ã€ã«ã䜿çšããäŸïŒ
- hosts: all
roles:
- { role: kso512.checkmk_agent, checkmk_agent_authkey_src="local/authorized_keys.j2" }
pluginãã©ã«ããŒãåäœæããåã«åé€ããäŸïŒ
$ ansible-playbook site.yml -t checkmk-agent -e "checkmk_agent_plugin_purge=true"
...
TASK [kso512.checkmk_agent : Delete directory - plugins | FILE] ***********
changed: [instance]
TASK [kso512.checkmk_agent : Create directory - plugins | FILE] ***********
changed: [instance]
ã©ã€ã»ã³ã¹
GNUäžè¬å ¬è¡ã©ã€ã»ã³ã¹ ããŒãžã§ã³2
è²¢ç®
ææ¡ãã¢ã€ãã¢ãããã°ããã²ã€ã·ã¥ãŒããªãŒãã³ãããããªããžããªããã©ãŒã¯ããŠããŒãžãªã¯ãšã¹ããéä¿¡ããŠãã ããã
èè æ å ±
A role to install CheckMK RAW edition agent.
ansible-galaxy install kso512.checkmk_agent