Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

 Cũng khá lâu rồi chưa có bài viết nào, ngồi trên máy tính làm một số việc và lâu lâu mở tin tức tình hình dịch bệnh như thế nào, cầu mong cho dịch bệnh nhanh qua mau. Thường thì hay xem trên vnexpress, lâu lâu cứ mở nhưng lại hay lười muốn xem nhanh nên lấy thông tin đưa lên màn hình máy tính để xem cho nhanh.


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


Vậy hình trên là cái gì ?  Conky là một phần mềm miễn phí giám sát hệ thống máy tính để bàn có sẵn cho Linux, FreeBSD và OpenBSD...., có nghĩa là nó hiển thị các thông số máy, mình dùng để theo dõi tình trạng máy như thế nào.

Cài đặt nó như thế nào, xin thưa rằng khá là dễ và làm theo các bước sau là được :


sudo apt install conky-all
cp /etc/conky/conky.conf ~/.conkyrc

Vào file như bên dưới để config lại như mong muốn. Config như hình thì link sau : link


vi ~/.conkyrc

Sau khi cài xong nhớ dùng startup kích nó lên khi khởi động


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

OK, như trên là đã xong phần cài đặt và cấu hình cơ bản rồi, quay lại bài chính là muốn đưa dữ liệu covid lên để xem cho nhanh thì lấy từ đâu.


Có dạo qua trên mạng thấy nhiều người share api họ lấy về làm sẵn đưa ra json cho dùng nhiều rồi, thấy cũng tiện nhưng mình không dùng. Vì hay xem trên vnexpress nên quyết định xem nó có gì hay ho không, ở đây vì nhu cầu xem thông tin thôi nên quyết định lấy trực tiếp từ nó về.

Chuẩn bị data:


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


OK, nó có thông tin mình cần, đúng theo ý rồi, và họ có link data luôn, và phần này cám ơn họ vì data khá là đẹp nên dễ sài, thông tin có ích mà, nên cảm ơn họ :) Chịu khó ngồi đọc data và so sánh số liệu để hiểu nó có gì, cần có thời gian.


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

Sau một thời gian ngồi đọc và so sánh thì đã có được số liệu cần thiết


https://vnexpress.net/microservice/sheet/type/covid19_2021_281
https://vnexpress.net/microservice/sheet/type/covid19_2021_by_day
https://vnexpress.net/microservice/sheet/type/covid19_2021_by_map


Phần data đã có mình sẽ nhảy qua phần khác, lấy data về sao cho hợp lý và đúng với cái mình cần

Code python

Do nhu cầu chỉ lấy thông tin trong tỉnh nên regex cho nhanh lấy cái mình cần trong tỉnh, đó là hôm trước chỉ cần biết trong tỉnh.


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


Hôm sau nhìn thấy trong tỉnh không nên lấy thêm số liệu cả nước để xem luôn, nên quyết định code thêm xíu nữa, vì data khá đẹp nên dùng pandas cho nhanh.


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

Lấy ra được giá trị theo ý rồi thì sẽ nhảy qua phần tiếp theo


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop

Conky Configurations

Để xử lý được thằng này và dùng nó theo ý mình thì chịu khó đọc sơ qua tài liệu, xem nó cung cấp những các gì, phần này lướt nhanh chủ yếu tìm kiếm  biến nó đang hỗ trợ.


http://conky.sourceforge.net/variables.html


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


Như ở trên phần python nó giải quyết phần xử lý data, ở đây dùng offline, cứ hẹn 15 phút nó kéo về data mới, dùng luôn hỗ trợ của conky


${execi 900 curl -so ~/.cache/covid/covid19_2021_by_map.js 'https://vnexpress.net/microservice/sheet/type/covid19_2021_by_map'}
${execi 900 curl -so ~/.cache/covid/covid19_2021_281.js 'https://vnexpress.net/microservice/sheet/type/covid19_2021_281'}
${execi 900 curl -so ~/.cache/covid/covid19_2021_by_day.js 'https://vnexpress.net/microservice/sheet/type/covid19_2021_by_day'}


Nó sẽ hỗ trợ kéo data về lưu lại, vì mặc định vnexpress nó đặt là .js nên lấy nguyên con để dùng khỏi cần phải lăng tăng.

