การตรวจสอบทำได้ง่าย: วิธีเริ่มต้นกับ Checkmk

เผยแพร่แล้ว: 2021-11-24

การตรวจสอบโครงสร้างพื้นฐานไอทีนั้นซับซ้อน แต่เครื่องมืออย่าง Checkmk ทำให้ง่ายขึ้น

หลายองค์กรได้เพิ่มเทคโนโลยี cloud-native ลงในกลุ่มเทคโนโลยีเพื่อปรับปรุงประสิทธิภาพของผลิตภัณฑ์ ในเวลาเดียวกัน พวกเขามักจะใช้เครือข่ายของตนเองและโครงสร้างพื้นฐานภายในองค์กรต่อไป การเปลี่ยนแปลงไปสู่โครงสร้างพื้นฐานแบบไฮบริดจำเป็นต้องได้รับการแก้ไขในการตรวจสอบเนื่องจากมีการสร้างตัวชี้วัดจำนวนมากทุกวินาทีสำหรับส่วนประกอบต่างๆ เช่น ระบบปฏิบัติการ พื้นที่เก็บข้อมูล เซิร์ฟเวอร์ สภาพแวดล้อมคลาวด์ ฯลฯ ทั้งหมดนี้มีความสำคัญเพื่อให้แน่ใจว่าแอปพลิเคชันทำงานที่จุดสูงสุด ประสิทธิภาพ.

ตัวชี้วัดเหล่านี้เป็นสัญญาณที่จำเป็นสำหรับทีม DevOps ในการทำความเข้าใจความสมบูรณ์ของโครงสร้างพื้นฐาน นี่คือเหตุผลที่องค์กรต้องการโซลูชันการตรวจสอบเพื่อช่วยให้ระบุปัญหาในการผลิตได้อย่างรวดเร็วด้วยเมตริก การแสดงภาพ และการวิเคราะห์ Checkmk เป็นหนึ่งในเครื่องมือตรวจสอบโครงสร้างพื้นฐานที่ได้รับความนิยมและมีประโยชน์มากที่สุด ในบทความนี้ ฉันจะบอกคุณว่าเหตุใด Checkmk จึงสมควรได้รับชื่อเสียงที่ดีและคุณสามารถดำเนินการตามขั้นตอนแรกได้อย่างไร

Checkmk คืออะไร?

Checkmk ตรวจสอบการทำงานของสภาพแวดล้อมไอทีสมัยใหม่ในทุกแง่มุม และเหมาะอย่างยิ่งสำหรับโครงสร้างพื้นฐานแบบไฮบริด ในแง่หนึ่ง Checkmk มีความยืดหยุ่นและรองรับคอนเทนเนอร์ สินทรัพย์บนคลาวด์ และระบบในองค์กร เช่น สวิตช์และเซิร์ฟเวอร์ ในทางกลับกัน มันง่ายมากที่จะเริ่มต้นและจัดการการตรวจสอบของคุณ เนื่องจาก Checkmk มาพร้อมกับการแจ้งเตือนอัตโนมัติตามความเชี่ยวชาญด้านไอทีจำนวนมากและคุณสมบัติอัจฉริยะอื่นๆ ที่จะช่วยคุณประหยัดเวลาได้มาก

หากคุณต้องการใช้ Checkmk ฟรี คุณมีสองตัวเลือก: อันดับแรก คุณสามารถไปที่ Checkmk Raw Edition ซึ่งเป็นโอเพ่นซอร์สทั้งหมดและใช้งานได้ฟรีโดยไม่มีข้อจำกัดใดๆ ประการที่สอง มี Checkmk Enterprise Trial Edition ที่มีคุณสมบัติเพิ่มเติมทั้งหมดของ Checkmk Enterprise Editions แต่หลังจาก 30 วัน จำนวนโฮสต์จะถูกจำกัดที่ 25

Checkmk แก้ปัญหาอย่างไร?

Checkmk สามารถตรวจสอบแอปพลิเคชัน เซิร์ฟเวอร์ ฐานข้อมูล เครือข่าย คอนเทนเนอร์ พื้นที่เก็บข้อมูล และอื่นๆ มีรายการปลั๊กอินการตรวจสอบมากกว่า 2,000 รายการ ด้วยปลั๊กอินเหล่านี้ Checkmk สามารถขยายเพื่อตรวจสอบเทคโนโลยีเฉพาะจากผู้จำหน่ายต่างๆ ที่มีอยู่ในตลาด ปลั๊กอิน Checkmk ยอดนิยมบางตัวมีไว้สำหรับ Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell ด้วยปลั๊กอินมากกว่า 2,000 รายการ Checkmk จึงเป็นโซลูชันการตรวจสอบโครงสร้างพื้นฐานที่มีแนวโน้มว่าจะมีอยู่ในปัจจุบัน

นอกจากนี้ สำหรับโซลูชันการตรวจสอบใดๆ จำเป็นอย่างยิ่งที่จะต้องอ่านเมตริกและตั้งค่าการแจ้งเตือนและการแจ้งเตือนอัจฉริยะได้อย่างรวดเร็วและถูกต้อง โซลูชันของ Checkmk ตรงตามเกณฑ์เหล่านี้ทั้งหมด ด้วยคุณสมบัติการค้นหาอัตโนมัติ Checkmk สามารถระบุบริการและอุปกรณ์ได้มากกว่า 90% ปัจจุบัน ธุรกิจส่วนใหญ่ต้องการความสามารถในการปรับขนาดและระบบอัตโนมัติ คุณสามารถปรับขนาดความสามารถในการตรวจสอบจากโฮสต์หลายร้อยโฮสต์เป็นโฮสต์หลายพันโฮสต์ได้อย่างง่ายดายใน Checkmk และใช้ประโยชน์จากตัวแทนที่พร้อมใช้งานสำหรับการทำงานอัตโนมัติ

ติดตั้ง Checkmk ในคอนเทนเนอร์ Docker

ในบทความนี้ ฉันจะติดตั้ง Checkmk Raw Edition ในคอนเทนเนอร์ Docker บนเซิร์ฟเวอร์ Linux ที่ทำงานบน Ubuntu 20.04 จาก Dockerhub คุณสามารถดาวน์โหลดคอนเทนเนอร์ Checkmk Docker จนถึงปัจจุบันมีการดึงเกือบ 5 ล้านครั้ง ซึ่งบอกได้ว่า Checkmk เป็นที่นิยมและใช้กันอย่างแพร่หลายมากเพียงใด

checkmk dockerhub

นำอิมเมจ Docker ด้วย Checkmk เวอร์ชันล่าสุดและเรียกใช้ภายในคอนเทนเนอร์โดยใช้คำสั่ง docker container run

 docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v monitoring:/omd/sites --name monitoring -v /etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest

ชื่อของคอนเทนเนอร์จะเป็น 'การตรวจสอบ' เว็บเซิร์ฟเวอร์จะรับฟังพอร์ต 5000 และเปิดที่พอร์ต 8080 ของโหนด คอนเทนเนอร์จะใช้ระบบไฟล์ชั่วคราวและเขตเวลาท้องถิ่น

 [email protected]:~$ sudo docker container run -dit -p 8080:5000 --tmpfs /opt/omd/sites/cmk/tmp:uid=1000,gid=1000 -v/omd/sites --name monitoring -v/etc/localtime:/etc/localtime:ro --restart always checkmk/check-mk-raw:2.0.0-latest Unable to find image 'checkmk/check-mk-raw:2.0.0-latest' locally 2.0.0-latest: Pulling from checkmk/check-mk-raw 33847f680f63: Pull complete 474905f2790b: Pull complete 1804f0e63047: Pull complete f36fe6334464: Pull complete 03c68dfa69cf: Pull complete b60cfdb78e96: Pull complete Digest: sha256:7788fa2e31c7270be201d75285c13ccc7a74f67f991872ea63ba0cfa6708cac6 Status: Downloaded newer image for checkmk/check-mk-raw:2.0.0-latest 9729e323a840a08b0e758cfa9e6dbf76ba5dab4b2ecc4eea5174b8ee1a5cfbcf

คุณสามารถตรวจสอบว่าได้ดาวน์โหลดอิมเมจ Docker หรือไม่โดยเรียกใช้คำสั่ง docker images

 [email protected]:~$ sudo docker images REPOSITORY TAG IMAGE ID CREATED SIZE bitnami/node-exporter latest ba0f519ca49b 34 hours ago 104MB checkmk/check-mk-raw 2.0.0-latest 097319702432 13 days ago 1.03GB hello-world latest feb5d9fea6a5 7 weeks ago 13.3kB

รันคำสั่ง docker docker ps เพื่อดูว่าคอนเทนเนอร์ Checkmk กำลังทำงานอยู่หรือไม่

 [email protected]:~$ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 9729e323a840 checkmk/check-mk-raw:2.0.0-latest "/docker-entrypoint.…" About a minute ago Up 59 seconds (health: starting) 6557/tcp, 0.0.0.0:8080->5000/tcp, :::8080->5000/tcp monitoring 3d3a95ed3c25 bitnami/node-exporter:latest "/opt/bitnami/node-e…" 25 hours ago Up 25 hours 9100/tcp node-exporter

