Mengubah Icinga2 untuk Menggunakan Model Master / Pelanggan pada CentOS 6 atau CentOS 7

Icinga2 adalah sistem pemantauan yang kuat, dan ketika digunakan dalam model klien utama, ia dapat menggantikan kebutuhan untuk pemeriksaan pemantauan berdasarkan NRPE. Model master-client lebih selamat kerana pelbagai sebab . Ini juga memungkinkan pemantauan yang lebih diedarkan dengan membenarkan pemeriksaan diubah pada satu pelayan dan menyebarkannya ke yang lain. Ia juga memberikan satu lokasi terpusat untuk perubahan.

Contohnya: Katakan anda mempunyai 4 pelayan web seimbang yang berbeza. Sekiranya anda tahu bahawa anda akan mengalami lonjakan beban (mungkin penjualan atau sesuatu yang anda jangkakan banyak aktiviti), anda mungkin ingin meningkatkan tahap penggunaan CPU yang tinggi memberi amaran kepada pentadbir sistem. Sekiranya anda menggunakan pemeriksaan NRPE, anda perlu pergi ke setiap pelayan dan mengubah /etc/nrpe.d/common_commands.cfgdokumen pada setiap pelayan tersebut . Dalam model master-client, anda boleh mengubah definisi host mereka dalam /etc/icinga2/repository.d/hosts/folder, kemudian memuatkan semula Icinga. Pemeriksaan akan disebarkan ke setiap pelayan dan akan diambil secara automatik. Anda juga dapat menambahkan cek dengan mudah dengan memodifikasi /etc/icinga2/repository.d/services/fail, dan mereka akan secara automatik menyebarkan dan dikenali, selagi pemalam ada di pelayan pelanggan.

Prasyarat

  • Contoh pelayan dengan Icinga2 dan Icingaweb2 sudah dipasang dan dikonfigurasikan ( arahan ) bernama icinga2master.example.com.
  • Contoh pelayan Vultr CentOS 6 atau 7 baru yang ingin anda pantau bernama icinga2client.example.com.
  • Akses Sudo.

Sebilangan panduan ini akan menunjukkan arahan pemasangan yang disenaraikan di atas, tetapi ini mesti dilakukan pada mesin pelanggan dan bukan mesin pelayan.

Langkah 1: Kemas kini sistem

Tambahkan repo "ICINGA" ke sistem pelanggan untuk memasang pakej 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

Langkah 2: Pasang pakej yang diperlukan

Pasang pakej yang diperlukan.

# 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 menggunakan MariaDB dan bukannya MySQL, jadi pakej yang diperlukan sedikit berbeza. Mulakan perkhidmatan, dan tetapkannya untuk memulakan boot.

sudo chkconfig icinga2 on
sudo service icinga2 start

Tetapkan perkhidmatan MySQL untuk memulakan boot dan mulakan sekarang supaya kita dapat mengamankannya.

# CentOS 6
sudo chkconfig mysqld on
sudo service mysqld start

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

Selamat pemasangan MySQL / MariaDB. Kedua-dua CentOS 6 dan 7 menggunakan arahan yang sama.

sudo mysql_secure_installation

Semasa proses, jawab soalan seperti yang ditunjukkan:

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

Perhatikan bahawa $newRootPasswordanda memerlukannya beberapa kali, dan menyakitkan untuk menetapkan semula.

Langkah 3: Sediakan pangkalan data

Anda perlu membuat icinganama pengguna, dan mengimport skema ke dalam pangkalan data. Ini dilakukan dengan cara yang sama pada kedua CentOS 6 dan 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

Seterusnya, import skema ke pangkalan data yang baru anda buat.

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

Anda akan perlu memasukkan $newRootPassword/ kata laluan MariaDB MySQL anda digunakan semasa mysql_secure_installationarahan di atas, tidak yang $someIcingaPasswordanda baru sahaja diwujudkan - yang satu digunakan kemudian.

Aktifkan idomodul (pangkalan data).

sudo icinga2 feature enable ido-mysql

Anda perlu mengedit /etc/icinga2/features-enabled/ido-mysql.conffail untuk menambahkan maklumat pangkalan data. Anda boleh melakukannya dengan arahan berikut.

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

