การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE รุ่นต้นแบบของลูกค้าที่มีความปลอดภัยมากขึ้นสำหรับเหตุผลต่างๆ นอกจากนี้ยังอนุญาตให้มีการตรวจสอบแบบกระจายมากขึ้นโดยอนุญาตให้ตรวจสอบแก้ไขบนเซิร์ฟเวอร์เครื่องหนึ่งและเผยแพร่ต่อผู้อื่น นอกจากนี้ยังให้ตำแหน่งส่วนกลางสำหรับการเปลี่ยนแปลง

ตัวอย่างเช่นสมมติว่าคุณมีเว็บเซิร์ฟเวอร์ที่สมดุลโหลดแตกต่างกัน 4 รายการ หากคุณรู้ว่าคุณกำลังจะมีโหลดเพิ่มขึ้น (อาจจะขายหรือบางอย่างที่คุณคาดหวังว่าจะมีกิจกรรมมากมาย) คุณอาจต้องการเพิ่มระดับการใช้งาน CPU สูงเตือนผู้ดูแลระบบ หากคุณใช้การตรวจสอบ NRPE คุณจะต้องเข้าสู่เซิร์ฟเวอร์แต่ละเครื่องและแก้ไข/etc/nrpe.d/common_commands.cfgเอกสารในแต่ละรายการ ในโมเดลต้นแบบไคลเอ็นต์คุณสามารถแก้ไขนิยามโฮสต์ของพวกเขาใน/etc/icinga2/repository.d/hosts/โฟลเดอร์จากนั้นโหลด Icinga อีกครั้ง การตรวจสอบจะแพร่กระจายไปยังแต่ละเซิร์ฟเวอร์และจะรับโดยอัตโนมัติ นอกจากนี้คุณยังสามารถเพิ่มการตรวจสอบได้ง่ายมากโดยการปรับเปลี่ยน/etc/icinga2/repository.d/services/ไฟล์และพวกมันจะทำการเผยแพร่และรับรู้โดยอัตโนมัติตราบใดที่ปลั๊กอินมีอยู่บนเซิร์ฟเวอร์ไคลเอ็นต์

ข้อกำหนดเบื้องต้น

  • อินสแตนซ์เซิร์ฟเวอร์กับ Icinga2 และ Icingaweb2 ติดตั้งไว้แล้วและกำหนดค่า ( คำแนะนำ ) icinga2master.example.comที่มีชื่อว่า
  • Vultr CentOS เช่น 6 หรือ 7 icinga2client.example.comเซิร์ฟเวอร์สดที่คุณต้องการในการตรวจสอบชื่อ
  • เข้าถึง Sudo

คำแนะนำบางส่วนนี้จะสะท้อนถึงคำแนะนำในการติดตั้งที่ระบุไว้ด้านบน แต่ต้องทำบนเครื่องไคลเอนต์ไม่ใช่เครื่องเซิร์ฟเวอร์

ขั้นตอนที่ 1: อัปเดตระบบ

เพิ่ม repo "ICINGA" ลงในระบบไคลเอ็นต์เพื่อติดตั้งแพ็คเกจ Icinga

sudo cat > /etc/yum.repos.d/ICINGA-release.repo << 'EOF'
[icinga-stable-release]
name=ICINGA (stable release for epel)
baseurl=http://packages.icinga.org/epel/$releasever/release/
enabled=1
gpgcheck=1
gpgkey=http://packages.icinga.org/icinga.key
EOF

ขั้นตอนที่ 2: ติดตั้งแพ็คเกจที่จำเป็น

ติดตั้งแพ็คเกจที่ต้องการ

# CentOS 6
sudo yum -y install icinga2 mysql-server mysql icinga2-ido-mysql nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-ssh nagios-plugins-users nagios-plugins-swap nagios-plugins-ping icingacli

# CentOS 7
sudo yum -y install icinga2 mariadb-server mysql icinga2-ido-mysql nagios-plugins-disk nagios-plugins-load nagios-plugins-procs nagios-plugins-ssh nagios-plugins-users nagios-plugins-swap nagios-plugins-ping icingacli

CentOS 7 ใช้ MariaDB แทน MySQL ดังนั้นแพ็คเกจที่จำเป็นแตกต่างกันเล็กน้อย เริ่มบริการและตั้งค่าให้เริ่มต้นเมื่อบูต

