วิธีสร้างสมุดโทรศัพท์ของหน่วยงานด้วย Google Contact

เคยเป็นไม๊ จะโทรศัพท์หาเพื่อนร่วมงาน แต่ไม่รู้ว่า เบอร์มือถือ เบอร์ที่โต๊ะ หรือ Email อะไร วิธีการที่บางหน่วยงานทำ คือ ทำแผ่นพับเป็นสมุดโทรศัพท์เก็บใส่กระเป๋าตังค์บ้าง เป็นกระดาษแปะบ้าง บางทีก็หาย บางทีก็ไม่ได้พกบ้าง หรือ บางทีทำเป็นเว็บให้ค้นหาบ้าง … บางแห่งถึงกับต้องลงแรงเรียน Mobile App ก็มี (อิอิ) จะดีกว่าไม๊ ถ้าแค่ฝ่ายบุคคล แค่รวบรวม ชื่อ นามสกุล ชื่อเล่น เบอร์มือถือ เบอร์โต๊ะ และ Email ใส่ Excel แล้วจากนั้น ใครใคร่จะ Import ใส่ Google Contact ของตนเองได้เลย แล้วหลังจากนั้น จะโทร จะค้นหา ก็สามารถทำในมือถือของตนเองได้เลย !!! ไม่ต้องพก ไม่ต้องติดตั้ง App เพิ่ม ใช้ได้ทั้ง iOS, Android และบน Computer ก็ยังได้ มาดูกัน สร้าง Excel เก็บข้อมูล การนำเข้า (Import) ข้อมูลเข้า Google Contact มีทริคนิดเดียว คือ บรรทัดแรกของไฟล์ จะต้องเป็น Header ที่กำหนดชื่อตามรูปแบบมาตราฐาน กล่าวคือ ตั้งหัวข้อว่า “ชื่อ”, “นามสกุล”, “ชื่อเล่น”, “มือถือ”, “เบอร์โต๊ะ” อะไรอย่างนี้ +++ไม่ได้+++ ต้องตั้งเป็น “Given Name”,”Family Name”, “Name Suffix”,”Phone 1 – Type”,”Phone 1 – Value”,”Phone 2 – Type”,”Phone 2 – Value”,”Group Membership” Given Name = ชื่อFamilay Name = นามสกุลName Suffix = ใช้เป็นชื่อเล่นก็ได้Phone 1 – Type = ประเภทโทรศัพท์อันที่ 1 (เช่น Mobile)Phone 1 – Value = หมายเลขโทรศัพท์อันที่ 1 (เช่น เบอร์มือถือ) Phone 2 – Type = ประเภทโทรศัพท์อันที่ 2 (เช่น Work)Phone 2 – Value = หมายเลขโทรศัพท์อันที่ 2 (เช่น เบอร์โต๊ะ) Group Membership = จะให้ Label ว่าอย่างไร ดังตัวอย่างนี้ จากนั้น Save เป็นแบบ CSV File สมมุติชื่อว่า contact.csv นำเข้า Google Contact เสร็จแล้ว ก็จะได้ใน Google Contact มี Label ตามภาพ (1 contact มีหลาย ๆ label ได้)ในภาพ จะเห็นว่า Contact ที่เพิ่งนำเข้าไป จะปรากฏใน Label cc2019, myContact และ Imported on 5/7 ซึ่งเป็น Default วิธีการนี้ มีข้อดีคือ แม้จะมี contact ที่ซ้ำกัน ก็ไม่เป็นไร เราสามารถ Merge ทีหลังได้ หรือ เลือกลบที่เป็น Label ของปีก่อน ๆ ได้

Read More »

วิธีการจองทรัพยากร (ห้องประชุม/รถ/Projector/etc…) ใน Calendar ของ G Suite for Education

