2014-11-04 23 views
5

Có điều gì ngoài đó để theo dõi cài đặt SaltStack bên cạnh halite không? Tôi đã cài đặt nó nhưng nó không thực sự là những gì chúng tôi đang tìm kiếm.Giám sát SaltStack

Sẽ rất tuyệt nếu chúng tôi có thể có một web gui hoặc thậm chí một email hàng ngày cho thấy trạng thái của tất cả các tay sai. Tôi khá tiện dụng với kịch bản nhưng tôi không biết phải viết kịch bản gì.

Bất kỳ ai có ý tưởng nào?

+0

Có lẽ plugin Nagios này là những gì bạn đang tìm kiếm: https://github.com/jryberg/nagios-plugins/tree/master/check_salt-minion – Dirk

Trả lời

1

Bạn có thể nhìn vào consul trong khi nó không phải dành riêng cho SaltStack, tôi sử dụng nó để theo dõi chủ nhân muối và muối đó đang chạy trên máy chủ mà họ cần.

Một thử nghiệm đơn giản sẽ là để chạy một cái gì đó như:

salt --output=json '*' test.ping 

Và so sánh giữa chạy khác nhau. Nó không phải là tuyệt vời giám sát, nhưng ít nhất cho thấy tay sai của bạn đang lên và giao tiếp với chủ của bạn.

0

Tôi phải tự viết. Theo hiểu biết của tôi, không có gì ngoài đó sẽ làm điều này, và halite đã không làm việc cho những gì tôi cần.

Nếu bạn biết Python, khá dễ dàng để viết một ứng dụng để theo dõi muối. Ví dụ, ứng dụng của tôi có một chuỗi làm mới danh sách các máy chủ từ các khóa muối theo thời gian, và một vài luồng chạy các lệnh khác nhau đối với danh sách đó để xác minh chúng đã hoạt động. Các chủ đề màn hình cập nhật một từ điển với dấu thời gian và thành công/thất bại cho mỗi máy chủ sau khi chúng chạy. Nó có mã màu hiển thị HTML bị tấn công cùng nhau để phản ánh trạng thái của mỗi nút. Đã cho tôi một nửa ngày để viết nó.

Nếu bạn không muốn sử dụng Python, bạn có thể, làm đau đớn, làm điều gì đó tương tự như lỗi không hiệu quả, nhanh chóng, chưa được kiểm tra này bằng cách sử dụng các công cụ dòng lệnh trong bash.

minion_list=$(salt-key --out=txt|grep '^minions_pre:.*'|tr ',' ' ') # You' 
for minion in ${minion_list}; do 
    salt "${minion}" test.ping 
    if [ $? -ne 0 ]; then 
     echo "${minion} is down." 
    fi 
done 

Sẽ dễ dàng sửa đổi để viết tệp hoặc gửi cảnh báo.

2

Không phải là câu trả lời tuyệt đối, nhưng chúng tôi đang phát triển saltpad, đó là sự thay thế và cải thiện halite. Một trong những tính năng của nó là để hiển thị trạng thái của tất cả các tay sai của bạn. Bạn có thể cung cấp cho nó một thử: Saltpad Project page on Github

5

Trong trường hợp bằng cách giám sát bạn có nghĩa là hành muối, bạn có thể thử một trong các cách sau:

Những GUI này sẽ cho phép bạn không chỉ biết được liệu các tay sai có còn sống hay không. Chúng sẽ cho phép bạn hoạt động trên chúng giống như cách bạn có thể làm với khách hàng muối.

Và trong trường hợp bằng cách giám sát bạn có nghĩa là chỉ xem tổng thể muối và muối tay sai đang lên và chạy, bạn có thể sử dụng một giải pháp giám sát có mục đích chung như:

Trong thực tế, những công cụ này có thể giám sát khác nhau dịch vụ trên host họ biết về. Người dẫn chương trình thể được bất kỳ máy tính mà có ip địa chỉ và dịch vụ thể được bất kỳ nguồn có thể được truy vấn thông qua hệ điều hành cơ bản. Ví dụ về chủ có thể là một máy chủ, router, máy in ... Và ví dụ về dịch vụ có thể bộ nhớ, đĩa, một quá trình, ...

1

Một lựa chọn khác có thể sử dụng salt.runners.manage chức năng, mà đi kèm với hàm status.

Để in tình trạng của tất cả các tay sai muối nổi tiếng, bạn có thể chạy trên tổng thể muối của bạn:

salt-run manage.status 
salt-run manage.status tgt="webservers" expr_form="nodegroup" 
0

halit được khấu hao ủng hộ phiên bản trả tiền ui, buồn, nhưng là sự thật - vẫn saltstack hiện việc làm. Tôi chỉ đoán việc giám sát tốt nhất của bạn sẽ là một trong những bạn có thể tự viết, hạnh phúc có một dự án muối-api (mà tôi tin là một phần của halite, không chắc chắn về điều này), tôi khuyên bạn nên sử dụng cái này với tornado as it's better than cherry version .

Vì vậy, nếu bạn muốn giao diện đẹp, bạn có thể muốn làm việc với api khi bạn thiết lập ...khi thiết lập lốc xoáy đảm bảo rằng bạn ok với xác thực (tôi đã có một số rắc rối tại đây), dưới đây là cách bạn có thể kiểm tra xem nó:

Sử dụng Postman/Curl/bất cứ điều gì:

kiểm tra nếu api là còn sống : - không có dữ liệu đường bưu điện (chỉ xem nếu api là còn sống) - nhận yêu cầu http://masterip:8000/

đăng nhập (bạn sẽ cần phải thực hiện dấu hiệu trở về từ đây để làm hầu hết các hoạt động): - đường bưu điện đến http://masterip:8000/login - (x -www-form-urlencoded data in postman), raw:
username: yourusername
mật khẩu: yourpassword
eauth: pam

  • im sử dụng pam vì vậy tôi có một người dùng với yourusername và yourpassword gia tăng đối với máy chủ tổng thể của tôi (như một người dùng bình thường, đó là cách pam của lao động)

lấy tay sai, http://masterip:8000/minions (bạn sẽ cần phải đăng token từ hoạt động đăng nhập),

nhận được tất cả công việc, http://masterip:8000/jobs (bạn sẽ cần phải đăng n token từ hoạt động đăng nhập),

Vì vậy, về cơ bản nếu bạn muốn làm bất cứ điều gì với giám sát saltstack chỉ chơi với muối-api & được những gì bạn muốn Saltstack có định dạng đầu ra để bạn có thể lấy tất cả dữ liệu ngay cả khi json (nếu giao diện của bạn là javascript) - nó cho phép bạn chạy cmd hoặc bất cứ thứ gì bạn muốn và giám sát được để lại cho bạn (trừ khi bạn chuyển từ cộng đồng sang phiên bản chuyên nghiệp)) hoặc trừ khi bạn muốn sử dụng saltpad đã đề cập (trong đó, xin lỗi các bạn, đã được cập nhật lần cuối một năm trước theo repo).

btw. bạn có thể cần phải thay đổi cổng 8000 đó thành một thứ khác tùy thuộc vào phiên bản của saltstack/tornado/config.