Dalam fail itu, cari baris yang dikomentari (mulakan dengan //).

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

... dan edit mereka menggunakan pengguna / kata laluan yang baru anda buat.

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

Pastikan bahawa anda melepaskan garis dengan membuang dua garis miring awal.

Seterusnya, mulakan semula perkhidmatan untuk mengambil perubahan.

sudo service icinga2 restart

Anda perlu menambahkan sambungan antara pelayan klien dan induk Icinga2 yang telah dikonfigurasikan. Anda perlu melakukannya dengan menggunakan Firewalld di CentOS 7, atau IPTables di CentOS 6 atau 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

Sekarang, edit fail host untuk menambahkan master sebagai nama domain tempatan.

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

Langkah 4: Memulakan master

Langkah ini perlu dilakukan pada master Icinga2. Anda perlu menginisialisasi sebagai master, kemudian membuat permintaan penandatanganan sijil yang akan digunakan oleh pelanggan anda untuk berkomunikasi.

sudo icinga2 node wizard

Ini akan menjalankan penyihir nod, yang akan menanyakan beberapa soalan. Skrin akan kelihatan seperti berikut, dan jawapan yang akan anda berikan disenaraikan.

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!

Kemudian, mulakan semula Icinga2 untuk mengambil perubahan.

sudo service icinga2 restart

Setelah menjadi master, anda boleh menggunakannya untuk menghasilkan rentetan permintaan penandatanganan sijil.

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

Anda akan mendapat sebilangan tali $pkiString. Salin tali itu, kerana anda memerlukannya pada pelanggan.

Langkah 5: Permulaan pelanggan

Jalankan wizard nod untuk menghasilkan sijil dan sambungkan ke induk.

sudo icinga2 node wizard

Ini akan muncul dengan halaman yang serupa dengan perkara di atas. Halaman ini ditunjukkan di bawah dengan jawapan disertakan.

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!

Teruskan dan mulakan semula Icinga2 untuk mengambil perubahan.

sudo icinga2 restart

Ini mungkin sudah selesai, tetapi anda perlu memastikan bahawa ciri perintah dan API diaktifkan.

sudo icinga2 feature enable command
sudo icinga2 feature enable api

Sekiranya tidak diaktifkan, akan dinyatakan "fitur diaktifkan", jadi anda perlu menghidupkan semula daemon Icinga2. Tetapi pertama, anda perlu mengubah pemilikan fail dalam /etc/icinga2direktori, kerana beberapa di antaranya mempunyai kebenaran yang salah setelah menjalankan penyihir simpul. Mereka semua mesti menetapkan pemilik dan kumpulan mereka icinga. Ubah kebenaran dengan menggunakan arahan berikut:

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

Sekarang, anda boleh memulakan semula daemon Icinga2.

sudo service icinga2 restart

Langkah 6: Konfigurasikan klien

Konfigurasi pelanggan memerlukan penyuntingan beberapa fail yang berbeza.

  • /etc/icinga2/zones.conf: Mengandungi titik akhir (pelayan) dan zon yang mengandunginya. Ini adalah bagaimana pelayan dibahagi. Pastikan nama pelanggan sepadan dengan nama pelayan.
  • /etc/icinga2/icinga2.conf: Anda menerima perintah dan konfigurasi dari induk, jadi anda perlu melakukan sedikit pengeditan pada file ini untuk menghindari definisi perintah pendua.

Pertama, kita akan mengubah suai zones.conffail untuk menentukan pelayan dan zon di dalamnya, serta membuat zon "global" untuk definisi arahan yang universal untuk SEMUA pelayan, bukannya unik untuk masing-masing (seperti pemeriksaan cakera) .

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
} 

Penting untuk diketahui, hanya ada 2 node per zon pada masa ini. Anda boleh membuat seberapa banyak zon yang anda mahukan, tetapi jika terdapat lebih dari 2 node per zon ada kemungkinan bahawa perkhidmatan Icinga2 tidak akan berfungsi dengan baik. Ini bukan masalah pada pelanggan, kecuali jika anda sudah mempunyai 2 node di zon clientZone, dalam hal ini anda perlu membuat nama zon yang lain.

Sekarang, buat pengubahsuaian dalam /etc/icinga2/icinga2.conffail. Anda perlu memberi komen include_recursive "conf.d".

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

Sahkan konfigurasi untuk memastikan bahawa semuanya diformat dengan betul.