ข้อแตกต่างระหว่าง Calendar ของ G Suite for Education กับ Free Gmail สร้าง Event เพิ่มผู้เข้าร่วมประชุม และ จองทรัพยากร คลิกในช่อง วันบนปฏิทิน ที่เราต้องการนัดประชุม กรอกหัวข้อการประชุม แล้ว ใส่รายชื่อ ผู้เข้าร่วมประชุมและเลือกห้องประชุม คลิกที่ See guest availability เพื่อดูว่า ว่างพร้อมกันหรือไม่ ทั้งผู้เข้าร่วมประชุม และ ห้อง หากบางคนไม่ว่างในเวลาที่กำหนด สามารถคลิก Suggested times เพื่อให้ Google Calendar หาเวลาที่ว่างพร้อมกันหมดได้ ใส่คำอธิบาย หัวข้อการประชุมก็ได้ เมื่อกดปุ่ม Save ระบบจะแจ้งว่า ให้ส่ง Email ไปแจ้งผู้เข้าร่วมประชุมหรือไม่ แนะนำว่าควรคลิก Send เพิ่มเติม เมื่อคลิกเข้ามาดูรายละเอียดการนัดประชุม ใน G Suite for Education มีบริการ Hangouts Meet ให้ในตัว (นัดหมายด้วย Free Gmail จะสร้างห้องเองไม่ได้ ทำได้แต่ Join เข้ามา) ซึ่งทำได้ทั้ง Video Call หรือ จะ Phone In ก็ได้ (อันนี้ไม่เคยลอง) ดูได้ว่า ใครตอบรับ/ปฏิเสธ/ยังไม่ตอบ (เค้าเรียกว่า RSVP – Répondez s’il vous plaît – Please respond) มีแจ้งเตือนก่อนการประชุมจะเริ่ม ตั้งค่าได้ว่าต้องการก่อนเวลานานขนาดไหน (ในตัวอย่างตั้งไว้ 10 นาที) Free Gmail ทำได้แค่นี้ ต่อไป เป็นตัวอย่างนัดกับผู้ที่มีตารางนัดหมายแน่น ๆและแสดงการจอง ห้องประชุม และ Projector เลือก จำนวนชั่วโมง (ในที่นี้ 1 ชั่วโมง) แล้วเลื่อนหาช่องที่ว่างตรงกันได้ การทำรายงานการใช้ทรัพยาการ (ยกตัวอย่างห้องประชุม) คลิกที่ รูปแว่นขยาย เลือก ปฏิทินของทรัพยากร (ในที่ คือห้องประชุม) ที่ต้องการดู แล้วเลือก ช่วงเวลาที่จะทำรายงาน (ในที่นี้ เป็นตัวอย่างการทำรายงานการใช้ ห้องประชุม ตั้งแต่ 1 พฤษภาคม – 31 พฤษภาคม) แล้ว คลิก ปุ่ม Search ก็จะได้รายงานอย่างนี้ หวังว่าจะเป็นประโยขน์ครับ

Read More »

ELK #08 Oracle Audit Trail

ต่อจา ELK #07 – Logstash คราวนี้ มาใช้งานจริง โดยใช้ ELK เพื่อเก็บ Log ของ Oracle Audit Trail Oracle Audit Trail บน Database Server เก็บ Log ในรูปแบบ XML โดยแต่ละ Event จะมี tag <AuditRecord> … </AuditRecord> คุมอยู่ ที่แตกต่างจาก Log ทั่วไปคือ ในแต่ละ Event จะมีเครื่องหมาย CRLF (การขึ้นบรรทัดใหม่) เป็นระยะ ๆ ออกแบบให้ Logstash รับข้อมูล (Input Plugin) จาก TCP Port 5515 ซึ่งต้องใช้ Codec ในการรวบ Multiline ในแต่ละ Event เข้าด้วยกัน โดยหา pattern “<AuditRecord>” เป็นจุดเริ่มต้น ส่วนบรรทัดที่ไม่เจอ Pattern ดังกล่าวนั้นการตั้งค่า negate => “true” เป็นการบอกว่า “ให้ดำเนินการต่อไป” โดยจะเอาบรรทัดที่ตามมาจากนี้ ต่อท้าย ด้วยการตั้งค่า what=> “previous” ในส่วนของ Filter Plugin จะอ่านค่าจาก “message” และ ส่งสิ่งที่ถอดจาก XML ได้ ไปยัง “doc” ในส่วของ Output Plugin จะส่งออกไปยัง ElasticSearch ที่ TCP port 9200 ดัง Configuration ต่อไปนี้ จากนั้น ทาง Oracle Database Server ทำการเปิด Audit Trail แล้วเขียน Log ลงไฟล์ แล้วเขียน Cron เพื่อ Netcat ไฟล์ส่งมาให้ Lostash ที่เปิด Port TCP 5515 ไว้รอรับ ผลที่ได้คือ โดยวิธีนี้ จะเป็นการนำ Log ซึ่งจากเดิมเป็น Text Format นำมาเป็น NoSQL ได้ ซึ่งจะสามารถ Query ข้อมูลได้ง่ายยิ่งขึ้น หวังว่าจะเป็นประโยชน์ครับ

Read More »

อัปเดต Apache2 ให้ได้เวอร์ชั่นล่าสุดด้วย Third-Party PPA ของ ondrej

พบว่า ubuntu 16.04 จะใช้ apache2 v 2.4.18 แม้ว่าเราจะสั่ง apt update; apt upgrade แล้วก็ตามเมื่อเช็คด้วยคำสั่ง apache2 -v จะพบว่ายังคงเป็นเวอร์ชั่น 2.4.18 เช่นเดียวกับ ubuntu 18.04 จะใช้ apache2 v 2.4.29 เท่านั้น หลังจากหาข้อมูลอยู่ทั้งวัน มีผู้ให้ข้อมูลใน google search ว่า ทีมพัฒนาจะไม่เปลี่ยนเวอร์ชั่นใน ubuntu ตาม upstream developer จนกว่าจะทดสอบและออก ubuntu next release หากต้องการเป็นเวอร์ชั่น 2.4.39 ณ วันนี้ (4 เม.ย. 62 หลังจากข่าวช่องโหว่ apache2 2 วัน) ก็ต้องใช้ Third-Party PPA ของ ondrej (ผู้พัฒนาคนหนึ่งที่ทำ Debian Package) เพิ่มเติมล่าสุด (5 เม.ย. 62) ทำใน ubuntu server อีกเครื่องที่ยังไม่ได้ทำแบบ PPA $ sudo apt-get update ; sudo apt-get dist-upgrade $ apache2 -v Server version: Apache/2.4.18 (Ubuntu) Server built: 2019-04-03T13:34:47$ dpkg -l | grep apache2 ii apache2 2.4.18-2ubuntu3.10 amd64 Apache HTTP Server พบว่ามีการปรับปรุงเวอร์ชั่น Server built 2019-04-03 ซึ่งตามหลัง patch PPA ไม่กี่ชั่วโมง ใครยังไม่สนใจจะเปลี่ยนเป็นเวอร์ชั่น 2.4.39 ก็น่าจะไม่ต้องทำแบบ PPA ตามข้อมูลใน link นี้ https://usn.ubuntu.com/3937-1/ และ https://launchpad.net/ubuntu/xenial/+source/apache2/+changelog ข้อควรระวัง ให้ตรวจสอบว่ามีการเข้าไปปรับแต่งไฟล์ apache2.conf ไว้หรือไม่ ต้องมีการทำ backup ไว้ก่อนอัปเดต เช่น บางท่านอาจไปเขียน Rewrite Rule ในไฟล์นี้ เป็นต้น ก็ต้องแก้ไขหลังจากอัปเดต รวมถึง Apache configuration files อื่น ๆ ที่เราใช้ เราต้องมี backup อย่างไรก็ตามก่อนทำอัปเดต ต้องมั่นใจว่าถ้า server เราเป็น VM ก็ต้องมีการ backup VM ไว้ก่อน จะอุ่นใจขึ้น sudo add-apt-repository ppa:ondrej/apache2sudo apt-get updatesudo apt-get upgrade หลังจากอัปเดต เช็คเวอร์ชั่นด้วยคำสั่ง apache2 -v ได้เวอร์ชั่นล่าสุด Server version: Apache/2.4.39 (Ubuntu)Server built: 2019-04-02T20:30:08 หากพบว่า ยังคงได้ version เดิม ตรวจสอบดู output จะพบว่า Reading package lists… DoneBuilding dependency treeReading state information… DoneCalculating upgrade… DoneThe following packages have been kept back: apache2 apache2-bin apache2-data apache2-utils libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap openssl 0 upgraded,

Read More »

DevOps Meeting #1

รวม Link ที่ใช้งานแลกเปลี่ยนเรียนรู้ DevOps Meeting #1 นิติ โชติแก้ว คณะการแพทย์แผนไทย https://github.com/kamranahmedse/developer-roadmap?fbclid=IwAR173OU52vQhn-CFlpYmLUbMons6zWTd8Jp3B6bxLxo-j3NddiWHiJZMRgU อัษฎายุธ อุบลกาญจน์ สำนักทรัพยากรการเรียนรู้คุณหญิงหลง อรรถกระวีสุนทร https://goo.gl/phwKvZและ ธวัช วราไชย คณะวิศวกรรมศาสตร์ https://cloud.eng.psu.ac.th/s/yaf9GwTXFfbZskD

Read More »