Điều đầu tiên bạn kiểm tra khi một máy chủ unix chưa được xử lý bắt đầu trở nên điên loạn là gì?


10

Vì vậy, bạn có máy chủ unix thiết lập gọn gàng này và nó hoạt động rất nhanh và hoạt động tốt và mọi thứ đều tuyệt vời trong nhiều tháng, và đột nhiên tất cả các loại lỗi lạ bắt đầu xuất hiện cho nhiều dịch vụ khác nhau và không có ý nghĩa nào trong số chúng có ý nghĩa , ít hơn nhiều với nhau.

Những thứ rẻ tiền bạn nên kiểm tra ngay khi bạn nhận được phiên ssh của bạn vào máy là gì?

Tôi đặc biệt quan tâm đến những câu chuyện chấn thương làm nổi bật những mệnh lệnh không rõ ràng và những tình huống hiếm gặp, nhưng tôi đoán những gì rõ ràng thay đổi từ người này sang người khác, vì vậy chúng ta có thể liệt kê tất cả chúng một cách tự do.

Câu trả lời:


19

Thứ tự đầu tiên: Nó có đáp ứng không?

Nếu bạn không thể đăng nhập, sẽ có nhiều vấn đề lớn hơn xảy ra. Điều này thường có hai loại: lỗi phần cứng và lỗi phần mềm. Cả hai đều có khả năng thảm họa. Để ngăn ngừa lỗi DFA, trước tiên hãy kiểm tra tình trạng phần cứng chung - một cái nhìn lướt qua đơn giản thường sẽ đủ.

Thứ hai: Các cấu trúc cơ bản của hệ thống có sức khỏe và trật tự tốt không?

Kiểm tra "Bộ ba vàng" của các hệ thống:

  • Đủ thời gian CPU là miễn phí để xử lý
  • Đủ dung lượng đĩa trống để lưu trữ
  • Đủ bộ nhớ là miễn phí cho khối lượng công việc

Trong vài thập kỷ qua, bộ ba đã mở rộng thành một "bộ tứ" bao gồm thông tin liên lạc (kết nối mạng):

  • Kết nối là chức năng, đáp ứng và có năng lực

Lệnh thứ ba: mức độ nghiêm trọng của vấn đề là gì?

Những chương trình hoặc dịch vụ bị ảnh hưởng? Theo thứ tự mức độ nghiêm trọng giảm dần, nó có tính hệ thống (toàn hệ thống), phân cụm (một nhóm chương trình) hay bị cô lập (một chương trình cụ thể)? Các cụm chương trình thường bị vấp ngã vì một dịch vụ cơ bản cụ thể đã bị lỗi hoặc không phản hồi. Các vấn đề mang tính hệ thống đôi khi liên quan đến vấn đề này (nghĩ rằng xung đột DNS hoặc IP) nhưng biết nơi để tìm thường là chìa khóa.

Thứ tư: Các công cụ chẩn đoán cung cấp dữ liệu hữu ích có liên quan đến vấn đề không? Bây giờ bạn đã có thông tin về sức khỏe của hệ thống (đơn hàng thứ hai) và những phần nào của hệ thống đang gặp sự cố (đơn hàng thứ ba), điều này sẽ giúp bạn dễ dàng thu hẹp vấn đề ở đâu.

Thông báo lỗi hoặc tệp nhật ký nên là một điểm chung trong hành trình này.

Các vấn đề về CPU:

  • loadav
  • hàng đầu
  • bước đi

Không gian đĩa / vấn đề IO:

  • df
  • du
  • lsof
  • i điều hòa
  • vmstat

Vấn đề bộ nhớ:

  • miễn phí

Các vấn đề kết nối:

  • ping
  • tuyến đường (và arp và rarp và bạn bè)
  • iptables, ipchains, ipfw (dành cho những người BSD ngoài kia)
  • theo dõi hoặc mtr
  • máy chủ, nslookup hoặc đào
  • netstat

Khiếu nại phổ biến nhất (mà tôi nghe thấy):

Email không được gửi đủ nhanh (hơn một phút từ khi gửi đến nhận bởi người nhận) hoặc, email đang từ chối nỗ lực gửi của tôi. Điều này thường đi xuống bộ giới hạn tốc độ trong Postfix khởi động trong cơn bão spam, ảnh hưởng đến khả năng chấp nhận phân phối nội bộ.

Một ví dụ thực tế:

Tuy nhiên, đây không phải là luôn luôn như vậy. Một lần, vấn đề vẫn tồn tại bất kể dịch vụ khởi động lại; Vì vậy, sau 3 phút, đã đến lúc bắt đầu tìm kiếm xung quanh. CPU đã bận nhưng dưới 100%, nhưng tải đã tăng lên 15 trên một hộp chỉ có 2 lõi và đang đe dọa sẽ tăng cao hơn. Lệnh hàng đầu tiết lộ rằng hệ thống thư bị quá tải, cùng với trình quét thư, nhưng không có quy trình con nào được nhìn thấy. Đó là manh mối - lệnh xếp hàng thư (mailq) hiển thị hơn 150 thư chưa được gửi, hơn 80% trong số đó là thư rác, trong 20 phút cuối. Điều chỉnh nhanh để giảm bộ giới hạn tốc độ (giúp giảm tốc độ tiếp nhận của cơn bão thư rác) đồng thời tăng số lượng quy trình quét email con (để giúp xử lý tồn đọng), sau đó là khởi động lại dịch vụ, giải quyết vấn đề và hệ thống có thể để hoàn thành việc giao hàng trong một thời gian ngắn.