Phần tiếp theo là thiết kế sao cho nó đẹp đẹp phần giao diện hiển thị, ngồi thiết kế xúi nó ra như hình sau :)


${font sans-serif:bold:size=10} ${image ~/.cache/covid/img/virut.png -p 10,830 -s 60x60 } ${goto 85} COVID 19 - KHÁNH HÒA ${hr 2}
${font sans-serif:bold:size=9} Tổng    :${goto 240} ${execi 600 python ~/.cache/covid/pycovid.py --total } ${image ~/.cache/covid/img/covid.png -p 280,890 -s 15x15 }
${font sans-serif:bold:size=9} Hôm nay :${goto 240} ${execi 600 python ~/.cache/covid/pycovid.py --day } ${image ~/.cache/covid/img/covid.png -p 280,905 -s 15x15 }
${font sans-serif:bold:size=9} Hôm Qua :${goto 240} ${execi 600 python ~/.cache/covid/pycovid.py --yesterday } ${image ~/.cache/covid/img/covid.png -p 280,920 -s 15x15 }

${font sans-serif:bold:size=10}  COVID 19 - VIỆT NAM ${hr 2}
${font sans-serif:bold:size=9} Nhiễm ${goto 80}  : ${execi 600 python ~/.cache/covid/pycovid.py --vnall } $alignr Hôm nay  : ${execi 600 python ~/.cache/covid/pycovid.py --vntoday }
${font sans-serif:bold:size=9} Khỏi  ${goto 80}  : ${execi 600 python ~/.cache/covid/pycovid.py --vnrecoveredall } $alignr Hôm nay  : ${execi 600 python ~/.cache/covid/pycovid.py --vnrecovered }
${font sans-serif:bold:size=9} Tử vong ${goto 90} : ${execi 600 python ~/.cache/covid/pycovid.py --vndeaths }
${font sans-serif:bold:size=9} Điều trị ${goto 90} : ${execi 600 python ~/.cache/covid/pycovid.py --vntreatmentall } $alignr Hôm nay :  ${execi 600 python ~/.cache/covid/pycovid.py --vntreatment }

Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop


Cuối cùng là có ngay thông tin cần thiết, đây chỉ là cách làm ngẫu hứng lấy data covid để xem thôi, dựa theo những gợi ý ở trên có thể dùng Conky phục vụ vào khá là việc cần thiết :) Nếu muốn tham khảo thì vào link sau để xem full : link


Reference - Ngẫu hứng lấy thông tin tình trạng Covid hiển thị lên Conky Desktop



Nhãn:

Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình

 Tối nay trở lại với chủ đề là tạo domain .onion như thế nào, nói đến .onion thì tham khảo bài sau Hướng dẫn sử dụng Tor - Tor Browser or search TOR trên blog này rồi sẽ hiểu rồi nói chuyện tiếp :)


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình


Ở trên chỉ nói bla bla linh tinh để mục đích vào mấy bài trên trước đây có vài bài nói khá kỹ về cách sử dụng TOR, hôm nay rãnh rỗi chém gió cách tạo domain .onion.

Vậy .onion là cái gì ? .onion là một tên miền cấp cao nhất được sử dụng đặc biệt chỉ định một dịch vụ hành ẩn danh, trước đây được gọi là "hidden service", có thể truy cập thông qua mạng Tor.

Ví dụ như DuckDuckGo là một trang tìm kiếm như google, nó có địa chỉ .onion là  http://3g2upl4pq6kufc4m.onion/ và chỉ có mỗi trình duyệt như Tor mới mở được. OK, không nói dòng dài nữa bắt đầu thôi.

Vẫn như thường lệ, vẫn là em Centos 8, lộ trình bài này sẽ cài apache để chạy một trang web demo, sau đó đưa nó xuống Dark web với địa chỉ .onion.

1.Cài Apache đơn giản như sau, hoặc tham khảo bài hướng dẫn cài Apache trên Centos

yum install -y httpd


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình

yum install -y httpd
mkdir /var/www/tor.local
mkdir /var/www/tor.local/public_html
vi /var/www/tor.local/public_html/index.html (bla bla bla)

