Nodejs And Monitoring
ໃນການສ້າງ server application ທີ່ໃຊ້ nodejs ນັ້ນເມື່ອຜູ້ອ່ານນຳໄປ Run ເປັນ production
ກໍ່ຕ້ອງການມີການສອດຊ່ອງເບິ່ງສິ່ງຕ່າງໆທີ່ເກີດຂຶ້ນກັບ application ຂອງເຮົາ ເຊັ່ນ: traffic, CPU , memory, HTTP ແລະ ອື່ນໆທີ່ຈຳເປັນທີ່ຊ່ວຍໃຫ້ເຮົາແກ້ໄຂບັນຫາໄດ້ຢ່າງທັນການ. ແລະ ບົດຄວາມນີ້ຈະມາເວົ້າເລື່ອງການ monitor ເບິ່ງຄວາມເປັນໄປຂອງ server application ທີ່ສ້າງດ້ວຍ nodejs.
ເລີ່ມການ monitor ກັນເຖີດສະຫາຍຮ່ວມຮົບ!!
ກ່ອນອື່ນຕ້ອງໄປຕິດຕັ້ງ PM2
ເຊິ່ງເປັນຕົວທີ່ໃຊ້ຈັດການ run application ຂອງເຮົາໃນລະດັບ production ທີ່ເຮັດໃຫ້ເຮົາສາມາດໃຊ້ຄຳສັ່ງເພື່ອກວດສອບເບິ່ງຄວາມເປັນໄປຕ່າງໆຂອງ application ຂອງເຮົາໄດ້.
$ npm -g install pm2
ຕິດຕັ້ງເປັນ global ໄວ້ທີ່ server ທີ່ເຮົາຈະ run application ຂອງເຮົາ.
ແລະກໍ່ທຳການ run application ດ້ວຍຄຳສັ່ງ
$ pm2 start app.js
ແລະ ທຳການ monitor ເບິ່ງດ້ວຍຄຳສັ່ງ
$ pm2 monit
ສາມາດເບິ່ງລາຍລະອຽດຂອງຄຳສັ່ງໄດ້ທີ່ PM2
ມາຮອດນີ້ຜູ້ອ່ານກໍ່ຄິດວ່າບົດຄວາມມຶງມີດີທໍ່ນີ້ຫວ່ະເສຍເວລາອ່ານ. ແຕ່ຄວາມຈິ່ງມັນມີຫຼາຍກວ່ານີ້ເພາະຈະເຫັນໄດ້ວ່າຜູ້ຂຽນຕັດຈົບຂັ້ນຕອນຂັ້ນເທິງເພາະມັນບໍ່ເທ້.
Docker ແລະ keymetrics UI Monitor ສ້າງຊີວິດໃຫ້ມີລົດຊາດ
ເຮົາມາລອງໃຊ້ docker run application ຂອງເຮົາແລະໃຊ້ keymetrics monitor ເບິ່ງແບບສະບາຍອາລົມກັນສະຫາຍຮ່ວມຮົບ.
ໃຫ້ສະຫາຍທັງຫຼາຍເຂົາໄປທີ່ເວັບນີ້ ແລະ signup ໃຫ້ຮຽບຮ້ອຍ keymetrics.io . ແລ້ວກົດສ້າງ Keymetrics Bucket
ແລ້ວສະຫາຍຈະໄດ້ Public key
ແລະ Secret key
ທີ່ຈຳເປັນໃນຂັ້ນຕອນຕໍ່ໄປ.
ເມື່ອມາເຖິງຕອນນີ້ກໍ່ເປັນອັນວ່າເຖິງເວລາຂອງ docker ເພຶ່ອນຕາຍແລ້ວ. ໃຫ້ສະຫາຍທັງຫຼາຍສ້າງ file process.yml
ໄວ້ທີ່ root directory project nodejs application ແລະ ຍັດຄຳສັ່ງນີ້ເຂົ້າໄປ.
apps:
- script : 'app.js'
name : 'APP'
exec_mode: 'fork'
instances: 1
- script : 'worker.js'
ສາມາດສຶກສາການຕັ້ງຄ່າ file ນີ້ໄດ້ທີ່ process.yml
.
ຈາກນັ້ນກໍ່ run ຄຳສັ່ງນີ້ເພື່ອ start pm2 docker image ຂຶ້ນມາໄດ້ເລີຍ.
docker run -d \
--name api \
-p 5000:5000 \
-e "KEYMETRICS_SECRET=<YOUR_SECERT_KEY>" \
-e "KEYMETRICS_PUBLIC=<YOUR_PUBLIC_KEY>" \
-e "INSTANCE_NAME=api" \
-v "$PWD":/app \
-v /etc/localtime:/etc/localtime \
keymetrics/pm2-docker-alpine:latest
ຄຳສັ່ງນີ້ທີ່ສຳຄັນແມ່ນຢູ່ທີ່ secert key
ແລະ public key
ເຊິ່ງໄດ້ມາຈາກຂັ້ນຕອນທຳອິດນັ້ນ copy ວ່າງໃສ່ໄດ້ເລີບ. ແລ້ວທຸກຢ່າງກໍ່ເປັນອັນສ່ວຍງາມໃຫ້ກັບໄປທີ່ app.keymetrics.io
ກໍ່ຈະປະກົດຂໍ້ມູນກ່ຽວກັບ application ຂອງເຮົາແລ້ວ
ເຊິ່ງຖ້າຕ້ອງການຂໍ້ມູນຫຼາຍກວ່ານີ້ກໍ່ສາມາດຈ່າຍເງິນເພື່ອໃຊ້ function ຕ່າງໆໄດ້.
ຂໍ້ດີອີກຢ່າງຄື ເມື່ອ application ຂອງເຮົາເກີດ error ມັນກໍ່ຈະສົ່ງບອກເຮົາທາງ mail ເຊິ່ງເປັນຫຍັງທີ່ດີໂຄດໆ.