Làm cách nào để thiết lập máy khách từ xa Icinga2 mà không cần sử dụng thuật sĩ CLI?


11

Tôi muốn thiết lập các máy khách từ xa Icinga2 thông qua Puppet, nhưng toàn bộ trang tài liệu chính thức nói về việc sử dụng trình hướng dẫn CLI tuyệt vời của chúng , đòi hỏi phải được chạy thủ công.

Bất kỳ cách giải quyết? Có lẽ tôi nên quay lại Nagios?


Các tài liệu bạn liên kết để chỉ tham chiếu một thiết lập GUI cho Windows. Đây có phải là những gì bạn đang hỏi về?
Keith

1
docs.ratinga.org/ratinga2/latest/doc/module/ratinga2/ch CHƯƠNG / ' ... trong đó các tài liệu mới nhất có một phần dành riêng cho câu hỏi này.
TryTryAgain

1
Cập nhật: Tài liệu được chuyển đến vị trí mới của icinga.com/docs/ratinga2/latest/doc/06-distribution-monitoring/ Kẻ
Věroš K.

Câu trả lời:


16

Tôi gặp vấn đề tương tự. Đây là những gì tôi sử dụng, sau khi trích xuất logic từ mã trình hướng dẫn nút icinga2.

Các biến bạn sẽ cần:

$pki_dir - /etc/icinga2/pki in the default installation
$fqdn - fully host+domain name of the client.
$icinga2_master - resolvable fqdn of the master
$icinga2_master_port - the port the master is connectable on.
$ticket - generated on the master via 'icinga2 pki ticket --cn $fqdn'

Mật mã:

mkdir icinga:icinga 0700 $pki_dir
icinga2 pki new-cert --cn $fqdn --key $pki_dir/$fqdn.key --cert $pki_dir/$fqdn.crt
icinga2 pki save-cert --key $pki_dir/$fqdn.key --cert $pki_dir/$fqdn.crt --trustedcert $pki_dir/trusted-master.crt --host $icinga2_master
icinga2 pki request --host $icinga2_master --port $icinga2_master_port --ticket $ticket --key $pki_dir/$fqdn.key --cert $pki_dir/$fqdn.crt --trustedcert $pki_dir/trusted-master.crt --ca $pki_dir/ca.key
icinga2 node setup --ticket $ticket --endpoint $icinga2_master --zone $fqdn --master_host $icinga2_master --trustedcert $pki_dir/trusted-master.crt
systemctl restart icinga2  # or however you restart your icinga

1

Nó giống như TryTryAgain đã viết. Các tài liệu mới nhất mô tả hai cách khác nhau. Top-Down Thực hiện lệnh từ xaTop-Down Config Sync

Sự khác biệt của phương pháp này là việc thực thi lệnh từ xa sẽ kích hoạt tất cả các lệnh từ master trong khi đồng bộ hóa cấu hình sẽ đồng bộ hóa tất cả các tệp cấu hình được đặt trong /etc/icinga2/zones.dcác nút con (satelites cũng như client) và kích hoạt thực thi lệnh trực tiếp trên điểm cuối.

Tôi thích sử dụng phương pháp Đồng bộ hóa cấu hình từ trên xuống vì máy khách sẽ chạy kiểm tra ngay cả khi chủ mất kết nối với trẻ.

Bạn phải kích hoạt APItính năng này trên tất cả các nút.

# /etc/icinga2/features-enabled/api.conf

object ApiListener "api" {
  cert_path = "/etc/ssl/{{ hostname }}.pem"
  key_path = "/etc/ssl/{{ hostname }}-key.pem"
  ca_path = "/etc/ssl/rootca.pem"

  // only on satelites and clients
  accept_config = true
}

Bây giờ tạo một tệp vùng và sao chép nó vào tất cả các nút

# /etc/icinga2/zones.conf

// global zone used for zone overlapping configs
object Zone "global" {
  global = true
}

// endpoints
object Endpoint "fqdn1.of.host" {
  host = "fqdn1.of.host"
}

object Endpoint "fqdn2.of.host" {
  host = "fqdn2.of.host"
}

// for each endpoint one zone
object Zone "fqdn1.of.host" {
  endpoints = [ "fqdn1.of.host" ]
}

object Zone "fqdn2.of.host" {
  endpoints = [ "fqdn2.of.host" ]
  parent = "fqdn1.of.host"
}

thực hành tốt nhất là sử dụng fqdn của các nút của bạn làm tên điểm cuối cũng như tên vùng. Ghi nhớ : sao chép này zones.confvào tất cả các nút.

Bước tiếp theo sẽ là xác định tất cả các dịch vụ, mẫu và nhóm bên trong /etc/icinga2/zones.d/và mỗi máy chủ lưu trữ trong thư mục riêng của nó.

# /etc/icinga2/zones.d/global/templates.conf

template Host "generic-host" {
  max_check_attempts = 3                                                                                                                     
  check_interval = 1m 
  retry_interval = 30s

  check_command = "hostalive"
}

# /etc/icinga2/zones.d/fqdn1.of.host/hosts.conf

// this is the master
object Host "fqdn1.of.host" {
  import "generic-host"
  address = "fqdn1.of.host"
}

# /etc/icinga2/zones.d/fqdn2.of.host/hosts.conf

// this is a satelite/client
object Host "fqdn2.of.host" {
  import "generic-host"
  address = "fqdn2.of.host"
}

Cách tiếp cận của tôi là ngăn chặn việc sử dụng các cấu hình bên trong /etc/icinga2/conf.dvì tôi đã thêm tất cả nội dung chung (và được sử dụng toàn cầu) vào /etc/icinga2/zones.d/globalvà nội dung cụ thể của máy chủ lưu trữ bên trong/etc/icinga2/zones.d/fqdnX.of.host

Cuối cùng nhưng không kém phần quan trọng, bạn phải xóa câu lệnh bao gồm cho conf.d

# /etc/icinga2/icinga2.conf

[...]
// include_recursive "conf.d"

Đó là nó. Thiết lập này yêu cầu quản lý chứng chỉ của bạn theo cách thủ công hoặc với quản lý cấu hình bạn chọn. Nó sẽ không tạo ra nó và không sử dụng icinga pki. Không thấy bất kỳ lý do tại sao tôi nên sử dụng một công cụ pki cụ thể miễn là có các công cụ cụ thể cho việc này.

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.