Thông tin web nằm ở trên, giờ cấu hình lại Virtualhost

vi  /etc/httpd/conf.d/tor.local.conf


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình

systemctl restart httpd.service 

2.Cài đặt Tor trên Centos 8

yum install epel-release
yum install tor
systemctl enable tor
systemctl start tor


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình

Phần quan trọng, config Tor để nó tự tạo ra địa chỉ .onion

vi /etc/tor/torrc


Mọi thông tin địa chỉ sẽ nằm ở phần này, nên điền thông tin giống hinh là ok


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình

systemctl restart tor
cat /var/lib/tor/hidden_service/hostname


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình


Như vậy là xong rồi đó, đơn giản nhanh mau lẹ trong một nốt nhạc, mọi thông tin Tor nó sẽ tạo ra hostname và mục đích nó sẽ forward các thông tin qua port như config ở trên.

Nhìn địa chỉ nó dài muốn nổ não, vậy có cách nào để làm nó ngăn hơn không, CÓ, dùng thêm một thằng trung gian để giải quyết đó là Eschallot hoặc Scallion, nhưng hiện tại  hai thằng này chỉ hỗ trợ v2 Onion addresses đến tháng 10/2021 này sẽ nâng lên v3 Onion addresses rồi, nên nếu muốn dùng thì còn vài bữa nữa là cùng.

https://github.com/lachesis/scallion


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình


Còn muốn dùng V3 thì dùng tool sau

https://github.com/cathugger/mkp224o


Hướng dẫn tạo domain .onion của Dark web nhanh bằng TOR ngầu như phim hoạt hình


Nhãn:

Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


OK, Tối nay rãnh rỗi ngẩu hứng làm một bài về Cluster sử dụng  Pacemaker cluster, tình hình cũng khá là ngẫu nhiên dọn gọn lại cái bàn làm việc là lôi ra em nó "Raspberry pi 3" , món quà của thằng ku làm chung ở Casino tặng  khi về bờ.


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


Khi cầm lên ngẫm nghĩ hay là làm một  bài về cluster cho vui, nhưng có một cái thì cluster cái gì lol.

Ok, không sao sau một hồi lọ mọ tìm cái đầu đọc thẻ nhớ và tải thêm iso về cài máy ảo thế là lòi ra được 3 con raspberry pi kaka.


Vì để phân biệt con chính và hai con ảo nên thứ tự đặt tên như sau:

192.168.1.50 pimaster (real)
192.168.1.51 pinode01 (fake)
192.168.1.52 pinode02 (fake)


Ok, giờ làm sao nữa hen, vì 100% phần trăm công lực đã tập trung vào Centos vs  Redhat nên làm sao bên đó thì bê qua đây như vậy là xúc thôi :)

Test thử trên Pi OS này chạy được Pacemaker như bên kia không

apt-cache search xxx bla bla bla các tên packed

OK, mọi thứ khá ngon lành thì tiến hành cài nhanh như sau:


sudo apt-get install -y fence-agents pcs pacemaker


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


Note: Đợi nó chạy vài phút là xong, có một điểm lưu ý như sau, hay nhìn lại ở trên cách của các con Pi, vì muốn phân biệt con thật là master, các con VMs thì node thôi nên cách đặt tên như vậy sẽ có sự khác biệt.


Khác biệt như thế nào, có nghĩa là khi cài đặt và enable service , tạo password hacluster thì mặc định con pi này nó tự tạo cluster với tên node1 là mặc định, vậy toang cmnr :) hạ hồi phân giải :)


sudo systemctl start pcsd.service 


sudo systemctl enable pcsd.service


Tiếp theo đặ password chó HACluster

sudo passwd hacluster


Xong nhập password vào là xong phần này, tương tự các node còn lai cứ cài i chang vậy, lưu ý nên để chung một password.


Như đã nói ở trên phần note, giờ nó đã nhận node1 làm mặc định, nên xóa nó đi như sau

sudo passwd hacluster

 lần lượt tất cả các node xóa nó đi và sau đó chạy xác thực như sau, ở đây chạy trên con đặt tên pimaster, đó là lý do tại sao nên đặt password giống nhau là vậy.

