ถ้าหากกำลังมองหาเครื่องมือที่ใช้จัดการ Server Cluster (ทำ HA) mesosophere และ marathon ก็เป็น open source ที่น่าสนใจเลยทีเดี๋ยว และสามารถนำไปใช้กับงาน Production ได้ เพราะมีความ stable โดยในตัวอย่างจะใช้ 2 host คือ master และ slave มีรายละเอียดดังนี้

  • hostname: master.example.local
  • IP Address: 192.168.56.130

และ

  • hostname: slave.example.local
  • IP Address: 192.168.56.131

โดยจะตั้งตั้งบน Ubuntu Server 14.04 ทั้ง 2 host ขั้นตอนการติดตั้งมีดังนี้


Continue reading

Odoo เป็น version ใหม่ของ OpenERP ซึ่งมี feature ใหม่ๆ เพิ่มเข้ามามากมายเราสามารถติดตั้ง Odoo ได้จาก .deb หรือ download source มา build เองในตัวอย่างจะเลือกทำการ clone จาก github เพื่อทำการ build Odoo เองโดยมีขั้นตอนดังนี้

ทำการ add user odoo

sudo adduser --system --home=/opt/odoo --group odoo

ทำการติดตั้ง Postgresql

sudo apt-get install postgresql

su เป็น postgres user

sudo su - postgres


Continue reading

ProcessWire คือ web content management จะคล้ายๆ wcm อื่นๆ เช่น workpress เป็นต้น เราจะมาลองติดตั้งบน Ubuntu Server กันน่ะครับ โดยให้ติดตั้ง basic LAMP บน ubuntu ให้เรียบร้อยก่อนโดยทำตาม Link นี้เนื่องจากเป็น dependency ที่จำเป็นในการติดตั้ง ProcessWire เมื่อติดตั้ง LAMP เรียบร้อยแล้วให้ download processwire

ติตตั้ง git ก่อน

sudo apt-get install git

ที่ file virtual host default

sudo vim /etc/apache2/sites-available/000-default.conf


Continue reading

Monit คือ tools สำหรับ automatic monitor program, services, file หรือ permission ซึ่ง monit นั้นมาพร้อมกับ web interface ให้สามารถจัดการได้ง่ายขึ้น ซึ่ง build-in มากับ monit อยู่แล้วไม่ได้ติดตั้ง web server ใดๆ โดยในตัวอย่างจะติดตั้งบน Ubuntu Server 14.04 มีขั้นตอนดังนี้

ติดตั้งผ่าน package manager apt

sudo apt-get install monit

path ของ config file อยู่ที่ /etc/monit/monitrc ทำการเพิ่ม config ดังนี้

Continue reading

โดยปกตินั้น Monit นั้นไม่สามารถส่งแจ้งเตือนเป็น SMS ได้ แต่เราจะประยุกต์ให้สามารถส่งได้โดยการให้ไป run bash script ส่ง SMS แทน โดยมีขั้นตอนดังนี้

หาผู้ให้บริการส่ง sms ผ่าน API ในตัวอย่างจะใช้ของ web thsms.com เพื่อทดสอบซึ่งแบบ free จะสามารถส่งได้ 10 ข้อความ แล้วสร้าง file bash script ดังนี้

sudo vim /usr/local/bin/sendsms.sh

โดย username กับ password จะเป็นของ Account ที่สมัครไว้ที่ thsms.com และ TO คือโทรศัพท์ปลายทาง


Continue reading

InfluxDB นั้นสามารถทำ Cluster หลายๆ Node เพื่อช่วยกันทำงานได้ แต่ยังอยู่ในช่วยพัฒนาซึ่งจะ stable มากขึ้นใน major version 0.9 หรือ 0.10 การทำงานของ Cluster ใน InfluxDB นั้นจะมี Shards หรือจะเรียกว่าตัวแจกจ่ายข้อมูลไปแต่ล่ะ Node ถ้าต้องการให้ข้อมูลแจกจ่ายไปแต่ล่ะ node นั้นต้องแยก Shards space ให้มากกว่า 1 โดยขั้นตอนการตั้งค่า cluster ในแต่ล่ะ node มีดังนี้ ในตัวอย่างจะใช้ 2 host คือ influx1 เป็น host master ip 192.168.56.118 และ influx2 เป็น host node ที่จะไป Join กับ host master

ที่เครื่อง host influx1 เปิดไฟล์

sudo vim /opt/influxdb/shared/config.toml

แก้ไขดังนี้


Continue reading

sysdig คือ เครื่องมือสำหรับใช้ค้นหาปัญหาในระดับ system ซึ่งได้รวม tool ทุกอย่างไว้ใน application เดียวเช่น tcpdump, strace, lsof เป็นต้น เท่านั้นยังไม่พอ sysdig สามารถที่จะ save system activity เป็น file เพื่อใช้วิเคราะห์ปัญหาในภายหลังได้ ในบทความนี้จะลองใช้ sysdig มาทำ audit LAMP Server และดูว่าผลจะเป็นอย่างไร ในตัวอย่างจะติดตั้ง LAMP บน Centos 7 แล้ว และมี ip address 192.168.56.100

การติดตั้ง sysdig มีขั้นตอนดังนี้

ทำการ Import key ของ Draios เพื่อให้สามารถเพิ่ม Draios repository ได้

rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public

แล้ว download Draios repository และทำการ config yum ให้สามารถใช้ repo นี้ได้

curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo

ทำการ Enable EPEL Repository โดย EPEL คือ Extra Packages for Enterprise Linux ซึ่งต้องใช้เพื่อ download Dynamic Kernel Module Support (DKMS) package ซึ่ง sysdig ต้องใช้ และยัง download dependency อื่นๆ อีกด้วย


Continue reading

InfluxDB คือ time series, metrics และ analytics database ซึ่งเขียนด้วยภาษา Go ซึ่งไม่ต้องการ external dependency ใดๆ อีกแล้ว ในตอนนี้ InfluxDB ได้ออกมาล่าสุด version 0.8.8 ซึ่งยังเป็น alpha version อยู่ หรือยังอยู่ในระหว่างการพัฒนานั้นเอง InfluxDB มี feature ที่สำคัญได้แก่ ใช้ภาษา SQL, มี HTTP(S) API, สามารถเก็บ data ได้เป็นหลัก billions เลยทีเดียว, Built in management interface และอื่นๆ สามารถอ่านเพิ่มเติมได้ที่ website InfluxDB การติดตั้งนั้นก็ง่ายๆ โดยการ download package มาติดตั้งโดยใช้ dpkg หรือ rpm ในตัวอย่างใช้ OS Ubuntu server 14.04 ติดตั้ง InfluxDB มี ip address 192.168.56.118
เริ่มด้วยการ download package และติดตั้ง

wget http://s3.amazonaws.com/influxdb/influxdb_latest_amd64.deb; sudo dpkg -i influxdb_latest_amd64.deb

แล้วสั่ง start service InfluxDB

sudo service influxdb start

ที่นี้เรามาลองใช้งาน InfluxDB ผ่าน User interface ดูโดยใช้ Web browser เข้าไปที่ URL: http://192.168.56.118:8083


Continue reading

Nagios Remote Plugin Executor หรือ NRPE คือ addons ใช้สำหรับ monitor local resources บนเครื่อง client ที่เป็นระบบ linux ซึ่งบางอย่างไม่สามารถ monitor โดยใช้ SMNP v1,v2,v3 ได้ เราจะใช้ NRPE มา monitor เช่น การ monitor CPU, Memory, Storage เป็นต้น โดยหลักการทำงานคราวๆ ก็คือ icinga server จะเรียก plugin ของ nagios ที่ชื่อ check_nrpe แล้ว check_nrpe จะเชื่อมต่อไปที่ NRPE ที่อยู่บนเครื่อง linux client เพื่อที่จะดึงข้อมูลที่ monitor กลับไปแสดงที่ icinga โดย connection ระหว่าง server และ client จะถูกเข้ารหัสด้วย SSL เพื่อความปลอดภัยดังรูป

ในตัวอย่างจะมีเครื่อง icinga server 1 host ip 192.168.56.104/24 และ client ที่เป็น Ubuntu server 14.04 1 host ip 192.168.56.113/24


Continue reading

Node.js คือ open source runtime environment เพื่อสร้าง web application บน Server ได้อย่างง่ายๆ node.js นั้นจะ run บน command line เช่น node hello.js เป็นต้น ในบทความนี้จะบอกวิธีการ run เป็น service เพื่อให้ง่ายต่อการจัดการ web application หลายๆ web อันดับแรกให้ update os และติดตั้ง dependency ที่จำเป็นก่อน

sudo apt-get update && sudo apt-get install -y build-essential openssl libssl-dev pkg-config

ทำการติดตั้ง node.js โดยให้ donwload sourcecode จาก LINK นี้ก่อน

wget -c "http://nodejs.org/dist/v0.12.0/node-v0.12.0.tar.gz"

sudo tar -xzvf node-v0.12.0.tar.gz


Continue reading