ในการรับรายละเอียดการเข้าสู่ระบบสำหรับเว็บอินเตอร์เฟสของ Checkmk ให้พิมพ์บันทึกคอนเทนเนอร์ของ Checkmk

 [email protected]:~$ sudo docker container logs 9729e323a840 ### CREATING SITE 'cmk' Adding /opt/omd/sites/cmk/tmp to /etc/fstab. Going to set TMPFS to off. Temporary filesystem already mounted Updating core configuration... Generating configuration for core (type nagios)...Precompiling host checks...OK OK Executing post-create script "01_create-sample-config.py"...OK Created new site cmk with version 2.0.0p15.cre. The site can be started with omd start cmk. The default web UI is available at http://9729e323a840/cmk/ The admin user for the web applications is cmkadmin with password: ClFxBPre For command line administration of the site, log in with 'omd su cmk'. After logging in, you can change the password for cmkadmin with 'htpasswd etc/htpasswd cmkadmin'. ### STARTING XINETD [ ok ] Starting internet superserver: xinetd. ### STARTING SITE Temporary filesystem already mounted Starting mkeventd...OK Starting rrdcached...OK Starting npcd...OK Starting nagios...OK Starting apache...OK Starting redis...OK Initializing Crontab...OK ### STARTING CRON ### CONTAINER STARTED

คอนเทนเนอร์ Checkmk Docker จะทำงานโดยค่าเริ่มต้นที่ https://localhost:8080/cmk/check_mk ผลลัพธ์ของคำสั่งดังกล่าวจะบอกคุณว่าชื่อผู้ใช้คือ cmkadmin และรหัสผ่าน ในกรณีของฉัน รหัสผ่านคือ ClFxBPre เปิดที่อยู่ในเว็บเบราว์เซอร์และใช้ข้อมูลประจำตัวของคุณเพื่อเข้าสู่ระบบ

checkmk เข้าสู่ระบบ

เมื่อคุณเข้าสู่ระบบ นี่คือ 'แดชบอร์ดหลัก' ที่จะปรากฏขึ้น ว่างเปล่าเนื่องจากคุณยังไม่ได้เพิ่มโฮสต์ใดๆ

แดชบอร์ด checkmk

ตรวจสอบนักเทียบท่าโดยใช้ Checkmk

โดยปกติ คุณจะต้องติดตั้งเอเจนต์ Checkmk บนเครื่องของคุณที่โฮสต์คอนเทนเนอร์ Docker ของคุณ จากนั้นใช้ปลั๊กอิน Checkmk สำหรับ Docker เพื่อตรวจสอบคอนเทนเนอร์ทั้งหมด ปลั๊กอินนี้ (mk_docker.py) ใช้ Python-API ของ Docker เพื่อติดตามคอนเทนเนอร์ Docker และมองเห็นสถานะและประสิทธิภาพแบบเรียลไทม์ได้อย่างเต็มที่ คุณสามารถอ่านรายละเอียดเพิ่มเติมเกี่ยวกับการตรวจสอบ Docker ด้วย Checkmk ได้จากเว็บไซต์ Checkmk

เนื่องจากในสภาพแวดล้อม Docker ของฉันมีคอนเทนเนอร์ Docker เพียงตัวเดียวที่ทำงานอยู่ คอนเทนเนอร์ Checkmk Docker ของฉัน ฉันจะใช้เอเจนต์ Checkmk ที่ทำงานในคอนเทนเนอร์ Docker และจะไม่ติดตั้ง Checkmk บนโฮสต์ Docker ของฉัน เอเจนต์ได้รับการติดตั้งไว้ล่วงหน้าในคอนเทนเนอร์ Checkmk ดังนั้นฉันจึงต้องเพิ่มคอนเทนเนอร์ Checkmk เป็นโฮสต์

