Danh mục: DevOps

Ghi chú – Kiểm tra hiệu năng Postgres

Để kiểm tra hiệu năng của Postgres ta có thể dùng tool có sẵn pgbench như sau Tạo dữ liệu test Kiểm tra hiệu năng với 10 connections Với Ubuntu nếu chỉ cái postgres-client mà chưa có pgbench thì có thể cài thêm như sau

Ghi chú – Giải pháp sử dụng Jenkin slave chạy docker cập nhật image mới lên kubernetes

Mình sử dụng Rancher2 để triển khai kubernetes cluster trên các hệ thống mình chịu trách nhiệm quản lý và kỹ thuật. Trước đây mình thường dùng rke tool để triển khai k8s nhưng hiện giờ mình dùng script để triển khai k3s. Giải pháp CI/CD của mình là toàn bộ triển khai trên docker hết: Jenkin Jenkin slave GitLab Jira Trước đây mình thường dùng rancher cli để cập nhật image mới lên kubernetes. Địa chỉ Rancher và token mình để trong credentials của Jenkin Nhưng gần đây mình gặp vấn đề về certificate khi rancher chạy trong môi trường Air gapped hoặc VPN (chỉ có thể truy cập Rancher GUI từ VPN). Để giải quyết vấn đề này mình chuyển sang dùng kubectl trực tiếp bằng cách mount file ~/.kube/config từ configMap vào Jenkin slave. Câu lệnh update image trước đây Câu lệnh mới

Ghi chú – Xử lý lỗi oom_score_adj khi chạy dind trên kubernetes

Khi chạy docker in docker (dind) trên k3s mình gặp lỗi Lỗi này là do Trước đây mình dùng docker image docker:dind, image này vừa được cập nhật lên version dind:20-dind và version này sử dụng containerd v1.4.3 k3s của mình sử dụng containerd version cũ hơn  k3s: v1.18.9+k3s1 containerd: v1.3.3-k3s2 Giải pháp  Để xử lý vấn đề này mình rollback dind về version docker:19.03.12-dind

Các hệ thống cần có để phát triển phần mềm

Tên Yêu cầu 1 Hệ thống quản trị source code – Sử dụng GIT– Dữ liệu được backup hàng ngày và đẩy vào nơi lưu trữ an toàn (vd: cloud) 2 Hệ thống quản trị công việc Tham khảo Jira, Open Project 3 Hệ thống quản trị tài liệu Tham khảo Conflunce, Wiki 4 Hệ thống tích hợp triển khai […]

DevOps – Cảnh báo giám sát

Các đối tượng cần giám sát STT Đối tượng Thông số giám sát Tiêu chí giám sát Tham khảo  1 Server CPURAMHDDNetwork (bandwidth)IO UP/DOWNLoad averageCPURAMHDDBandwidthIO https://github.com/prometheus/node_exporter 2 Docker container CPURAMHDDNetwork (bandwidth)IO UP/DOWNCPURAMHDDBandwidthIO 3 URL Http status UP(200)/DOWN(5xx) https://github.com/prometheus/blackbox_exporter 4 Nginx Active connectionAcceptsHandledRequestsReadingWrittingWaiting ? https://github.com/vozlt/nginx-module-vtshttps://github.com/hnlq715/nginx-vts-exporter 5 MySQL UP/DOWNSQL connections (>75% max_connection) https://github.com/prometheus/mysqld_exporter 6 Redis UP/DOWN https://github.com/oliver006/redis_exporter 7 RabbitMQ UP/DOWNTồn queue:– queue có >100 messages trong 1 phút → YELLOW– queue […]

DevOps – Log tập trung

STT Loại log Trường cần log Nguồn 1 Application log service (eg: topkid-feedback-prod)timestampmessagelog_level (eg: ERROR) kafka app-* 2 NGINX ingress access log @timestampclient_ipdocker.container_idhttp_hosthttp_methodhttp_pathhttp_refererhttp_user_agentrequest_timestatusupstream_addrupstream_connect_timeupstream_header_timeupstream_response_timeupstream_statususer_iduser_nameuser_roleapp_osapp_uuidapp_version ? ingress-access* 3 NGINX ingress error log @timestampdocker.container_idhostlog_levelmessage ? ingress-error* 4 MYSQL slow log timestamp (start_time) query_dbquery_hostquery_ipquery_lock_timequery_rows_affectedquery_rows_examinedquery_rows_sentquery_sqlquery_timequery_user rsyslog mysql_slow-* 5 MYSQL error log timestampsysloghostloglevelmessage rsyslog mysql-* 6 Server AUTH log sysloghosttimestampmessagessh_authmethodssh_authresultssh_client_ipssh_protocolssh_user ? auth-* 7 Server […]