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ừ xa và Top-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.d
cá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 API
tí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.conf
và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.d
vì 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/global
và 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.