Nguyên nhân của vấn đề là do quá trình cha mẹ của amavis đã chết, và các quá trình con cuối cùng đã chạy hết tiến trình của chúng (chúng tự chấm dứt sau rất nhiều lần quét để tránh rò rỉ bộ nhớ). Vì vậy, đã có các quy trình SMTP trong postfix cố gắng liên hệ với ... không khí mỏng ... để thực hiện quét thư rác / vi-rút cần thiết. Bản phân phối tôi đang sử dụng có các gói lỗi thời sẽ không bao giờ được cập nhật; vì quá trình cài đặt sẽ được thay thế trong một năm hoặc lâu hơn, tôi đã tự "cài đặt" quá trình cài đặt lên phiên bản mới nhất, bao gồm một số sửa lỗi. Tôi đã không có vấn đề tương tự kể từ đó.


5

thường là "ai" theo sau là "cuối cùng"

hàng đống vấn đề trên máy móc mà tôi đã quản lý nhiều lần là do định nghĩa rất "lỏng lẻo" - thường thì ai đó đã làm gì đó :)


4

Vâng, tôi sẽ bắt đầu.

Điều này một lần cho tôi một lần, tôi đã dành hàng giờ để thử hàng ngàn thứ khác nhau, vô hiệu hóa các dịch vụ ở đây và đó, khởi động lại, v.v ... Vấn đề là gì? Hoàn toàn ra khỏi không gian đĩa.

Vì vậy, đây là điều đầu tiên tôi gõ khi gỡ lỗi một máy chủ gặp sự cố bất ngờ:

df -h

Tôi không bao giờ quên điều đó bây giờ. Nó chỉ giúp tôi tiết kiệm rất nhiều nỗ lực lãng phí. Tôi muốn chia sẻ.



1

Nếu bạn có thể, tôi sẽ luôn cố gắng tắt tất cả các thanh NIC, quản lý.


1

Kiểm tra dmesg xem có lỗi nào không - tôi thường bắt đầu bằng a dmesg | tail, vì rất có thể mọi thứ vẫn đang bị lỗi và máy chủ vẫn đang cố gắng làm bất cứ điều gì gây ra lỗi.


0

Điều đầu tiên tôi kiểm tra là 'trên cùng' (có bất kỳ quy trình lạ nào không; có quá trình xử lý bộ nhớ hoặc thời gian CPU.)

Nếu không có gì xuất hiện ở đó, tôi sẽ kiểm tra 'ai' để xem có ai khác đang ở trong máy của tôi không.

Có lẽ một hệ thống tập tin đã bị gỡ bỏ; kiểm tra với một cuộc gọi đến 'cat / etc / mtab' và sau đó 'fstab' để đảm bảo mọi thứ sẽ xuất hiện ngay khi khởi động.

Kiểm tra thời gian hoạt động để đảm bảo số người dùng trên hộp là hợp lý (chỉ nên là bạn) và sau đó lướt qua var / log / auth.log để xem có gì bất ổn ở đó không.

Đây là tất cả bắt. Tùy thuộc vào các lỗi mà hộp của bạn đang ném, bạn có thể cần kiểm tra các quy trình cụ thể gây ra sự cố.


0

top df -h và LUÔN LUÔN kiểm tra / var / log để đảm bảo rằng phân vùng chưa được lấp đầy. Điều đó đã gây ra sự tan chảy hoàn toàn cho tôi một vài lần.


0

df -ha

để kiểm tra xem ổ cứng đã đầy chưa và ai đó chưa nhận được cảnh báo

đỉnh hoặc đỉnh

để kiểm tra bộ nhớ và mức sử dụng cpu không cao bất thường.

Ngoài ra, nếu hộp không phản hồi, tôi vào máy khách vm-ware và kiểm tra cpu / ram từ đó.


0

Chạy một cái gì đó như (at) sar trên máy chủ là gần như bắt buộc. Tính hữu ích của việc có thể nhận được các ảnh chụp nhanh lịch sử của CPU, mạng, bộ nhớ và I / O của đĩa (trong số những thứ khác) không thể được đánh giá cao.

Đã nhiều lần tôi có thể chẩn đoán lỗi bằng cách kiểm tra những gì chủ nhà đã làm trong 24 giờ qua, và xem khi mọi thứ bắt đầu tồi tệ.


0

Trên linux, tôi thường kiểm tra dmesg và / var / log / message hoặc / var / log / syslog. dmesg sẽ cho biết nếu đó là một lỗi phần cứng đột ngột; khá nhiều vấn đề khác sẽ xuất hiện trong nhật ký hệ thống.


0

Tôi cho rằng điều đầu tiên tôi làm là kiểm tra dung lượng đĩa (như những người khác đã đề cập). Nếu kiểm tra đơn giản không tiết lộ vấn đề "phổ biến" thì tôi sẽ điều tra thêm.

Một điều tôi muốn làm là chụp một ảnh chụp nhanh của hệ thống. Tôi có thể grep những thứ này sau để tìm kiếm bất cứ thứ gì lọt vào mắt tôi.

lsof > /tmp/lsof.tmp &
ps auxfw > /tmp/ps.tmp &
netstat -anp > /tmp/netstat.tmp &

Từ đó, nó khắc phục sự cố 101 nhưng tôi thấy nhanh hơn một chút để grep các bản ghi đã lưu và nếu điều kiện xóa trong khi tôi đăng nhập, tôi có một cái gì đó để tiếp tục hoặc tìm kiếm các thay đổi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.