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 ClusterInstalasi 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 CCBotKami memasukkan Nama Pengguna, yang harus cocok dengan nama bot kami.
Di jendela berikutnya, kita dapat melihat token API yang akan digunakan.
Token API CCBotEnter 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 DibuatDan 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 2Dan 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 3Dan 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.