Tin tức và phân tích của tất cả các thiết bị di động

Cách bắt đầu sử dụng Checkmk

Giám sát cơ sở hạ tầng CNTT rất phức tạp, nhưng một công cụ như Checkmk sẽ giúp việc này trở nên dễ dàng.

Nhiều tổ chức đã thêm các công nghệ gốc trên đám mây vào kho công nghệ của họ để tăng hiệu suất cho các sản phẩm của họ. Đồng thời, họ vẫn thường điều hành các mạng và cơ sở hạ tầng cục bộ của riêng mình. Quá trình chuyển đổi sang cơ sở hạ tầng kết hợp phải được xem xét trong quá trình giám sát do số lượng chỉ số khổng lồ được tạo ra mỗi giây cho các thành phần khác nhau như hệ điều hành, bộ lưu trữ, máy chủ, môi trường đám mây, v.v. Tất cả những điều này đều quan trọng để đảm bảo hiệu suất ứng dụng tối đa.

Các số liệu này là một tín hiệu cần thiết để các nhóm DevOps hiểu được tình trạng của cơ sở hạ tầng của họ. Đó là lý do tại sao các tổ chức cần một giải pháp giám sát giúp họ nhanh chóng xác định các vấn đề sản xuất thông qua các số liệu, trực quan hóa và phân tích. Checkmk là một trong những công cụ giám sát cơ sở hạ tầng phổ biến và hữu ích nhất hiện có. Trong bài viết này, tôi sẽ cho bạn biết lý do tại sao Checkmk xứng đáng có được danh tiếng tốt và cách bạn có thể thực hiện những bước đầu tiên với nó.

Checkmk là gì?

Checkmk liên tục xác thực mọi khía cạnh của môi trường CNTT hiện đại và đặc biệt phù hợp với cơ sở hạ tầng lai. Một mặt, Checkmk linh hoạt và hỗ trợ các bộ chứa, tài nguyên đám mây và các hệ thống tại chỗ như bộ chuyển mạch và máy chủ. Mặt khác, việc bắt đầu và quản lý giám sát thực sự dễ dàng vì Checkmk bao gồm các cảnh báo tự động dựa trên kiến ​​thức CNTT tuyệt vời và các tính năng thông minh khác sẽ giúp bạn tiết kiệm rất nhiều thời gian.

Nếu bạn muốn sử dụng Checkmk miễn phí, bạn có hai tùy chọn: Đầu tiên, bạn có thể chọn Checkmk Raw Edition, hoàn toàn là mã nguồn mở và miễn phí mà không có bất kỳ giới hạn nào. Thứ hai, có Checkmk Enterprise Trial có tất cả các tính năng bổ sung của Checkmk Enterprise Editions nhưng sau 30 ngày, số lượng máy chủ sẽ bị giới hạn ở 25.

Checkmk giải quyết vấn đề như thế nào?

Checkmk có thể giám sát các ứng dụng, máy chủ, cơ sở dữ liệu, mạng, vùng chứa, bộ lưu trữ, v.v. Nó đi kèm với một danh sách khổng lồ gồm hơn 2000 plugin giám sát. Với các plugin này. Checkmk có thể được mở rộng để giám sát các công nghệ cụ thể từ các nhà cung cấp khác nhau có sẵn trên thị trường. Một số plugin Checkmk phổ biến dành cho Docker, Kubernetes, Cisco, Nginx, VMware, Linux, Windows, AWS, Dell. Với hơn 2.000 plugin, Checkmk nổi bật như một giải pháp giám sát cơ sở hạ tầng rất hứa hẹn hiện nay.

Ngoài ra, đối với bất kỳ giải pháp giám sát nào, điều quan trọng là họ có thể đọc các chỉ số cũng như thiết lập thông báo và cảnh báo thông minh nhanh chóng và chính xác như thế nào. Checkmk đáp ứng tất cả các tiêu chí này. Nhờ tính năng tự động phát hiện, Checkmk có thể xác định hơn 90% dịch vụ và thiết bị. Ngày nay, hầu hết các doanh nghiệp đều yêu cầu khả năng mở rộng và tự động hóa. Bạn có thể dễ dàng mở rộng quy mô hiệu suất giám sát của mình từ hàng trăm máy chủ lên hàng nghìn máy chủ với Checkmk và tận dụng các tác nhân có sẵn của nó để tự động hóa.

Cài đặt Checkmk trong bộ chứa Docker

Trong bài viết này, tôi sẽ cài đặt Checkmk Raw Edition trong bộ chứa Docker trên máy chủ Linux chạy trên Ubuntu 20.04. Từ Dockerhub, bạn có thể tải xuống Checkmk Docker Container. Cho đến nay, gần như 5 triệu nét, cho thấy mức độ phổ biến và được sử dụng rộng rãi của Checkmk.

Lấy hình ảnh Docker với phiên bản Checkmk mới nhất và chạy nó trong vùng chứa bằng lệnh chạy vùng chứa docker.

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

Tên của vùng chứa sẽ là “giám sát”, máy chủ web sẽ lắng nghe trên cổng 5000 và sẽ mở trên nút cổng 8080. Vùng chứa sẽ sử dụng hệ thống tệp tạm thời và múi giờ địa phương.

[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

Bạn có thể xác minh rằng hình ảnh Docker đã được tải xuống bằng cách chạy lệnh hình ảnh docker.

[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

Chạy lệnh docker ps để xác minh rằng bộ chứa Checkmk đang chạy.

[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

Để lấy thông tin đăng nhập giao diện web Checkmk, hãy in nhật ký bộ chứa 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

Bộ chứa Checkmk Docker sẽ chạy theo mặc định tại https://localhost:8080/cmk/check_mk. Đầu ra của lệnh trên cho biết tên người dùng là cmkadmin và mật khẩu, trong trường hợp của tôi, mật khẩu là ClFxBPre. Mở địa chỉ trong trình duyệt web và sử dụng thông tin đăng nhập của bạn để đăng nhập.

Sau khi đăng nhập, “Bảng điều khiển chính” sẽ xuất hiện. Nó trống vì bạn chưa thêm bất kỳ máy chủ nào.

Theo dõi Docker với Checkmk

Thông thường, bạn cài đặt tác nhân Checkmk trên máy có chứa bộ chứa Docker, sau đó sử dụng plugin Checkmk cho Docker để giám sát tất cả các bộ chứa. Plugin này (mk_docker.py) sử dụng Python-API của Docker để theo dõi các bộ chứa Docker và có được khả năng hiển thị đầy đủ về trạng thái và hiệu suất thời gian thực của chúng. Bạn có thể đọc thêm chi tiết về Giám sát Docker với Checkmk trên trang Checkmk.

Vì chỉ có một bộ chứa Docker chạy trong môi trường Docker của tôi, bộ chứa Checkmk Docker của tôi, tôi sẽ chỉ sử dụng tác nhân Checkmk chạy trong bộ chứa Docker và không cài đặt Checkmk trên máy chủ Docker của tôi. Tác nhân được cài đặt sẵn trong bộ chứa Checkmk, vì vậy tôi chỉ cần thêm bộ chứa Checkmk của mình làm máy chủ lưu trữ.

Hãy lấy địa chỉ IP nơi dịch vụ Docker đang chạy bằng ifconfig trên thiết bị đầu cuối.

[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

Trong trường hợp của tôi, dịch vụ Docker đang chạy trên 172.17.0.1. Bước tiếp theo là thêm dịch vụ Docker làm máy chủ lưu trữ trong Checkmk để có thể theo dõi dịch vụ này.

  • Truy cập Checkmk và nhấp vào Cài đặt -> Máy chủ lưu trữ.

  • Bây giờ hãy nhập tên máy chủ và địa chỉ IP, sau đó nhấp vào “Lưu và chuyển đến cấu hình dịch vụ”.

  • Khi bạn làm điều đó, Checkmk sẽ tự động chạy khám phá dịch vụ.

Cuộn xuống để xem các dịch vụ giám sát đang chạy trên máy chủ Docker. Bạn có thể thấy rằng các dịch vụ hiện không được giám sát. Nếu bạn muốn theo dõi mọi thứ, giải pháp đơn giản nhất là nhấp vào “Fix All”. Nếu bạn muốn định cấu hình dịch vụ nào sẽ được giám sát, bạn cũng có thể thực hiện điều đó một cách chi tiết. Nhấn vào dấu + nếu bạn muốn theo dõi dịch vụ.

Khi bạn đã chọn các dịch vụ mà bạn muốn giám sát, chúng sẽ xuất hiện trong tab “Dịch vụ được giám sát”. Bạn sẽ nhận được tất cả các chi tiết trạng thái cho từng dịch vụ được giám sát. nếu bạn nhấp vào? đánh dấu, dịch vụ sẽ được chuyển đến danh sách các dịch vụ chưa quyết định. Nếu bạn nhấp vào X, dịch vụ sẽ chuyển đến tab “Dịch vụ bị vô hiệu hóa”.

Tôi đã tắt bốn dịch vụ, vì vậy tôi có thể thấy chúng trong tab tắt dịch vụ.

Khi bạn đã hoàn tất việc thêm dịch vụ, bạn sẽ cần kích hoạt các thay đổi trước khi chúng được đưa vào sản xuất.

  • Nhấp vào hộp được đánh dấu bằng dấu chấm than màu vàng (!) ở góc trên bên phải để xem các thay đổi đang chờ xử lý.
  • Nhấp vào Kích hoạt trên các trang đã chọn.

Bạn đã theo dõi thành công các dịch vụ Docker với Checkmk!

Đăng kí

Đó là về Checkmk, một công cụ giám sát cơ sở hạ tầng. Nó là một công cụ rất dễ sử dụng mà bạn phải cố gắng theo dõi trong môi trường sản xuất của mình. Tôi khuyên bạn nên dùng thử Checkmk Free Edition để bắt đầu theo dõi.

Mục lục