มารับที่อยู่ IP ที่บริการ Docker ทำงานโดยใช้ ifconfig บนเทอร์มินัล

 [email protected]:~$ ifconfig docker0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255 inet6 fe80::42:59ff:fe8a:8ba8 prefixlen 64 scopeid 0x20<link> ether 02:42:59:8a:8b:a8 txqueuelen 0 (Ethernet) RX packets 5559 bytes 7230215 (7.2 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4164 bytes 614703 (614.7 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.108 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::144a:4682:35e7:bb2 prefixlen 64 scopeid 0x20<link> ether 08:00:27:91:82:82 txqueuelen 1000 (Ethernet) RX packets 699491 bytes 1044235622 (1.0 GB) RX errors 0 dropped 7 overruns 0 frame 0 TX packets 101260 bytes 7555470 (7.5 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1000 (Local Loopback) RX packets 20655 bytes 8446042 (8.4 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 20655 bytes 8446042 (8.4 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 veth44ba5ce: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::145f:1fff:fee9:a7b0 prefixlen 64 scopeid 0x20<link> ether 16:5f:1f:e9:a7:b0 txqueuelen 0 (Ethernet) RX packets 5559 bytes 7308041 (7.3 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 4173 bytes 616263 (616.2 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 vetha82ee43: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet6 fe80::585c:6fff:fe0a:a79b prefixlen 64 scopeid 0x20<link> ether 5a:5c:6f:0a:a7:9b txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 92 bytes 9799 (9.7 KB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

ในกรณีของฉัน บริการ Docker ทำงานบน 172.17.0.1 ขั้นตอนต่อไปคือการเพิ่มบริการ Docker เป็นโฮสต์ใน Checkmk เพื่อให้สามารถตรวจสอบได้

  • ไปที่ Checkmk และคลิกที่ Setup -> Hosts

โฮสต์ checkmk

  • คลิกที่ "เพิ่มโฮสต์"

checkmk เพิ่มโฮสต์

  • ระบุชื่อโฮสต์และที่อยู่ IP แล้วคลิก 'บันทึก & ไปที่การกำหนดค่าบริการ'

นักเทียบท่าโฮสต์ checkmk

  • เมื่อคุณทำเช่นนั้น Checkmk จะเริ่มการค้นหาบริการโดยอัตโนมัติ

บริการนักเทียบท่า checkmk

เลื่อนลงเพื่อดูบริการตรวจสอบที่ทำงานภายใต้โฮสต์ Docker คุณสามารถเห็นว่าบริการไม่ได้รับการตรวจสอบในขณะนี้ หากคุณต้องการตรวจสอบทุกอย่าง วิธีที่ง่ายที่สุดคือคลิกที่ 'แก้ไขทั้งหมด' หากคุณต้องการกำหนดค่าบริการที่ควรตรวจสอบ คุณสามารถทำได้โดยละเอียดเช่นกัน คลิกที่เครื่องหมาย + หากคุณต้องการตรวจสอบบริการ

รายการบริการนักเทียบท่า checkmk

เมื่อคุณเลือกบริการที่คุณต้องการตรวจสอบ บริการเหล่านั้นจะมาในแท็บ 'บริการที่ได้รับการตรวจสอบ' คุณจะได้รับรายละเอียดสถานะทั้งหมดสำหรับแต่ละบริการที่คุณกำลังตรวจสอบ หากคุณคลิกที่ ? ลงชื่อ บริการนั้นจะย้ายไปที่รายการบริการที่ยังไม่ได้ตัดสินใจ หากคุณคลิกที่เครื่องหมาย X บริการจะย้ายไปที่แท็บ 'บริการที่ปิดใช้งาน'

บริการตรวจสอบ checkmk

ฉันได้ปิดใช้งานบริการสี่รายการ ดังนั้นฉันจึงสามารถเห็นบริการเหล่านั้นในแท็บปิดใช้งานบริการ

checkmk ปิดการใช้งานบริการ

เมื่อคุณเพิ่มบริการเสร็จแล้ว คุณต้องเปิดใช้งานการเปลี่ยนแปลงก่อนที่จะเข้าสู่การใช้งานจริง

  • คลิกที่ช่องที่ไฮไลต์ด้วยเครื่องหมายอัศเจรีย์สีเหลือง (!) ที่มุมบนขวาเพื่อดูการเปลี่ยนแปลงที่รอดำเนินการ
  • คลิก เปิดใช้งานบนไซต์ที่เลือก

คุณตรวจสอบบริการ Docker สำเร็จโดยใช้ Checkmk!

บทสรุป

นั่นคือทั้งหมดที่เกี่ยวกับ Checkmk ซึ่งเป็นเครื่องมือตรวจสอบโครงสร้างพื้นฐาน เป็นเครื่องมือที่ใช้งานง่ายมากซึ่งคุณต้องพยายามตรวจสอบสภาพแวดล้อมการผลิตของคุณ ฉันแนะนำให้ลองใช้ Checkmk Free Edition เพื่อเริ่มการตรวจสอบของคุณ