sudo icinga2 daemon -C

Sekiranya anda mendapat masalah kebenaran, kemungkinan kerana item tersebut dimiliki oleh root:root. Chown icinga:icingauntuk menyelesaikan.

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

Terdapat masalah lain dengan konfigurasi, umumnya maklumat yang diberikan dari output sudo icinga2 daemon -Cperintah akan cukup verbose untuk mengesannya. Menangani setiap potensi masalah yang timbul adalah di luar skop panduan ini.

Sekiranya pengesahan berjaya, teruskan dan muatkan semula perkhidmatan:

sudo service icinga2 restart

Anda perlu memberikan icingaizin sudo kepada pengguna agar perintah dapat dijalankan. Kebenaran sudo ini akan dibatasi ke direktori plugin tertentu. Ini hanya boleh diletakkan di hujung fail.

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

Kini konfigurasi pelanggan selesai secara rasmi. Anda tidak perlu melakukan pengubahsuaian lagi, setiap pemeriksaan perkhidmatan akan dikonfigurasi pada master dan akan disebarkan ke klien. Anda perlu memasang plugin tambahan yang mungkin anda perlukan. Pemalam juga boleh ditulis menggunakan python, perl, BASH, PHP, dan bahasa skrip lain.

Langkah 7: Tambahkan klien ke master config

Anda perlu kembali ke master untuk mengkonfigurasi pelanggan supaya dapat dihubungkan. Terdapat beberapa langkah yang perlu diambil:

  1. Tambahkan konfigurasi hos ke repository.d.
  2. Tambahkan host ke zon sebagai titik akhir.
  3. Konfigurasikan sebarang pemeriksaan untuk pelanggan. Ini sedikit di luar ruang lingkup panduan ini, saya hanya akan memberikan penjelasan asas mengenai langkah-langkah yang terlibat.

Konfigurasi host akan dimasukkan ke dalam /etc/icinga2/repository.d/hosts/icinga2client.example.com.conffail.

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

Sekarang host ada dalam konfigurasi klien, tetapi perlu dimasukkan ke dalam zon. Zon ini akan berada di dalam /etc/icinga2/repository.d/zonesfolder, dengan nama yang sama dengan nama zon untuk menjadikannya lebih mudah untuk dijejaki.

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

Seterusnya, anda perlu menambah global-templateszon.

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

Akhirnya, tambahkan titik akhir klien sehingga tatasusunan titik pelanggan "clientZone" diisi semasa ia dijalankan.

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"
}

Untuk memastikan tidak ada masalah kebenaran, teruskan dan ubah pemilik / kumpulan lagi.

sudo chown -R icinga:icinga /etc/icinga2

Sahkan perubahan konfigurasi untuk memastikan tidak ada masalah lagi.

sudo icinga2 daemon -C

Sekiranya pengesahan berjaya, teruskan tambah nilai.

sudo service icinga2 restart

Sekiranya anda melayari laman web Icinga2 anda, anda akan melihat pelayan dapat diakses.

Langkah 8: Perintah dan pemeriksaan tersuai

Anda mungkin menghadapi kesilapan mengenai "perintah tidak dijumpai" atau "tanda tidak ditentukan". Di sinilah zon templat global dimainkan. Anda perlu menyalin konfigurasi dalam /etc/icinga2/conf.d/fail dan memasukkannya ke dalam /etc/icinga2/zones.d/global-templates/fail. Sebagai contoh, untuk membuat perintah "check_software", anda perlu melakukan perkara berikut.

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" ]
}

The software_service_check.shfail perlu wujud dalam /usr/lib64/nagios/pluginsfolder pada pelanggan .

Seterusnya, tambahkan pemeriksaan perkhidmatan ke dalam /etc/icinga2/repository.d/hosts/services.conffail.

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
}

Anda perlu menukar kebenaran sekali lagi.

sudo chown -R icinga:icinga /etc/icinga2

Kemudian, sahkan semula konfigurasi.

sudo icinga2 daemon -C

Akhirnya, jika berjaya, muat semula:

sudo service icinga2 restart

Tahniah! Anda sekarang menggunakan Icinga2 dalam model pelanggan utama dan sekarang boleh mengelakkan daripada menggunakan pemeriksaan NRPE yang tidak selamat!



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut