MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Mengelola MySQL, MongoDB &PostgreSQL dengan ChatOps dari Slack

Apa itu ChatOps?

Saat ini, kami menggunakan beberapa saluran komunikasi untuk mengelola atau menerima informasi dari sistem kami, seperti email, obrolan, dan aplikasi. Jika kami dapat memusatkan ini dalam satu atau hanya beberapa kemungkinan aplikasi yang berbeda, dan bahkan lebih baik lagi, jika kami dapat mengintegrasikannya dengan alat yang saat ini kami gunakan di organisasi kami, kami akan dapat mengotomatiskan proses, meningkatkan dinamika kerja dan komunikasi, memiliki gambaran yang lebih jelas tentang keadaan sistem kami saat ini. Di banyak perusahaan, Slack atau alat kolaborasi lainnya menjadi pusat dan jantung dari tim pengembangan dan operasi.

Apa itu ChatBot?

Chatbot adalah program yang mensimulasikan percakapan, menerima entri yang dibuat oleh pengguna dan mengembalikan jawaban berdasarkan pemrogramannya.

Beberapa produk telah dikembangkan dengan teknologi ini, yang memungkinkan kami untuk melakukan tugas administratif, atau membuat tim selalu mengetahui status sistem saat ini.

Hal ini memungkinkan, antara lain, untuk mengintegrasikan alat komunikasi yang kita gunakan sehari-hari, dengan sistem kita.

CCBot - ClusterControl

CCBot adalah chatbot yang menggunakan API ClusterControl untuk mengelola dan memantau cluster database Anda. Anda akan dapat menerapkan kluster baru atau penyiapan replikasi, menjaga agar tim Anda selalu mengetahui status database serta status tugas administratif apa pun (mis., pencadangan atau peningkatan berkelanjutan). Anda juga dapat memulai ulang node yang gagal, menambahkan yang baru, mempromosikan slave to master, menambahkan penyeimbang beban, dan sebagainya. CCBot mendukung sebagian besar layanan obrolan utama seperti Slack, Flowdock, dan Hipchat.

CCBot terintegrasi dengan baris perintah s9s, jadi Anda memiliki beberapa perintah untuk digunakan dengan alat ini.

Pemberitahuan ClusterControl melalui Slack

Perhatikan bahwa Anda dapat menggunakan Slack untuk menangani alarm dan notifikasi dari ClusterControl. Mengapa? Ruang obrolan adalah tempat yang baik untuk mendiskusikan insiden. Melihat alarm yang sebenarnya di saluran Slack memudahkan untuk mendiskusikannya dengan tim, karena semua anggota tim benar-benar tahu apa yang sedang dibahas dan dapat bergabung.

Perbedaan utama antara CCBot dan integrasi notifikasi melalui Slack adalah, dengan CCBot, pengguna memulai komunikasi melalui perintah tertentu, menghasilkan respons dari sistem. Untuk pemberitahuan, ClusterControl menghasilkan suatu peristiwa, misalnya, pesan tentang kegagalan simpul. Acara ini kemudian dikirim ke alat yang telah kami integrasikan untuk notifikasi kami, misalnya, Slack.

Anda dapat meninjau posting ini tentang cara mengonfigurasi ClusterControl untuk mengirim notifikasi ke Slack.

Setelah ini, kita dapat melihat notifikasi ClusterControl di Slack kita:

Integrasi Kendur Kontrol Cluster

Instalasi CCBot

Untuk menginstal CCBot, setelah kita menginstal ClusterControl, kita harus menjalankan skrip berikut:

$ /var/www/html/clustercontrol/app/tools/install-ccbot.sh

Kita pilih adaptor mana yang mau kita pakai, di blog ini kita pilih Slack.

-- Supported Hubot Adapters --
1. slack
2. hipchat
3. flowdock
Select the hubot adapter to install [1-3]: 1

Kemudian akan menanyakan beberapa informasi kepada kami, seperti email, deskripsi, nama yang akan kami berikan ke bot kami, port, token API, dan saluran yang ingin kami tambahkan.

? Owner (User <[email protected]>)
? Description (A simple helpful robot for your Company)
Enter your bot's name (ccbot):
Enter hubot's http events listening port (8081):
Enter your slack API token:
Enter your slack message room (general):

Untuk mendapatkan token API, kita harus pergi ke Slack -> Apps (Di sisi kiri jendela Slack kita), kita mencari Hubot dan pilih Install.

Hubot CCBot

Kami memasukkan Nama Pengguna, yang harus cocok dengan nama bot kami.

Di jendela berikutnya, kita dapat melihat token API yang akan digunakan.

Token API CCBot
Enter your slack API token: xoxb-111111111111-XXXXXXXXXXXXXXXXXXXXXXXX
CCBot installation completed!

Terakhir, untuk dapat menggunakan semua fungsi baris perintah s9s dengan CCBot, kita harus membuat pengguna dari ClusterControl:

$ s9s user --create --cmon-user=cmon --group=admins  --controller="https://localhost:9501" --generate-key cmon

Untuk informasi lebih lanjut tentang cara mengelola pengguna, silakan periksa dokumentasi resmi.

Kami sekarang dapat menggunakan CCBot kami dari Slack.

Di sini kita memiliki beberapa contoh perintah:

$ s9s --help
Bantuan CCBot

Dengan perintah ini kita dapat melihat bantuan untuk s9s CLI.

$ s9s cluster --list --long
Daftar Cluster CCBot

Dengan perintah ini kita dapat melihat daftar cluster kita.

$ s9s cluster --cluster-id=17 --stat
Statistik Klaster CCBot

Dengan perintah ini kita dapat melihat statistik dari satu cluster, dalam hal ini cluster id 17.

$ s9s node --list --long
Daftar Node CCBot

Dengan perintah ini kita dapat melihat daftar node kita.

$ s9s job --list
Daftar Pekerjaan CCBot

Dengan perintah ini kita dapat melihat daftar pekerjaan kita.

$ s9s backup --create --backup-method=mysqldump --cluster-id=16 --nodes=192.168.100.34:3306 --backup-directory=/backup
Cadangan CCBot

Dengan perintah ini kita dapat membuat cadangan dengan mysqldump, di node 192.168.100.34. Cadangan akan disimpan di direktori /backup.

Sekarang mari kita lihat beberapa contoh yang lebih kompleks:

$ s9s cluster --create --cluster-type=mysqlreplication --nodes="mysql1;mysql2" --vendor="percona" --provider-version="5.7" --template="my.cnf.repl57" --db-admin="root" --db-admin-passwd="root123" --os-user="root" --cluster-name="MySQL1"
CCBot Membuat Replikasi

Dengan perintah ini kita dapat membuat Replikasi Master-Slave MySQL dengan Percona untuk MySQL versi 5.7.

CCBot Periksa Replikasi Dibuat

Dan kita dapat memeriksa cluster baru ini.

Dalam ClusterControl Topology View, kita dapat memeriksa topologi kita saat ini dengan satu master dan satu node slave.

Tampilan Topologi Replikasi 1
$ s9s cluster --add-node --nodes=mysql3 --cluster-id=24
CCBot Tambahkan Node

Dengan perintah ini kita dapat menambahkan budak baru di cluster kita saat ini.

Tampilan Topologi Replikasi 2

Dan kita dapat memeriksa topologi baru kita di ClusterControl Topology View.

$ s9s cluster --add-node --cluster-id=24 --nodes="proxysql://proxysql"
CCBot Tambahkan ProxySQL

Dengan perintah ini kita dapat menambahkan node ProxySQL baru bernama "proxysql" di cluster kita saat ini.

Tampilan Topologi Replikasi 3

Dan kita dapat memeriksa topologi baru kita di ClusterControl Topology View.

Anda dapat memeriksa daftar perintah yang tersedia di dokumentasi.
Jika kita mencoba menggunakan CCBot dari saluran Slack, kita harus menambahkan "@ccbot_name" di awal perintah kita:

@ccbot s9s backup --create --backup-method=xtrabackupfull --cluster-id=1 --nodes=10.0.0.5:3306 --backup-directory=/storage/backups

CCBot memudahkan tim untuk mengelola klaster mereka secara kolaboratif. Ini sepenuhnya terintegrasi dengan alat yang mereka gunakan setiap hari.

Catatan

Jika kami memiliki kesalahan berikut saat ingin menjalankan penginstal CCBot di ClusterControl kami:

-bash: yo: command not found
Kita harus memperbarui versi paket nodejs.

Kesimpulan

Seperti yang kami katakan sebelumnya, ada beberapa alternatif ChatBot untuk tujuan yang berbeda, kami bahkan dapat membuat ChatBot kami sendiri, tetapi karena teknologi ini memfasilitasi tugas kami dan memiliki beberapa keunggulan yang kami sebutkan di awal blog ini, tidak semua yang bersinar adalah emas.

Ada detail yang sangat penting untuk diingat - keamanan. Kita harus sangat berhati-hati saat menggunakannya, dan mengambil semua tindakan pencegahan yang diperlukan untuk mengetahui apa yang kita izinkan untuk dilakukan, dengan cara apa, pada saat apa, kepada siapa dan dari mana.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara membuat, menampilkan, dan melepaskan Koleksi di MongoDB

  2. Tabel Azure Vs MongoDB di Azure

  3. Filter dengan driver regex MongoDB C#

  4. Cara Mengoptimalkan Kinerja ClusterControl dan Komponennya

  5. Sudo service mongodb restart memberikan kesalahan layanan yang tidak dikenal di ubuntu 14.0.4