sudo chkconfig icinga2 on
sudo service icinga2 start

ตั้งค่าบริการ MySQL ให้เริ่มการบู๊ตและเริ่มทันทีเพื่อให้เราสามารถรักษาความปลอดภัยได้

# CentOS 6
sudo chkconfig mysqld on
sudo service mysqld start

#CentOS 7
sudo systemctl enable mariadb.service
sudo systemctl start mariadb.service

รักษาความปลอดภัยการติดตั้ง MySQL / MariaDB ทั้ง CentOS 6 และ 7 ใช้คำสั่งเดียวกัน

sudo mysql_secure_installation

ระหว่างกระบวนการให้ตอบคำถามตามที่แสดง:

Enter current password for root (enter for none): Enter
Set root password? [Y/n]: Y
New password: $newRootPassword
Re-enter new password: $newRootPassword
Remove anonymous users? [Y/n]: Y
Disallow root login remotely? [Y/n]: Y
Remove test database and access to it? [Y/n]: Y
Reload privilege tables now? [Y/n]: Y

จดบันทึก$newRootPasswordว่าคุณจะต้องใช้หลาย ๆ ครั้งและมันเจ็บปวดที่จะรีเซ็ต

ขั้นตอนที่ 3: ตั้งค่าฐานข้อมูล

คุณต้องสร้างicingaชื่อผู้ใช้และนำเข้าสคีมาลงในฐานข้อมูล นี่เป็นวิธีเดียวกันกับ CentOS 6 และ 7

sudo mysql -u root -p
>CREATE DATABASE icinga;
>GRANT SELECT, INSERT, UPDATE, DELETE, DROP, CREATE VIEW, INDEX, EXECUTE ON icinga.* TO 'icinga'@'localhost' IDENTIFIED BY '$someIcingaPassword'; 
>exit

จากนั้นนำเข้าสคีมาลงในฐานข้อมูลที่คุณเพิ่งสร้างขึ้น

sudo mysql -u root -p icinga < /usr/share/icinga2-ido-mysql/schema/mysql.sql

คุณจะต้องป้อน$newRootPasswordรหัสผ่าน MySQL / MariaDB ที่คุณใช้ระหว่างmysql_secure_installationคำสั่งด้านบนไม่ใช่รหัสที่$someIcingaPasswordคุณเพิ่งสร้างขึ้น - ซึ่งจะใช้ในภายหลัง

เปิดใช้งานidoโมดูล (ฐานข้อมูล)

sudo icinga2 feature enable ido-mysql

คุณจะต้องแก้ไข/etc/icinga2/features-enabled/ido-mysql.confไฟล์เพื่อเพิ่มข้อมูลฐานข้อมูล คุณสามารถทำได้ด้วยคำสั่งดังต่อไปนี้

sudo vi /etc/icinga2/features-enabled/ido-mysql.conf

