تعديل Icinga2 لاستخدام نموذج Master / Client على CentOS 6 أو CentOS 7

Icinga2 هو نظام مراقبة قوي ، وعند استخدامه في نموذج العميل الرئيسي ، يمكنه استبدال الحاجة إلى فحوصات المراقبة المستندة إلى NRPE. نموذج العميل الرئيسي أكثر أمانًا لأسباب مختلفة . كما يسمح بمزيد من المراقبة الموزعة من خلال السماح بتعديل الشيكات على خادم واحد ونشرها على الآخرين. كما أنه يوفر موقعًا مركزيًا واحدًا للتغييرات.

على سبيل المثال: لنفترض أن لديك 4 خوادم ويب مختلفة متوازنة. إذا كنت تعلم أنه سيكون لديك ارتفاع في الحمل قادم (ربما عملية بيع أو شيء تتوقع الكثير من النشاط) ، فقد ترغب في زيادة المستويات التي ينبهك فيها استخدام وحدة المعالجة المركزية المرتفع لمسؤولي النظام. إذا كنت تستخدم فحوصات 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.
  • وصول سودو.

سيعكس بعض هذا الدليل تعليمات التثبيت المذكورة أعلاه ، ولكن يجب أن يتم ذلك على جهاز العميل وليس على جهاز الخادم.

الخطوة 1: تحديث النظام

إضافة الريبو "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ماي / 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 الرئيسي الذي تم تكوينه بالفعل. ستحتاج إلى القيام بذلك باستخدام جدار الحماية على 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

الآن ، قم بتحرير ملف hosts لإضافة الرئيسي كاسم مجال محلي.

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. ولكن أولاً ، تحتاج إلى تغيير ملكية الملفات الموجودة في /etc/icinga2الدليل ، حيث يمتلك بعضها أذونات خاطئة بعد تشغيل معالج العقدة. يجب أن يكون لديهم مجموعة ومالك icinga. قم بتغيير الأذونات باستخدام الأمر التالي:

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

الآن ، يمكنك إعادة تشغيل البرنامج الخفي Icinga2.

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
} 

من المهم أن تعرف أنه لا يمكن أن يكون هناك سوى عقدتين لكل منطقة في الوقت الحالي. يمكنك إنشاء العديد من المناطق كما يحلو لك ، ولكن إذا كان هناك أكثر من عقدتين لكل منطقة ، فهناك احتمال ألا تعمل خدمة Icinga2 بشكل صحيح. هذه ليست مشكلة على العميل ، إلا إذا كان لديك بالفعل عقدتين في المنطقة 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 غير الآمنة!

اترك تعليقاً

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

مع تطور العلم بمعدل سريع ، واستلام الكثير من جهودنا ، تزداد أيضًا مخاطر تعريض أنفسنا إلى تفرد غير قابل للتفسير. اقرأ ، ماذا يمكن أن يعني التفرد بالنسبة لنا.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد