How to find and kill an advisory lock query?
เมื่อรัน application หรือ query database postgreSQL แล้วพบ “advisory lock” เราจำเป็นต้องตรวจสอบ query ที่ทำให้เกิด Lock และ kill query นั้นทิ้ง เพื่อให้ระบบสามารถืำงานได้ต่อ วิธีการตรวจสอบและแก้ไข ใช้คำสั่งด้านล่างนี้เพื่อตรวจสอบ PID ที่ทำให้เกิด “advisory lock” SELECT * FROM pg_locks JOIN pg_stat_activity…
How to fix SSL_ERROR_RX_RECORD_TOO_LONG on nginx
เมื่อเราใด้ config nginx และเจอปัญหา error “SSL_ERROR_RX_RECORD_TOO_LONG” จาก command curl แสดงว่าเราได้ config การ return HTTP protocol ผิด ความหมายของ “SSL_ERROR_RX_RECORD_TOO_LONG” คือ server ได้มีการ return HTTP content เป็นแบบ plain text ไม่ใช้ encrypted HTTPS…
Fixing SSH “no hostkey alg” on Debian/Ubuntu
สำหรับท่านที่ ssh ไปยัง debian/ubuntu server ปลายทางแล้วได้ message “no hostkey alg” สาเหตุเกิดจากว่า ssh client พยายาม connect ไปแต่ไม่ผ่านขั้นตอนการเชค hostkey algorithm ขั้นตอนการแก้ไข ให้เชค permission ของไฟล์ที่ขึ้นต้นด้วย ssh_host_ ใน folder /etc/ssh ด้วยคำสั่ง ls -l /etc/ssh/ssh_host_*…
How to enable TCP port 2375 for external connection on Rancher-Desktop
สำหรับท่านที่ใช้ Racher-Desktop และต้องการให้ docker engine รับ tcp connection ควบคู่ไปกับการใช้ docker.sock ก็สามารถทำได้ด้วยคำสั่งด้านล่างนี้ docker container run -dt --name expose-docker-on-2375 --network=host -v /var/run/docker.sock:/var/run/docker.sock --restart=always rancher/socat-docker
How to disable visual mode on mouse select for vim
หากใครใช้ vi command แล้วพบว่าเวลา select ด้วย mouse แล้วพบว่าเข้า visual mode ซึ่งบางครั้งก็สร้างปัญหาในการ copy และ paste วิธีการแก้ไขไม่ให้เข้าสู้ visual modeสร้างไฟล์หรือแก้ไข vi ~/.vimrc ใส่ set mouse-=a หรือรันคำสั่งด้านล่าง echo "set mouse-=a" >> ~/.vimrc
How to stress test the memory on linux
คำสั่ง stress ช่วยให้เราสามารถทำการทดสอบ workload บน cpu, memory, io, HDD บน POSIX system ซึ่งในบทความนี้จะมาแชร์คำสั่งที่ใช้ในการทดสอบ workload ให้ใช้ memory 95% เพื่อทดสอบ memory ว่าจะมีปัญหาหรือไม่ สำหรับ Linux kernel < 3.14 stress --vm-bytes $(awk '/MemFree/{printf "%d\n",…
Ansible Tutorial – Directory layout and Example
Ansible เป็น configuration management ที่เป็น agentless ซึ่งไม่ต้อง require agent เหมือนพวก puppet, Chef, Salt การทำงานของ ansible จะทำงานผ่าน SSH ดังนั้นแค่เครื่องสามารถ remote ด้วย SSH ได้ก็ทำงานได้ Ansible เขียนเป็นไฟล์ YAML เดียวก็สามารถทำงานได้แล้ว แต่ถ้าหากมีขั้นตอนการทำงานที่เยอะจะทำให้ยุ่งยากในการแก้ไข และนำกลับมาใช้ใหม่ ดังนั้นในบทความนี้ผมจะมาอธิบาย directory…
PackStack gets “Failed to load plugin from file prescript_000.py” error
เมื่อทำการรัน packstack เพื่อ install openstack แล้วพบ error เหมือนด้านล่าง # packstack --answer-file=answers.txt ERROR:root:Failed to load plugin from file prescript_000.py ERROR:root:Traceback (most recent call last): File "/usr/lib/python2.7/site-packages/packstack/installer/run_setup.py", line 884, in loadPlugins moduleobj…
How to fix memory leak from big nfs_inode_cache
ได้รับแจ้งว่า Linux server เครื่องหนึ่งมีการใช้งาน memory เกินกว่า 90% ซึ่งทางผู้ดูแลตรวจสอบแล้วไม่พบว่ามี process ใดใช้งาน memory มาก ซึ่งผมได้เข้าไปตรวจสอบเบื้ยงต้นด้วยคำสั่ง free ก็ไม่พบอะไรผิดปรกติ # free -m total used free shared buffers cached Mem: 7982 7885 97 0 137…
How to fix “loopback devices is strongly discouraged for production use” on Docker
สำหรับคนที่ใช้ docker (1.6+) บน CentOS7 หรือ RHEL7 จะพบ warning เกิดขึ้นกังตัวอย่างด้านล่าง # docker run centos /bin/echo “ezylinux.com” Usage of loopback devices is strongly discouraged for production use. Either use `–storage-opt dm.thinpooldev`…