sudo pcs cluster destroy


sudo pcs host auth pimaster pinode01 pinode02


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS

Khi thây Authorized hết là xem như ngon lành rồi đó, tiến hàng tạo cluster thôi


sudo pcs cluster setup phamquangloc_cluster --start pimaster pinode01 pinode02


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS

Cuối cùng của phân tạo cluster là check kết quả xem sao


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS

Thấy online là coi như thành công, bước tiếp theo tắt STONITH(Shoot The Other Node In The Head) đi, cái này liên quan  đến phần cứng, khi đối với thiết bị phần cứng thì yêu cầu tắt đi, nên ở đây có 1 con thật nên tắt đi.Cái này hiểu nôm na rằng STONITH là một kỹ thuật giúp cô lập tài nguyên giúp loại bỏ các node nào mà ba linh tinh phát sinh lỗi như down... nôm na vậy


sudo pcs property set stonith-enabled=false


Sau khi hoàn tất cluster xem như là thành công rồi, nhưng Daemon Status nó mặc định chỉ enable pcsd thôi, nên hãy enable mọi thứ nó có như sau

sudo pcs cluster enable --all


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


sudo pcs cluster enable --all


Xong Cluster trên Raspberry Pi OS rồi đấy, khá là đơn giản, giờ cài đại apache để test node bla bla.

sudo apt install apache2


Cluster sẽ có 1 ip đại diện, mọi connection phải đi qua nó và nó chỉ con nào active là quyền của nó, cách tạo ip cluster như sau : IP cluster là 192.168.1.100

sudo pcs resource create ipcluster_apache IPaddr2 ip=192.168.1.100 cidr_netmask=24 --group apache


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS

Thử rút điện tắt một node xem nó tự nhảy không


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS

Mở lại con vừa tắt xem có online lại không và move nó về node chính


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


Mọi thứ xem như ok, còn muốn update thêm về pacemaker thì vào đây


Cách cài đặt Pacemaker cluster trên Raspberry Pi OS


Nhãn:

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi

Ngẫu hứng ngồi test Thunder Client và ngẫm nghĩ so sánh với Postman thì thế nào, liệu nó có thể thay thế được không. Công nghệ ngày càng phát triển đòi hỏi sử dụng cái gì củng phải nhanh gọn lẹ, nên cái nào đáp ứng được thì sẽ tốt hơn ?? liệu có đúng không ??


Đầu tiên nói về cài đặt:

Nói về phần cài đặt, ở đây đang dùng linux khi cài Postman thì phải ngồi đợi một xíu, cũng không nhanh lắm mới cài xong, còn lại Thunder Client mở VS Code lên search phát install chạy phà phà khá nhanh và tiện. :)

Postman

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi

Thunder Client 

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Chức năng thường dùng

Ví dụ công việc chính của nó đi, ở đây chỉ dùng những phương thức cơ bản như sau, kiếm đại API free nào đó test.

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi

Ok, tạo một API Access Token để test xem sao

Phương thức Post

Postman

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi

Thunder Client 

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi

Phương thức Get

Postman

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Thunder Client 

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Phương thức Patch

Postman

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Thunder Client 

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Phương thức PUT

Postman

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Thunder Client 

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Phương thức DELETE

Postman

Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Thunder Client 


Reference - So sánh Postman và Thunder Client ai sẽ làm chủ cuộc chơi


Test qua test lại thì có lẽ do thoái quen cá nhân khiến thao tác trên Postman nhanh hơn, nó dễ sử dụng hơn ngoại trừ lúc cài hơi lâu hơn Thunder Client xíu. Nhưng tùy theo thói quen hoặc tiếp cận lâu sẽ thành quen mà thôi. Như tiêu đề chỉ là chém gió cho vui thôi, vì lựa chọn là của mỗi cá nhân, nếu hợp thì dùng :)


Nhãn:

Hướng dẫn cài Kubernetes Dashboard v2.0.0+0.g1f66b1c trên Kubernetes Centos8

 

Ok, như bài trước đây có nói về cách cài đặt Kubernetes trên Centos8, quá trình cài đặt thì cũng đã hoàn tất ở phần này Hướng dẫn cài Kubernetes V1.21 với container runtime Cri-O . Như phần trước thì có nói cách cài Kubernetes Dashboard đơn giản thì bài này sẽ nói nhanh về phần này.


