Làm thế nào để bạn theo kịp cấu hình Nagios / Capistrano khi sử dụng EC2?


11

Tôi sử dụng Amazon EC2 cho ứng dụng di động của mình. Tùy thuộc vào tải của ứng dụng tại một thời điểm nhất định, tôi có thể sinh ra các phiên bản mới và sau đó gỡ chúng xuống khi tải thấp hơn để tiết kiệm chi phí.

Làm thế nào để một người theo kịp cấu hình Nagios cho một môi trường năng động như vậy? Khi một giao dịch với phần cứng được quản lý, các tệp cấu hình có thể dự đoán được. Trong trường hợp này, Nagios, Capistrano và một loạt các tệp cấu hình khác sẽ cần phải được thêm vào. Capistrano cần biết nơi triển khai bản dựng mới cho máy chủ ứng dụng. Nagios cần biết để loại bỏ một thể hiện hiện có hoặc thêm một thể hiện mới để theo dõi. Nagios cũng cần phải biết nếu một nút bị cố tình gỡ xuống hoặc nếu máy chủ bị hỏng do lỗi.

Làm thế nào điều này được thực hiện với thế giới tuyệt vời của VPS / phiên bản động?

Câu trả lời:


9

Chúng tôi sử dụng một công cụ quản lý cấu hình (Chef trong trường hợp của chúng tôi) viết ra cấu hình Nagios từ thông tin nút.


1
Chắc chắn, sử dụng Puppet / Chef là một định sẵn. Nhưng mẹo ở đây là làm thế nào để cấu hình mỗi nút có thể quản lý được (ví dụ: không phải sao chép danh sách các nút trên cấu hình Puppet của máy chủ Nagios) và vẫn giúp máy chủ Nagios theo dõi các nút được thêm / xóa / thay đổi. Tôi chạm vào điểm này trong câu trả lời của tôi dưới đây.
Amos Shapira

3

Đã viết tập hợp các tập lệnh php nhỏ của riêng tôi, ghi các cấu hình nagios vào một tệp. Nagios rất dễ vì nó chỉ là một tệp văn bản nên tất cả những gì bạn cần làm là tạo một mẫu cho từng loại máy chủ. Sau đó, khi máy chủ bắt đầu thêm một tệp bằng cách sử dụng mẫu. Dữ liệu duy nhất thay đổi trong tệp là ip và tên máy chủ.

Đối với các máy chủ tĩnh hơn, tôi đã tạo một tập lệnh chạy ec2-describe-instancesvà tạo một tệp cho mỗi phiên bản được trả về. Mỗi phiên bản được đánh dấu bằng thẻ: Purpose = XXXX để tôi biết nên áp dụng mẫu nào.

Đối với các nhóm tự động điều chỉnh tỷ lệ, chúng tôi thiết lập thông báo bằng as-put-notification-configurationlệnh gửi tin nhắn đến hàng đợi SQS. Kịch bản php được thực thi bởi một crontab. Khi tập lệnh thực thi, nó sẽ kiểm tra hàng đợi cho bất kỳ máy chủ mới nào. Bất cứ khi nào nó tìm thấy một máy chủ mới, nó sẽ tạo một tệp mới. Điều tương tự xảy ra khi một máy chủ bị xóa. Có thể dễ dàng hơn để sử dụng Chef hoặc một cái gì đó nếu bạn đã sử dụng nó nhưng nếu bạn không phải là bạn có thể viết một dịch vụ php đơn giản như của tôi trong một vài ngày.


1

Chúng tôi sử dụng Opsview , đây là một trình bao bọc nagios + cơ sở dữ liệu + resti api khác. Tôi không biết liệu đây có phải là giải pháp tốt nhất cho mọi người (hoặc thậm chí chúng tôi) hay không nhưng nó cho phép chúng tôi tự động định cấu hình máy chủ Nagios thông qua API REST đơn giản từ nút (hoặc nút quản trị khác) khi xuất hiện và xóa nó khỏi cấu hình khi hoàn thành. Tôi sử dụng các định nghĩa về Mẫu máy chủ như là một phần của bảng kê khai rối của máy chủ Opsview (/ Nagios) và các máy chủ được giám sát chỉ cần đăng ký với nó và tham gia Mẫu máy chủ bên phải như một phần của bảng kê khai rối.

Một cách tiếp cận "chung chung" hơn, hoạt động với hầu hết mọi thứ ngay cả Nagios gốc và các tệp tĩnh của nó, là Cấu hình lưu trữ rối - điều này cho phép bạn tạo kịch bản nào đó để định cấu hình bất kỳ công cụ nào bạn muốn dựa trên thông tin mà con rối thu thập từ biểu hiện của nó.

Tôi đề nghị rằng vì mục đích pháp y, bạn không nên xóa hoàn toàn cấu hình của nút khi nó bị gỡ xuống mà hãy cố gắng lưu trữ nó và thông tin giám sát được thu thập về nó trong khi nó hoạt động.


1

Vài cách.

  • Sử dụng Mẫu Amazon EC2 được định cấu hình trước.

  • Sử dụng bảng kê rối với các mẫu được làm mờ.

  • Thiết lập VPN giữa mạng nagios của bạn và VM amazon của bạn. Sau đó, tất cả VM amazon của bạn sẽ có IP thống kê, thậm chí bạn có thể thiết lập DNS trên chúng. Chúng tôi có một nagios chạy và giám sát tất cả các trường hợp amazon của chúng tôi. Chúng tôi thậm chí không cần một ip đàn hồi. Chúng tôi sử dụng openvpn để ra VPN.

  • Xây dựng Nagios nghe lệnh bên ngoài và cập nhật cấu hình phù hợp. Cuối cùng, máy móc có thể đăng ký, hủy đăng ký, tạm dừng, tự tiếp tục chúng trên Nagios.


0

Tôi không có viên đạn bạc để giải quyết vấn đề này với nagios. Nhưng đối với capistrano có capify-ec2 , một phần mở rộng cho capistrano giúp giải quyết các danh sách vai trò máy chủ bằng cách sử dụng khả năng gắn thẻ amazon.

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.