Nodejs And Monitoring

xangnam phiasakha
VtCamp
Published in
2 min readMay 19, 2018
i want to sleep!!!

ໃນການສ້າງ 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 ເຊິ່ງເປັນຫຍັງທີ່ດີໂຄດໆ.

API Monitoring
CPU and Memory Usage

--

--