Hướng dẫn cài Kubernetes Dashboard  v2.0.0+0.g1f66b1c trên Kubernetes Centos8

Thực sự đối với Kubernetes Dashboard  này thì nó khá hữu ích, dùng để kiểm tra thông số này kia, viết file YAML hoặc json sẵn trực tiếp lên và chạy cũng tốt, riêng cá nhân mình chỉ dùng nó để check xem thồn tin , thông số bla bla thôi còn chính sẽ dùng CLI là chính . 

Thực hiện vài bước như sau:


[root@kubemaster ~]#kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0/aio/deploy/recommended.yaml


Tại sao dùng link trên, đơn giản vì chính chủ nó recommended như vậy, nó hỗ trợ tận răng rồi nên dùng sẽ tốt hơn, có thể tự viết lại và lấy vài thuộc tính phù hợp với nhu nếu muốn dùng.


Hướng dẫn cài Kubernetes Dashboard  v2.0.0+0.g1f66b1c trên Kubernetes Centos8



Ok, khá là nhanh như vậy đợi xíu là coi như nó cài xong rồi đây, đơn giản vậy thôi. Giờ có câu hỏi như thế này, cài xong thì sao vô được để xem, mình cần tạo user để vào, nó như sau.

Khi tạo user access vào Dashboard thì ta tham khảo các kind từ file recommended.yaml ở trên để có các lựa chọn phù hợp.

[root@kubemaster01 dashboard]# vi kubernetes-dashboard-loc-pham.yaml 
[root@kubemaster01 dashboard]# cat  kubernetes-dashboard-loc-pham.yaml 
apiVersion: v1
kind: ServiceAccount
metadata:
  name: admin-user-loc-pham
  namespace: kubernetes-dashboard
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: admin-user-loc-pham
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: cluster-admin
subjects:
- kind: ServiceAccount
  name: admin-user-loc-pham
  namespace: kubernetes-dashboard
[root@kubemaster01 dashboard]# 
[root@kubemaster01 dashboard]# kubectl apply -f kubernetes-dashboard-loc-pham.yaml


Hướng dẫn cài Kubernetes Dashboard  v2.0.0+0.g1f66b1c trên Kubernetes Centos8


Hiển thị thông tin token đăng nhập ra, copy lại dùng để dăng nhập

kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user-loc-pham | awk '{print $1}')


Hướng dẫn cài Kubernetes Dashboard  v2.0.0+0.g1f66b1c trên Kubernetes Centos8

Vậy xem như là xong rồi đó, chạy kubectl proxy nó trả ra port 8001 default là nhập token vào chạy thôi.

Như trên nếu server master của bạn có Gui đăng nhập, như server trên màn hình đen thui thì sao, thật sự có khá nhiều cách để public dashboard này ra ngoài và dùng được token, chăng hạn như là dùng ssl https vẫn được.

Phần demo này làm nhanh bằng cách chơi chiêu "Ve sầu thoát xác" theo phong cách chém gió trà đá, còn gọi chính quy là SSH Tunneling (Port Forwarding), vì làm vậy cho nó nhanh mau lẹ, đảm bảo vẫn dùng ok :)


Hướng dẫn cài Kubernetes Dashboard  v2.0.0+0.g1f66b1c trên Kubernetes Centos8

Trên máy local cứ đăng nhập vào là dùng thôi

http://localhost:3000/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/#/login


Hướng dẫn cài Kubernetes Dashboard  v2.0.0+0.g1f66b1c trên Kubernetes Centos8

Cuối cùng là kết quả bla bla


Hướng dẫn cài Kubernetes Dashboard  v2.0.0+0.g1f66b1c trên Kubernetes Centos8

Tùy theo nhu cầu user phân quyền như thế nào thì cú áp vào mà dùng.

Cuối cùng Bonus thêm cách config completion để gợi ý nhắc kubeclt để thực hiện cho nhanh.

Hướng dẫn cài Kubernetes Dashboard  v2.0.0+0.g1f66b1c trên Kubernetes Centos8


Nhãn: