Giám sát các máy đang chạy hề điều hành linux bằng check_mk như thế nào? Hướng dẫn này tôi sẽ giúp các bạn tìm hiểu về cách cài đặt agent trên máy để check_mk server có thể giao tiếp và giám sát được máy chạy hệ điều hành linux.
Hướng dẫn này sẽ giúp bạn có thể tìm được agent phù hợp với máy tính của mình để có thể giúp check_mk server bắt đầu giám sát hệ thống của bạn. Nếu bạn chưa biết cách cài đặt một check_mk server ra sao hãy đọc bài hướng dẫn cài đặt check_mk trên centos 7
Mô hình
Thông số VM
Host nameIPRAMCPUDISKcheck_mk192.168.80.2221G120Gclient192.168.80.2251G120GCác bước thực hiện với client centos 7
1 Tìm agent phù hợp
Trên các website của check_mk server khi bạn cài đặt và đăng nhập vào nó sẽ hỗ trợ và hiển thị cho bạn các agent 3 loại agent. Việc của bạn là chọn agent phù hợp với hệ điều hành của mình. Ở đây tôi cài đặt agent trên centos 7 nên tôi sẽ chọn agent có đuôi là .rpm để tiến hành cài đặt
NOTE: Các bước dưới đây tất cả đều được thực hiện trên client mà bạn muốn được giám sát. Và các command line được chạy dưới quyền user sudo hoặc user root
2. Cài đặt gói wget
yum install wget -y
3. Dùng gói wget download agent đã chọn ở bước trên
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
4. Cấp quyền thực thi cho file vừa download về
chmod +x check-mk-agent-1.5.0p12-1.noarch.rpm
5. Cài đặt agent
rpm -ivh check-mk-agent-1.5.0p12-1.noarch.rpm
6. Cài đặt xinetd
yum install xinetd -y
7. Khởi động xinetd
systemctl start xinetd
systemctl enable xinetd
8. Cài đặt gói net-tools để kiểm tra dễ dàng hơn
yum install net-tools -y
9. Mở port trên client để có thể giao tiếp với check_mk server
vi /etc/xinetd.d/check_mk
Sửa các thông số sau
only_from = 192.168.80.222
disable = 0
port = 6556
10. Kiểm tra port mặc định của check_mk sử dụng để giám sát được chưa
[root@client ~]# netstat -npl | grep 6556
tcp6 0 0 :::6556 :::* LISTEN 1/systemd
11. Mở port trên firewall
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
012. Tắt selinux
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
1Các bước thực hiện với client ubuntu server 14.04
NOTE: Các bước dưới đây tất cả đều được thực hiện trên client mà bạn muốn được giám sát. Và các command line được chạy dưới quyền user sudo hoặc user root
1 Bước đầu tiên này ta sẽ đi tìm agent phù hợp giống như với centos 7 và tôi sẽ chọn agent có đuôi .deb đối với máy có hệ đều hành ubuntu
2. Sử dụng wget để download agent
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
23. Cấp quyền thực thi cho file vừa download
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
34. Cài đặt agent bằng command line
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
45. Cài đặt xinetd
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
56. Chỉnh sửa file
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
6Sửa các thông số như sau
only_from = 192.168.80.222
disable = 0
port = 6556
7. Khởi động lại dịch vụ xinetd
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
88. Kiểm tra port đã hoạt động hay chưa
wget //192.168.80.222/monitoring/check_mk/agents/check-mk-agent-1.5.0p12-1.noarch.rpm
99. Mở port trên firewall
chmod +x check-mk-agent-1.5.0p12-1.noarch.rpm
0Vậy là các bước để cài đặt một agent đã xong vậy thì làm thể nào để có thể thêm được một host vào trong cấu hình của check_mk server để nó được giám sát thì mời các bạn đến với bài hướng dẫn thêm host vào check_mk server
- Chế độ thông báo: hiển thị các thông tin về tham số hoạt động của các thiết bị mạng đã được cài đặt và cấu hình.
Cú pháp: ifconfig [interface]
- Chế độ cấu hình:
Cú pháp: ifconfig interface [aftype] options | address …
Chú ý: trong trường hợp thay đổi địa chị card mạng bằng lệnh ifconfig thì khi khởi động lại máy hay khi khởi động lại dịch vụ mạng, địa chỉ card mạng sẽ được gán lại theo các thông số được khai báo trong tập tin cấu hình giao tiếp mạng. [trong thu mục /etc/sysconfig/network-scripts]
Vd: lệnh sau đây sẽ gán địa chỉ ip 192.168.1.56 cho giao tiếp mạng thứ hai [eth1] và kích hoạt card mạng này
# ifconfig eth1 192.168.1.56 netmask 255.255.255.0 up
Để tắt giao tiếp card mạng eth0, ta thực hiện
# ifconfig eth0 down
Để cấu hình cho card mạng eth0 sử dụng ngắt 9 cổng 310, ta thi hành lệnh:
# ifconfig eth0 irq 9 io_addr 0x310
*Script khởi động giao tiếp mạng
Các hệ thống linux đều có 1 thư mục /etc/sysconfig/ chứa đựng các tập tin cấu hình để khởi động mạng một cách tự động
Nội dung cơ bản của script này bao gồm các khai báo sau:
DEVICE=name Tên giao tiếp mạng
IPADDR=address Địa chỉ ip
NETMASK=mask Netmask của giao tiếp địa chỉ ip
GATEWAY=ip_address Địa chỉ gateway mà card mạng ket noi
ONBOOT=yes|no onboot= yes thì mỗi lần dịch vụ mạng khởi động, giao tiếp mạng sẽ được kích hoạt và ngược lại
BOOTPROTO=static|dhcp BOOTPROTO=static, giao tiếp mạng nhận ip, netmask của script. Nếu BOOTPROTO=dhcp thì giao tiếp mạng nhập ip từ dhcp server
Vd: một khai báo cho giao tiếp mạng đầu tiên, trong script của nó:
DEVICE=
IPADDR=
NETMASK=
GATEWAY=
ONBOOT=
BOOTPROTO=
*Khai báo nhiều ip cho 1 card mạng
Cú pháp:
# ifconfig interfacename:clonename
Vd:
# ifconfig eth0:0 192.168.1.2
# ifconfig eth0:1 192.168.1.200
- Định tuyến
*Default Gateway
Để chỉ ra default gateway, ta mở tập tin /etc/sysconfig/network và bổ sung thêm dòng.
GATEWAY=ip_address
Ta cũng có thể khai báo Default Gateway trong tập tin script khởi động giao tiếp mạng.
*Chuyển tiếp gói tin – ip forwarding
Trong trường hợp hệ thống ta có 2 card mạng trở lên ta cần bật chức năng chuyễn tiếp gói tin để các gói tin có thể được chuyển tiếp giữa các card mạng [mặc định hệ thống kh bật chức năng này]. Thi hành một trong các cách sau để bật chức năng này:
Thi hành lệnh sau để bật chức năng:
echo 1 > /proc/sys/net/ipv4/ip_forward
Khai báo trong tập tin /etc/sysctl.conf mục từ sau [để có hiệu lực mỗi khi khởi động lại máy]
net.ipv4.ip_forward=1
*Định tuyến – routing
Để thiết lập đường dẫn tĩnh ta sử dụng lệnh route, hay khai báo trong tập tin /etc/sysconfig/static-routes. Việc thực hiện dẫn đường rất quan trọng trong trường hợp máy tính đóng vai trò là default gateway
Để xem bảng định tuyến ta sữ dụng lệnh route không tham số.
Dùng cú pháp lệnh sau để ta thêm hay delete trong bảng định tuyến.
Route add [-net|-host] target [netmask Nm] [gw Gw]
Routedel[-net|-host] target [netmask Nm] [gw Gw]
Trong đó:
add bổ sung thêm tuyến đường vào bảng định tuyến
delxóa tuyến đường vào bảng định tuyến
-net khai báo định tuyến tới mạng đích
-host khai báo định tuyến tới máy đích
target là địa chỉ của mạng hay máy cần thực hiện định tuyến
netmask Nm khai báo netmask của mạng[target]/máy cần thực hiện định tuyến
gw Gw Ip của Gateway thực hiện xử lý chuyển tiếp các gói tin.
Vd: để thêm một đường dẫn chỉ ra các gói tin được chuyển đến mạng 192.168.10.0/24 sẽ đi qua gateway 172.16.10.1, ta thực hiện lệnh sau:
# route add –net 192.16.10.0 netmask 255.255.255.0 gw 172.16.10.1
Script quản lý các route là /etc/sysconfig/static-routes, mỗi dòng trong nó chứa một khai báo tuyến đường tĩnh với định dạng như sau:
Device net network netmask netmask gw gateway.
Chú ý: divice có thể là any, khi đó nó đại diện cho all các giao tiếp mạng
- Một số tiện ích theo dõi mạng và đăng nhập từ xa.
*ping: sử dụng giao thức ICMP, lệnh ping liên tục gởi 1 gói tin ICMP tới máy đích. Muốn dừng ta nhấn Ctrl+C.
Cú pháp: ping host [host – là địa chỉ ip hay tên máy]
*traceroute: Cho biết đường đi tới máy tính có thông hay không.
Cú pháp: traceroute host [host – là địa chỉ ip hay tên máy]
*netstat: là tập hợp của nhiều công cụ được kết hợp lại với nhau, cung cấp thông tin theo thời gian thực về trạng thái của các kết nối mạng.
Cú pháp:
netstat [options]
Các lựa chọn:
-t Hiển thị các thông tin các kết nối TCP socket
-u Hiển thị các thông tin các kết nối UCP socket
-i Hiển thị các thông tin tất cả các giao tiếp mạng
-a Hiển thị thông tin các kết nối của tất cả các internet socket
-r Hiển thị bảng dẫn đường
-n Không thực hiện chuyển đổi địa chỉ ip thành tên
-c Thực hiện cập nhật liên tục trạng thái.
Ví dụ:
*tcpdump: Nó có thể theo dõi tất cả các gói tin được gửi broadcast trên mạng.
Cú pháp:
tcpdump [options]
Các lựa chọn:
-i if Chỉ thu thập các giao tác đi qua giao tiếp mạng if. Nếu kh có option này, lệnh tcpdump sẽ lắng nghe trên all các giao tiếp mạng
host host Chỉ thực hiện thu thập các giao tác liên quan đến máy tính có ip/tên là host
net net Chỉ thực hiện thu thập các giao tác liên quan đến mạng có địa chỉ net
port port Chỉ thực hiện thu thập các giao tác được thực hiện trên cổng port
-t Không in ra nhãn thời gian tại mỗi dòng của kết quả xuất
-n Kh thực hiện chuyển đổi dc máy thành tên ở kết quả xuất
-N Kh thực hiện xuất ra tên miền đầy đủ của các tên máy.
Vd:
*Đăng nhập từ xa: Trên RH linux hổ trợ 2 chương trình [telnet và ssh] cho phép đăng nhập từ xa vào một máy khác để thi hành lệnh trên máy từ xa đó.