ในไฟล์นั้นค้นหาบรรทัดที่ใส่เครื่องหมายคอมเม้นต์ (เริ่มต้นด้วย//)

//user = "icinga"
//password = "icinga"
//host = "localhost"
//database = "icinga"

... และแก้ไขโดยใช้ชื่อผู้ใช้ / รหัสผ่านที่คุณเพิ่งสร้างขึ้น

user = "icinga"
password = "$someIcingaPassword"
host = "localhost"
database = "icinga"

ตรวจสอบให้แน่ใจว่าคุณไม่ใส่เครื่องหมายขีดในบรรทัดโดยลบเครื่องหมายสแลชสองตัวแรก

ถัดไปเริ่มบริการใหม่เพื่อรับการเปลี่ยนแปลง

sudo service icinga2 restart

คุณจะต้องเพิ่มการเชื่อมต่อระหว่างไคลเอนต์เซิร์ฟเวอร์และต้นแบบ Icinga2 ที่ได้รับการกำหนดค่าแล้ว คุณจะต้องทำเช่นนั้นโดยใช้ Firewalld บน CentOS 7 หรือ IPTables ใน CentOS 6 หรือ 7

# CentOS 6
sudo vi /etc/sysconfig/iptables
...
-A INPUT -p tcp -m state --state NEW -m tcp --dport 5665 -j ACCEPT
...
#Icinga2 Master
-A OUTPUT -p tcp -m state --state NEW -m tcp --dport 5665 -j ACCEPT

sudo iptables restart

# CentOS 7    
sudo firewall-cmd --add-port=5665/tcp --permanent
sudo firewall-cmd --reload

ตอนนี้แก้ไขไฟล์โฮสต์เพื่อเพิ่มต้นแบบเป็นชื่อโดเมนท้องถิ่น

sudo vi /etc/hosts
...
$masterIP  icinga2master icinga2master.example.com

ขั้นตอนที่ 4: เริ่มต้นต้นแบบ

ขั้นตอนนี้จะต้องทำในต้นแบบ Icinga2 คุณจะต้องเริ่มต้นมันเป็นหลักจากนั้นสร้างคำขอลงนามใบรับรองที่ลูกค้าของคุณจะใช้ในการสื่อสาร

sudo icinga2 node wizard

สิ่งนี้จะรันตัวช่วยสร้างโหนดซึ่งจะถามคำถามหลายข้อ หน้าจอจะมีลักษณะดังต่อไปนี้และคำตอบที่คุณจะระบุไว้นั้น

Welcome to the Icinga 2 Setup Wizard!

We'll guide you through all required configuration details.

Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: n
Starting the Master setup routine...
Please specify the common name (CN) [icinga2-master1.localdomain]: icinga2master.example.com
Checking for existing certificates for common name 'icinga2master.example.com'...
Certificates not yet generated. Running 'api setup' now.
information/cli: Generating new CA.
information/base: Writing private key to '/var/lib/icinga2/ca/ca.key'.
information/base: Writing X509 certificate to '/var/lib/icinga2/ca/ca.crt'.
information/cli: Generating new CSR in '/etc/icinga2/pki/icinga2master.example.com.csr'.
information/base: Writing private key to '/etc/icinga2/pki/icinga2master.example.com.key'.
information/base: Writing certificate signing request to '/etc/icinga2/pki/icinga2master.example.com.csr'.
information/cli: Signing CSR with CA and writing certificate to '/etc/icinga2/pki/icinga2master.example.com.crt'.
information/cli: Copying CA certificate to '/etc/icinga2/pki/ca.crt'.
Generating master configuration for Icinga 2.
information/cli: Adding new ApiUser 'root' in '/etc/icinga2/conf.d/api-users.conf'.
information/cli: Enabling the 'api' feature.
Enabling feature api. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
Please specify the API bind host/port (optional):
Bind Host []: <hit enter>
Bind Port []: <hit enter>
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.

Now restart your Icinga 2 daemon to finish the installation!

จากนั้นรีสตาร์ท Icinga2 เพื่อรับการเปลี่ยนแปลง

sudo service icinga2 restart

ตอนนี้มันเป็นมาสเตอร์แล้วคุณสามารถใช้มันเพื่อสร้างสตริงคำขอเซ็นชื่อใบรับรอง

sudo icinga2 pki ticket --cn icinga2client.example.com

$pkiStringคุณจะได้รับสตริง คัดลอกสตริงนั้นตามที่คุณต้องการบนไคลเอนต์

ขั้นตอนที่ 5: เริ่มต้นไคลเอนต์

รันตัวช่วยสร้างโหนดเพื่อสร้างใบรับรองและเชื่อมต่อกับต้นแบบ

sudo icinga2 node wizard

มันจะเกิดขึ้นกับหน้าคล้ายกับข้างต้น หน้านี้แสดงไว้ด้านล่างพร้อมคำตอบ

Welcome to the Icinga 2 Setup Wizard!

We'll guide you through all required configuration details.



Please specify if this is a satellite setup ('n' installs a master setup) [Y/n]: Y
Starting the Node setup routine...
Please specify the common name (CN) [icinga2client.example.com]:
Please specify the master endpoint(s) this node should connect to:
Master Common Name (CN from your master setup): icinga2master.example.com
Do you want to establish a connection to the master from this node? [Y/n]: Y
Please fill out the master connection information:
Master endpoint host (Your master's IP address or FQDN): icinga2master.example.com
Master endpoint port [5665]: 5665
Add more master endpoints? [y/N]: N
Please specify the master connection for CSR auto-signing (defaults to master endpoint host):
Host [icinga2master.example.com]: icinga2master.example.com
Port [5665]: 5665
information/cli: Created backup file '/etc/icinga2/pki/icinga2client.example.com.key.orig'.
information/cli: Created backup file '/etc/icinga2/pki/icinga2client.example.com.crt.orig'.
information/base: Writing private key to '/etc/icinga2/pki/icinga2client.example.com.key'.
information/base: Writing X509 certificate to '/etc/icinga2/pki/icinga2client.example.com.crt'.
information/cli: Fetching public certificate from master (icinga2master.example.com, 5665):

Certificate information:

 Subject:     CN = icinga2master.example.com
 Issuer:      CN = Icinga CA
 Valid From:  Jan 10 21:08:37 2017 GMT
 Valid Until: Jan  7 21:08:37 2032 GMT
 Fingerprint: FE 72 AB F3 18 A5 12 E0 0C 5D 94 8B 96 C4 57 3B 00 5C E0 04

Is this information correct? [y/N]: Y
information/cli: Received trusted master certificate.

Please specify the request ticket generated on your Icinga 2 master.
 (Hint: # icinga2 pki ticket --cn 'icinga2client.example.com'): $pkiString

information/cli: Requesting certificate with ticket '$pkiString'.

warning/cli: Backup file '/etc/icinga2/pki/icinga2client.example.com.crt.orig' already exists. Skipping backup.
information/cli: Writing signed certificate to file '/etc/icinga2/pki/icinga2client.example.com.crt'.
information/cli: Writing CA certificate to file '/etc/icinga2/pki/ca.crt'.
Please specify the API bind host/port (optional):
Bind Host []: <enter key>
Bind Port []: <enter key>
Accept config from master? [y/N]: Y
Accept commands from master? [y/N]: Y
information/cli: Disabling the Notification feature.
Disabling feature notification. Make sure to restart Icinga 2 for these changes to take effect.
information/cli: Enabling the Apilistener feature.
warning/cli: Feature 'api' already enabled.
information/cli: Created backup file '/etc/icinga2/features-available/api.conf.orig'.
information/cli: Generating local zones.conf.
information/cli: Dumping config items to file '/etc/icinga2/zones.conf'.
information/cli: Created backup file '/etc/icinga2/zones.conf.orig'.
information/cli: Updating constants.conf.
information/cli: Created backup file '/etc/icinga2/constants.conf.orig'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
information/cli: Updating constants file '/etc/icinga2/constants.conf'.
Done.

Now restart your Icinga 2 daemon to finish the installation!

ไปข้างหน้าและรีสตาร์ท Icinga2 เพื่อรับการเปลี่ยนแปลง

sudo icinga2 restart

สิ่งนี้อาจเสร็จสิ้นแล้ว แต่คุณต้องแน่ใจว่าเปิดใช้งานคุณลักษณะคำสั่งและ API

sudo icinga2 feature enable command
sudo icinga2 feature enable api

หากพวกเขาไม่ได้เปิดใช้งานมันจะบอกว่า "เปิดใช้งานคุณสมบัติ" ดังนั้นคุณจะต้องเริ่มต้น Icinga2 daemon ใหม่ แต่ก่อนอื่นคุณต้องเปลี่ยนความเป็นเจ้าของไฟล์ใน/etc/icinga2ไดเรกทอรีเนื่องจากบางไฟล์มีสิทธิ์ผิดหลังจากเรียกใช้ตัวช่วยสร้างโหนด icingaพวกเขาทุกคนควรจะมีการใช้และกลุ่มชุดของพวกเขาไป เปลี่ยนสิทธิ์โดยใช้คำสั่งต่อไปนี้:

sudo chown -R icinga:icinga /etc/icinga2/

ตอนนี้คุณสามารถรีสตาร์ท Icinga2 daemon ได้

sudo service icinga2 restart

ขั้นตอนที่ 6: กำหนดค่าไคลเอนต์

การกำหนดค่าไคลเอนต์ต้องแก้ไขไฟล์ต่าง ๆ

  • /etc/icinga2/zones.conf: มีจุดสิ้นสุด (เซิร์ฟเวอร์) และโซนที่มีอยู่ นี่คือวิธีการแบ่งพาร์ติชันเซิร์ฟเวอร์ ตรวจสอบให้แน่ใจว่าชื่อลูกค้าตรงกับชื่อเซิร์ฟเวอร์
  • /etc/icinga2/icinga2.conf: คุณยอมรับคำสั่งและกำหนดค่าจากต้นแบบดังนั้นคุณต้องแก้ไขเล็กน้อยในไฟล์นี้เพื่อหลีกเลี่ยงคำสั่งที่ซ้ำซ้อน

อันดับแรกเราจะแก้ไขzones.confไฟล์เพื่อกำหนดเซิร์ฟเวอร์และโซนที่อยู่ในนั้นรวมถึงการสร้างโซน "ส่วนกลาง" สำหรับคำสั่งที่เป็นสากลสำหรับเซิร์ฟเวอร์ทั้งหมดแทนที่จะเป็นเอกลักษณ์ของแต่ละรายการ (เช่นการตรวจสอบดิสก์) .

sudo vi /etc/icinga2/zones.conf

object Zone clientZone { 
        endpoints = [ "icinga2master.example.com" ]
}

object Zone "global-templates" { # Add global templates zone
        global = true
}

object Endpoint NodeName {
        host = "$icinga2clientIP" 
}

object Zone ZoneName {
        endpoints = [ NodeName ]
        parent = clientZone
} 

สิ่งสำคัญคือต้องรู้ว่ามีเพียง 2 โหนดต่อโซนในขณะนี้ คุณสามารถสร้างโซนได้มากเท่าที่คุณต้องการ แต่หากมีมากกว่า 2 โหนดต่อโซนอาจมีโอกาสที่บริการ Icinga2 จะทำงานไม่ถูกต้อง นี่ไม่ใช่ปัญหาบนไคลเอนต์เว้นแต่ว่าคุณมี 2 โหนดในโซนclientZoneซึ่งในกรณีนี้คุณจะต้องตั้งชื่อโซนอื่น

ตอนนี้ทำการแก้ไขใน/etc/icinga2/icinga2.confไฟล์ include_recursive "conf.d"คุณจะต้องแสดงความคิดเห็นออกบรรทัด

sudo vi /etc/icinga2/icinga2.conf
...
//include_recursive "conf.d"
...

ตรวจสอบการกำหนดค่าเพื่อให้แน่ใจว่าทุกอย่างถูกจัดรูปแบบอย่างถูกต้อง

sudo icinga2 daemon -C

root:rootหากคุณได้รับปัญหาสิทธิ์เป็นไปได้เนื่องจากรายการเป็นเจ้าของโดย รู้จักที่icinga:icingaจะแก้ไข

sudo chown -R icinga:icinga /etc/icinga2/

มีปัญหาอื่น ๆ เกี่ยวกับการกำหนดค่าโดยทั่วไปข้อมูลที่ได้จากเอาท์พุทของsudo icinga2 daemon -Cคำสั่งจะละเอียดเพียงพอที่จะติดตามพวกเขา การกล่าวถึงปัญหาที่อาจเกิดขึ้นทั้งหมดที่อยู่นอกขอบเขตของคู่มือนี้

หากการตรวจสอบสำเร็จให้ดำเนินการต่อและโหลดบริการซ้ำ:

sudo service icinga2 restart

คุณจะต้องให้icingaสิทธิ์ sudo แก่ผู้ใช้เพื่อให้คำสั่งสามารถทำงานได้ สิทธิ์ sudo เหล่านี้จะถูก จำกัด ไว้ที่ไดเรกทอรีปลั๊กอินเฉพาะ สามารถวางที่ส่วนท้ายของไฟล์

sudo vi /etc/sudoers
...
Defaults:icinga !requiretty
icinga          ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/

ตอนนี้การกำหนดค่าไคลเอ็นต์เสร็จสิ้นอย่างเป็นทางการแล้ว คุณไม่จำเป็นต้องทำการแก้ไขใด ๆ เพิ่มเติมการตรวจสอบบริการใด ๆ จะถูกกำหนดค่าบนต้นแบบและจะเผยแพร่ไปยังไคลเอนต์ อย่างไรก็ตามคุณจะต้องติดตั้งปลั๊กอินเพิ่มเติมที่คุณอาจต้องการ ปลั๊กอินสามารถเขียนได้โดยใช้ python, perl, BASH, PHP และภาษาสคริปต์อื่น ๆ

ขั้นตอนที่ 7: เพิ่มไคลเอนต์เพื่อกำหนดค่าหลัก

คุณจะต้องกลับไปที่ต้นแบบเพื่อกำหนดค่าไคลเอ็นต์เพื่อให้สามารถเชื่อมต่อได้ มีไม่กี่ขั้นตอนที่จะต้องดำเนินการ:

  1. repository.dเพิ่มการตั้งค่าที่จะเป็นเจ้าภาพ
  2. เพิ่มโฮสต์ไปยังโซนเป็นจุดสิ้นสุด
  3. กำหนดค่าการตรวจสอบใด ๆ สำหรับลูกค้า นี่อยู่นอกขอบเขตของคู่มือนี้เล็กน้อยฉันจะให้คำอธิบายเบื้องต้นเกี่ยวกับขั้นตอนที่เกี่ยวข้องเท่านั้น

การกำหนดค่าโฮสต์จะถูกป้อนใน/etc/icinga2/repository.d/hosts/icinga2client.example.com.confไฟล์

sudo vi /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf
object Host "icinga2client.example.com" {
  import "satellite-host"
  address = "$icinga2clientIP"
  vars.os = "Linux"
}
sudo chown icinga:icinga /etc/icinga2/repository.d/hosts/icinga2client.example.com.conf

ตอนนี้โฮสต์มีอยู่ในการกำหนดค่าไคลเอ็นต์ แต่จำเป็นต้องใส่ลงในโซน โซนนี้จะอยู่ใน/etc/icinga2/repository.d/zonesโฟลเดอร์ที่มีชื่อเดียวกับชื่อโซนเพื่อให้ง่ายต่อการติดตาม

sudo vi /etc/icinga2/repository.d/zones/clientZone.conf
object Zone "clientZone" {
        endpoints = [ "icinga2client.example.com" ]
        parent = "icinga2master.example.com"
}

ถัดไปคุณต้องเพิ่มglobal-templatesโซน

sudo vi /etc/icinga2/repository.d/zones/global-templates.conf
object Zone "global-templates" {
        global = true
}

สุดท้ายให้เพิ่มจุดปลายทางของไคลเอ็นต์เพื่อให้จุดสิ้นสุด "clientZone" ของอาร์เรย์นั้นบรรจุอยู่เมื่อมันทำงาน

sudo vi /etc/icinga2/repository.d/endpoints/icinga2client.example.com.conf

#Change values to match the host you're adding
object Endpoint "icinga2client.example.com" {
        host = "$icinga2clientIP"
}

เพื่อให้แน่ใจว่าไม่มีปัญหาการอนุญาตให้ดำเนินการต่อและเปลี่ยนเจ้าของ / กลุ่มอีกครั้ง

sudo chown -R icinga:icinga /etc/icinga2

ตรวจสอบการเปลี่ยนแ��ลงการกำหนดค่าเพื่อให้แน่ใจว่าไม่มีปัญหาอีกต่อไป

sudo icinga2 daemon -C

หากการตรวจสอบสำเร็จให้ไปข้างหน้าอีกครั้งด้วยการโหลดซ้ำ

sudo service icinga2 restart

หากคุณเยี่ยมชมเว็บไซต์ Icinga2 ของคุณคุณจะเห็นเซิร์ฟเวอร์สามารถเข้าถึงได้

ขั้นตอนที่ 8: คำสั่งและการตรวจสอบที่กำหนดเอง

คุณอาจพบข้อผิดพลาดเกี่ยวกับ "ไม่พบคำสั่ง" หรือ "ตรวจสอบไม่ได้กำหนด" นี่คือที่ที่โซนแม่แบบส่วนกลางเข้าสู่การเล่น คุณจะต้องคัดลอกการกำหนดค่าใน/etc/icinga2/conf.d/ไฟล์และวางลงใน/etc/icinga2/zones.d/global-templates/ไฟล์ ตัวอย่างเช่นในการสร้างคำสั่ง "check_software" คุณจะต้องทำสิ่งต่อไปนี้

sudo mkdir /etc/icinga2/zones.d/global-templates
sudo vi /etc/icinga2/zones.d/global-templates/commands.conf
object CheckCommand "check_software" {
  import "plugin-check-command"
  command = [ "/usr/bin/sudo",  PluginDir + "/software_service_check.sh" ]
}

software_service_check.shไฟล์จะต้องอยู่ใน/usr/lib64/nagios/pluginsโฟลเดอร์บนไคลเอนต์

จากนั้นเพิ่มการตรวจสอบบริการลงใน/etc/icinga2/repository.d/hosts/services.confไฟล์

sudo vi /etc/icinga2/repository.d/hosts/services/services.conf
apply Service "Check Software Service" {
  import "mail-service"
  check_command = "check_software" # This check command is the same name as the one you defined in global-templates/commands.conf

  assign where host.vars.client_endpoint # This will apply to every client server. If you need it to be more restrictive, you should look into custom variables
}

คุณจะต้องเปลี่ยนการอนุญาตอีกครั้ง

sudo chown -R icinga:icinga /etc/icinga2

จากนั้นตรวจสอบการกำหนดค่าอีกครั้ง

sudo icinga2 daemon -C

ในที่สุดหากประสบความสำเร็จโหลดใหม่:

sudo service icinga2 restart

ขอแสดงความยินดี! ตอนนี้คุณกำลังใช้ Icinga2 ในต้นแบบลูกค้าและสามารถหลีกเลี่ยงการใช้การตรวจสอบ NRPE ที่ไม่ปลอดภัย!



การติดตั้ง Pagekit CMS บน CentOS 7

การติดตั้ง Pagekit CMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง TestLink บน CentOS 7

วิธีการติดตั้ง TestLink บน CentOS 7

TestLink เป็นระบบดำเนินการจัดการทดสอบบนเว็บโอเพ่นซอร์ส ช่วยให้ทีมงานประกันคุณภาพสามารถสร้างและจัดการกรณีทดสอบได้เช่นกัน

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง GCC บน CentOS 6

วิธีการติดตั้ง GCC บน CentOS 6

CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น

วิธีการติดตั้ง Moodle บน CentOS 7

วิธีการติดตั้ง Moodle บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o

การติดตั้ง Netdata บน CentOS 7

การติดตั้ง Netdata บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Netdata เป็นดาวรุ่งพุ่งแรงในด้านการติดตามการวัดในระบบแบบเรียลไทม์ เมื่อเปรียบเทียบกับเครื่องมือชนิดเดียวกัน Netdata:

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

Buildbot เป็นโอเพ่นซอร์สเครื่องมือที่ใช้การรวมอย่างต่อเนื่องของ Python สำหรับการสร้างซอฟต์แวร์การทดสอบและการปรับใช้โดยอัตโนมัติ Buildbot ประกอบด้วยหนึ่งหรือหมอ

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง

ติดตั้ง dotProject บน CentOS 7

ติดตั้ง dotProject บน CentOS 7

แอปพลิเคชั่น dotProject เป็นเครื่องมือการจัดการโครงการแบบโอเพ่นซอร์สบนเว็บ สำหรับตอนนี้มันวางจำหน่ายภายใต้ GPL ดังนั้นคุณสามารถปรับใช้และใช้งานได้บนบริการของคุณ

ติดตั้ง TaskServer (taskd) บน CentOS 7

ติดตั้ง TaskServer (taskd) บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องมาจาก

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade

วิธีการติดตั้ง Kanboard บน CentOS 7

วิธีการติดตั้ง Kanboard บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Kanboard เป็นซอฟต์แวร์ซอฟต์แวร์การจัดการโครงการโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่ออำนวยความสะดวกและมองเห็นภาพการทำงานเป็นทีม

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

GlusterFS เป็นระบบไฟล์ที่เชื่อมต่อกับเครือข่ายซึ่งช่วยให้คุณแบ่งปันไดรฟ์สองตัวในอุปกรณ์หลายตัวบนเครือข่ายได้อย่างมีประสิทธิภาพ ระบบไฟล์นี้คือ

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร ในขณะที่การโยกย้ายเว็บไซต์มักจะไม่มีปัญหาบางครั้งก็ยากที่จะโยกย้ายกล่องอีเมล นี่คือ CAS โดยเฉพาะอย่างยิ่ง

วิธีการติดตั้ง PrestaShop บน CentOS 7

วิธีการติดตั้ง PrestaShop บน CentOS 7

PrestaShop เป็นโซลูชันอีคอมเมิร์ซแบบโอเพ่นซอร์สที่ได้รับความนิยม คุณสามารถใช้มันเพื่อสร้างร้านค้าออนไลน์ของคุณเองได้ฟรี ในบทช่วยสอนนี้ฉันจะแสดงให้คุณเห็นว่า

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ภาวะเอกฐานทางเทคโนโลยี: อนาคตอันห่างไกลของอารยธรรมมนุษย์?

ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

ผลกระทบของปัญญาประดิษฐ์ในการดูแลสุขภาพ 2021

AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน