TeamViewer QuickSupport

สำหรับการเขียน blog ในรอบนี้ คิดอยู่นานว่าจะเขียนอะไรดี แต่เนื่องด้วยภาระหน้าที่ในงานส่วนใหญ่ที่ทำ คือการ support ให้กับลูกค้า และ ณ ปัจจุบันนี้ กลุ่มของลูกค้าที่ทางผู้เขียนต้องติดต่อประสานงานด้วยนั้น ก็หลากหลายมากกกกก (กอ ไก่ หมื่นตัว – -“) และปัญหาหลักๆ ที่เกิดขึ้นก็คือ การอธิบายปัญหาระหว่างลูกค้า และตัวเรานั้น “เข้าใจไม่ตรงกัน”   ดังนั้นวันนี้ทางผู้เขียนจึงอยากจะแนะนำ Application ที่จะช่วยให้การติดต่อ ระหว่างเครื่อง Notebook ของเรา กับเจ้า Tablet หรือ Smartphone ของลูกค้า ง่ายขึ้นไปอี๊กกกก ^__^   TeamViewer QuickSupport เป็น Application ที่มีให้ดาวน์โหลดทั้งบน iOS และ Android ละนะ สำหรับตัวอย่างหน้าตา App ก็คล้ายๆ ตัว TeamViewer ที่เราใช้บน PC หรือ Notebook นี่แหละ   ** แต่ต้องขอบอกก่อนว่า feature ที่ได้เนี่ยอาจจะไม่เหมือนกันนะ สำหรับ samsung ก็จะมี quicksupport for samsung เลย สำหรับรุ่นอื่นๆ ก็อาจจะต้องมีการลง add-on เพิ่มเติม เพื่อที่จะสามารถใช้งาน feature remote control ได้ และสำหรับเจ้า add-on เนี่ย ก็ไม่ได้มีทุกค่ายนะ ยังไงก็สามารถทดลองเล่นๆ กันดูได้ เริ่มแรกก็สามารถเข้าไปดาวน์โหลดได้ที่ Play Store ค้นหา App teamviewer quicksupport จากนั้นคลิก Install กันได้เลย เมื่อติดตั้งเรียบร้อยแล้วก็ Open โปรแกรมขึ้นมา *** สำหรับเครื่องไหนที่จะต้องดาวน์โหลด add-on เพิ่มเติม มันก็จะมี pop up แจ้งบอกเรานะ สำหรับ add-on ก็มีจะเยอะแยะหลายรุ่น ลองเลือกๆ กันดูได้เลย เปิด TeamViewer บน PC หรือ Notebook ขึ้นมา เพื่อเริ่มต้นการ Remote หน้าจอของผู้ใช้ นำ Your ID ของลูกค้ามากรอกในช่อง Partner ID จากนั้น คลิก connect to partner *** แต่ถ้าคอมพิวเตอร์เราไม่มีโปรแกมดังกล่าว ก็สามารถเข้าผ่าน https://start.teamviewer.com ได้เหมือนกันนะ เมื่อเริ่มต้น connect บนฝั่งของทาง smartphone ของลูกค้าก็จะมีการให้ยืนยันการเชื่อมต่อ ว่าจะ อนุญาต หรือปฏิเสธ ให้เลือกอนุญาต จากนั้นการเชื่อมต่อก็จะพร้อมใช้งานได้ทันที 🙂 เมื่อเชื่อมต่อเรียบร้อยแล้ว เราก็จะเห็นหน้าจอของลูกค้า ผ่านทางเครื่องคอมพิวเตอร์ของเรา และสามารถควบคุมอุปกรณ์ได้จากระยะไกล หรือสามารถตรวจสอบสถานะอุปกรณ์ ติดตั้ง App หรือจะตั้งค่าข้อมูลต่างๆ บน Smartphone หรือ Tablet ของลูกค้าได้อย่างง่ายดาย จากนี้ต่อไป ไม่ว่าลูกค้าของเราจะอยู่ส่วนไหนของมุมโลก เพียงแค่มี Internet และ App เทพตัวนี้ Teamviewer quicksupport เราก็จะสามารถ Remote เพื่อเข้าไปดูหน้าจอจริงๆ ไปดูปัญหาที่ลูกค้าเจอจริงๆ ได้อย่างง่ายดาย และรวดเร็ว สรุปประโยชน์ของ App ตัวนี้ สามารถเชื่อมต่อ ระหว่าง เครื่องคอมพิวเตอร์ กับ อุปกรณ์เคลื่อนที่ เพื่อทำการช่วยเหลือ ในกรณีที่เกิดปัญหาต่างๆ ได้ทันที แม้จะอยู่กันคนละซีกโลก ! สามารถถ่ายโอนไฟล์ระหว่างกันได้ เช่น รูปภาพ PDF หรืออื่นๆ สามารถ แชท (ส่งข้อความ) ระหว่างกันได้ทันที โดยไม่จำเป็นต้องโทรติดต่อกันให้ยุ่งยาก สามารถตรวจสอบ ข้อมูลอุปกรณ์ รายละเอียดของอุปกรณ์ (Smartphone หรือ

Read More »

ELK #03

วิธีการติดตั้ง Kibana บน Ubuntu 16.04 ก่อนอื่น Update sudo apt -y update ; sudo apt -y upgrade ติดตั้ง Java JDK sudo apt -y install default-jdk Download และติดตั้ง wget https://artifacts.elastic.co/downloads/kibana/kibana-5.4.2-amd64.deb sudo dpkg -i kibana-5.4.2-amd64.deb จากนั้นแก้ไขไฟล์ /etc/kibana/kibana.yml เพิ่มบรรทัดสุดท้าย server.host: “192.168.xxx.yyy” elasticsearch.url: “http://your.elastic.host:9200” จากนั้น Start Service sudo service kibana start เปิด Web Browser ไปที่ http://192.168.xxx.yyy:5601

Read More »

ELK #02

ขั้นตอนการติดตั้ง Logstash บน Ubuntu 16.04 ก่อนอื่น Update sudo apt -y update ; sudo apt -y upgrade ติดตั้ง Java JDK sudo apt -y install default-jdk Download และติดตั้ง wget https://artifacts.elastic.co/downloads/logstash/logstash-5.4.2.deb sudo dpkg -i logstash-5.4.2.deb Start Logstash Service sudo service logstash start ต่อไป สร้าง Configuration ไว้ใน /etc/logstash/conf.d/ เช่น จะสร้าง Pipeline ที่อ่านจาก File /tmp/test.log แล้ว ส่งไปที่ Elasticsearch โดยตรง ให้สร้างไฟล์ /etc/logstash/conf.d/file.conf ดังนี้ input { file { path => “/tmp/test.log” type=> “test” } } output { file { path => “/tmp/output.txt” } } เมื่อลองใช้คำสั่ง echo “$(date): New World” >> /tmp/test.log ก็จะปรากฏไฟล์ /tmp/output.txt ขึ้น ต่อไป ลองเปลี่ยน Output เป็น Elasticsearch โดยการสร้างไฟล์ /etc/logstash/conf.d/es.conf input { file { path => “/tmp/test.log” type=> “test” } } output { elasticsearch { hosts => [“http://your.elastic.host:9200”] } } เมื่อลองใช้คำสั่ง echo “$(date): New World” >> /tmp/test.log ก็จะปรากฏบรรทัดใหม่ใน /tmp/output.txt และ มีการเขียนไปบน Elasticsearch ด้วย ลองเปิด Web Browser แล้วใช้คำสั่งต่อไปนี้ http://your.elastic.host:9200/_cat/indices?v ก็จะได้ผลลัพธ์ประมาณนี้ จากนั้น วิธีที่จะแสดงผลที่เก็บไว้ใน Elasticsearch ให้เปิด URL นี้ http://your.elastic.host:9200/logstash-2017.06.24/_search?q=* ก็จะได้ผลลัพธ์ประมาณนี้ แล้วยังไง ??? รอดูตอนต่อไป

Read More »

ELK #01

ELK = ElasticSearch + LogStash + Kibana วิธีการติดตั้ง ElasticSearch บน Ubuntu 16.04 ก่อนอื่น Update sudo apt -y update ; sudo apt -y upgrade ติดตั้ง Java JDK sudo apt -y install default-jdk Download และติดตั้ง wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.deb sudo dpkg -i elasticsearch-5.4.2.deb sudo update-rc.d elasticsearch defaults 95 10 แก้ไขไฟล์ /etc/elasticsearch/elasticsearch.yml โดยเพิ่มบรรทัดสุดท้าย cluster.name: my-cluster-name network.host: [_site_] node.name: ${HOSTNAME} เริ่มทำงาน sudo -i service elasticsearch start ทดสอบการทำงาน โดยใช้คำสั่ง curl -XGET “${HOSTNAME}:9200/?pretty” ดู Log ได้ที่ sudo tail -f /var/log/elasticsearch/my-cluster-name.log

Read More »

วิธีการติดตั้ง Kubernetes Add-on DNS และ DashBoard

Kubernetes มี DNS กับ GUI ให้ใช้งานบ้างไหม             หลังจากติดตั้ง Kubernetes แล้วการสร้าง containner โดยในที่นี้เรียกว่า pod (ใช้เรียก 1 containner หรือกลุ่มของ containner ก็ได้) ซึ่งสามารถสร้างด้วยคำสั่ง Kubectl ได้เลย (สร้างจากที่ไหนก็ได้) สำหรับผู้ที่ยังไม่ได้ติดตั้ง ต้องติดตั้งก่อนตามวิธีติดตั้ง Kubernetes บน CoreOS ตอนที่ 1[1] และ ตอนที่ 2[2]  สำหรับ Add-on ที่แนะนำจะเป็น DNS และ Dashboard ซึ่งเรียกได้ว่าจำเป็นต้องมี ไม่งั้นชีวิตจะยุ่งยากขึ้นเยอะครับ คงไม่มีใครอยากดูรายการ pod เยอะ ๆ ด้วย command line กันนะครับ  วิธีการติดตั้ง DNS-Addon[3] เข้าไปยังเครื่องที่ติดตั้ง Kubectl ไว้แล้ว ทำการสร้าง yaml file ดังนี้ (ถ้า vim วางแล้วเพี้ยนให้ใช้ nano แทน) nano dns-addon.yaml เนื้อหาในไฟล์ดังนี้ (อย่าลืมเปลี่ยน &gt; เป็น > เวลา Copy & Paste ด้วยครับ) apiVersion: v1 kind: Service metadata: name: kube-dns namespace: kube-system labels: k8s-app: kube-dns kubernetes.io/cluster-service: “true” kubernetes.io/name: “KubeDNS” spec: selector: k8s-app: kube-dns clusterIP: <DNS Cluster-IP> ports: – name: dns port: 53 protocol: UDP – name: dns-tcp port: 53 protocol: TCP — apiVersion: v1 kind: ReplicationController metadata: name: kube-dns-v20 namespace: kube-system labels: k8s-app: kube-dns version: v20 kubernetes.io/cluster-service: “true” spec: replicas: 1 selector: k8s-app: kube-dns version: v20 template: metadata: labels: k8s-app: kube-dns version: v20 annotations: scheduler.alpha.kubernetes.io/critical-pod: ” scheduler.alpha.kubernetes.io/tolerations: ‘[{“key”:”CriticalAddonsOnly”, “operator”:”Exists”}]’ spec: containers: – name: kubedns image: gcr.io/google_containers/kubedns-amd64:1.9 resources: limits: memory: 170Mi requests: cpu: 100m memory: 70Mi livenessProbe: httpGet: path: /healthz-kubedns port: 8080 scheme: HTTP initialDelaySeconds: 60 timeoutSeconds: 5 successThreshold: 1 failureThreshold: 5 readinessProbe: httpGet: path: /readiness port: 8081 scheme: HTTP initialDelaySeconds: 3 timeoutSeconds: 5 args:

Read More »