1. Trước khi bắt đầu
Tài liệu này hướng dẫn bạn cài đặt Akabot Center theo mô hình High Availability (“Fail Over”) như hình minh họa bên dưới:

Thành phần mô hình:
| # | Thành phần | Mô tả |
|---|---|---|
| 1 | Nginx Load Balancer | Nginx đóng vai trò “điều phối lưu lượng”, định tuyến yêu cầu từ người dùng đến các máy chủ Akabot Center, giúp tối ưu tốc độ, dung lượng và ngăn việc một máy bị quá tải. |
| 2 | Akabot Center | Quản lý việc tạo, giám sát và triển khai Akabot Agent trong môi trường của bạn. |
| 3 | ActiveMQ Service | Ứng dụng nhắn tin, hỗ trợ các chức năng liên quan đến hàng đợi (queue) trong Akabot Center. |
| 4 | ELK Stack | Giải pháp phân tích log toàn diện giúp tìm kiếm, phân tích và hiển thị log do Akabot Center tạo ra. |
| 5 | Redis Cache | Bộ nhớ dữ liệu trong RAM (in-memory), dùng làm cơ sở dữ liệu, bộ nhớ đệm, message broker và engine truyền dữ liệu, giúp giảm tải truy cập cơ sở dữ liệu chính. |
Với các mô hình khác hoặc nâng cấp Akabot Center, vui lòng liên hệ điều phối viên dự án (nếu có) hoặc gửi email đến support@akabot.com để được hướng dẫn.
Đội ngũ akaBot luôn ở đây để hỗ trợ bạn cài đặt thành công.
Lưu ý: Hãy đọc kỹ các phần dưới đây và chuẩn bị đầy đủ tài nguyên trước khi bắt đầu để đảm bảo cài đặt thành công.
1.1. Yêu cầu phần cứng
Để cài đặt và sử dụng akaBot Center trong mô hình High Availability, bạn cần chuẩn bị các yêu cầu về phần cứng dưới đây:
| # | Máy chủ | Số lượng | CPU (Core) | RAM | Ổ SSD | Ghi chú |
|---|---|---|---|---|---|---|
| 1 | Akabot Center | 2 | ≥ 8 | ≥ 32GB | ≥ 500GB | Máy chủ để cài Akabot Center |
| 2 | ActiveMQ | 2 | ≥ 8 | ≥ 16GB | ≥ 250GB | Máy chủ để cài ActiveMQ |
| 3 | ELK | 1 | ≥ 16 | ≥ 16GB | ≥ 100GB | Máy chủ để cài dịch vụ indexing |
| 4 | Redis Cache | 1 | ≥ 4 | ≥ 4GB | ≥ 100GB | Máy chủ để cài Redis |
| 5 | Nginx | 1 | ≥ 4 | ≥ 4GB | ≥ 100GB | Máy chủ để cài Load Balancer |
1.2. Yêu cầu cơ sở dữ liệu
Mô hình này cần 2 cơ sở dữ liệu:
01 database cho Akabot Center
01 database cho ActiveMQ
Hãy đảm bảo rằng các cơ sở dữ liệu này đã sẵn sàng và chuẩn bị thông tin kết nối như bảng sau:
| STT | Thông tin | Mô tả | Ví dụ |
|---|---|---|---|
| 1 | DB-SERVER | Địa chỉ IP của cơ sở dữ liệu | 3.112.124.176 |
| 2 | DB-USER | Tên người dùng cơ sở dữ liệu | AKA_CENTER_01 |
| 3 | DB-PASSWORD | Mật khẩu của người dùng | akaBot123 |
| 4 | DB-PORT | Cổng kết nối | 1521 |
| 5 | DB-SID/SERVICE NAME | SID hoặc Service Name của cơ sở dữ liệu | Orcl |
1.3. Yêu cầu lưu trữ tệp
Hãy đảm bảo rằng bạn có một thư mục riêng biệt trên máy chủ lưu trữ tệp (File Storage) để lưu trữ các gói Nuget, và máy chủ Akabot Center có quyền đọc/ghi (Read/Write) vào thư mục này.
Ví dụ:
NFS-NUGET
1.4. Yêu cầu quyền hạn
Tài khoản người dùng thực hiện cài đặt trên từng máy cần có quyền thực thi (Run) với quyền Sudo.
1.5. Chuẩn bị gói cài đặt
Hãy đảm bảo rằng máy chủ Akabot Center có đủ các gói cài đặt sau với đúng phiên bản.
| STT | Nền tảng | Tên gói | Phiên bản | Mô tả | Tải xuống |
|---|---|---|---|---|---|
| 1 | JDK/JRE | openlogic-openjdk-11.0.16+8-linux-x64-el.rpm | 11.0.16 | OpenJDK | Download |
| 2 | Apache Tomcat | apache-tomcat-8.5.57.tar.gz | 8.5.57 | Web server Apache Tomcat | Download |
| 3 | ActiveMQ | apache-activemq-5.15.1-bin.tar.gz | 5.15.1 | Dịch vụ hàng đợi ActiveMQ cho Akabot Center | Download |
| 4 | Akabot Center | akabot-center-x.x.x.x.war | 3.0.1.2 hoặc mới hơn | Gói cài đặt Akabot Center | Liên hệ project coordinator hoặc support@akabot.com để nhận |
| 5 | Oracle JDBC driver | ojdbc8.jar | ojdbc8 | Trình điều khiển JDBC cho Oracle | Download |
| 6 | Nginx Load Balancer | nginx-1.22.1-1.el8.ngx.x86_64.rpm | 1.22.1 | Gói NGINX Load Balancer | Download |
| 7 | Redis Cache | redis-5.0.3-5.module+el8.4.0+12927+b9845322.x86_64.rpm | 5.0.3 | Gói Redis Cache | Download |
| 8 | Kibana | kibana-7.17.12-x86_64.rpm | 7.17.12 | Gói Kibana (tùy chọn) | Download |
| 9 | ElasticSearch | elasticsearch-7.17.12-x86_64.rpm | 7.17.12 | Gói ElasticSearch | Download |
| 10 | Logstash | logstash-7.17.12-x86_64.rpm | 7.17.12 | Nền tảng phân tích log | Download |
| 11 | Filebeat | filebeat-7.17.12-x86_64.rpm | 7.17.12 | Gói Filebeat | Downloa |
Ghi chú:
Nên đặt các gói cài trong thư mục riêng trên từng máy chủ. Trong hướng dẫn này, thư mục được dùng là /apps.
1.6. Các lưu ý khác
Để tránh lỗi trong quá trình cài đặt:
Không đặt tên thư mục có dấu cách. Khi chạy lệnh, nên sao chép trực tiếp lệnh từ hướng dẫn này để tránh lỗi cú pháp.
Do khác biệt về mã hóa ký tự giữa các môi trường, hãy sao chép lệnh vào Notepad trước khi dán lại vào Akabot center.
Khi cập nhật các tệp cấu hình, tuân thủ nghiêm ngặt cú pháp của tệp.
2. Cài đặt
2.1. Cài đặt Redis
Trên máy chủ Redis, hãy làm theo 3 bước đơn giản dưới đây để cài đặt và cấu hình dịch vụ Redis.
2.1.1. Bước 1 – Cài đặt gói Redis
Cập nhật kho lưu trữ của hệ thống
sudo dnf update -yCài đặt gói Redis
sudo rpm -ivh <package name>
Ví dụ:
sudo rpm -ivh redis-5.0.3-5.module+el8.4.0+12927+b9845322.x86_64.rpmKiểm tra phiên bản Redis đã được cài đặt
rpm -q redis
rpm -qi redis
Khởi động và bật Redis tự động khởi động cùng hệ thống
sudo systemctl start redis
sudo systemctl enable redisKiểm tra trạng thái dịch vụ Redis
sudo systemctl status redis
2.1.2. Bước 2 – Cấu hình truy cập từ xa cho Redis
Tắt dịch vụ Redis (nếu đang chạy)
sudo systemctl stop redisMở tệp redis.conf
sudo vi /etc/redis.confTìm và thay đổi giá trị tham số “bind” từ 127.0.0.1 thành 0.0.0.0

Lưu thay đổi và thoát
(ấn ESC → gõ :wq)Khởi động lại dịch vụ Redis
sudo systemctl start redis
2.1.3. Bước 3 – Cấu hình bảo mật (tùy chọn)
Tắt dịch vụ Redis (nếu đang chạy)
sudo systemctl stop redisMở tệp redis.conf
sudo vi /etc/redis.confTìm và bỏ dấu “#” để kích hoạt tham số requirepass, sau đó đặt mật khẩu.

Lưu thay đổi và thoát
(ESC → :wq)Khởi động lại Redis
sudo systemctl start redis
2.2. Cài đặt ActiveMQ
Mô hình High Availability yêu cầu 2 máy chủ ActiveMQ để dự phòng cho nhau trong trường hợp xảy ra sự cố (failover).
Hãy lặp lại các bước dưới đây trên 2 máy chủ riêng biệt.
2.2.1. Bước 1 – Giải nén tệp cài đặt
Di chuyển đến thư mục cài đặt
cd apps/Tạo thư mục chứa ActiveMQ
sudo mkdir /opt/activemqGiải nén gói cài đặt Apache ActiveMQ và chuyển đến thư mục /opt/activemq
sudo tar -xvzf apache-activemq-*-bin.tar.gz
sudo mv apache-activemq-5.15.1 /opt/activemq
2.2.2. Bước 2 – Tạo nhóm và người dùng ActiveMQ
Tạo một tài khoản riêng để chạy ActiveMQ, không sử dụng tài khoản root nhằm tránh lỗi quyền truy cập.
Tạo nhóm ActiveMQ
sudo groupadd activemqTạo tài khoản ActiveMQ thuộc nhóm activemq và thư mục home tại /opt/activemq
sudo useradd -s /bin/false -g activemq -d /opt/activemq activemqCấp quyền cho thư mục ActiveMQ
sudo chown -R activemq:activemq /opt/activemq
2.2.3. Bước 3 – Cấu hình dịch vụ ActiveMQ
Tạo tệp cấu hình dịch vụ systemd
sudo vi /etc/systemd/system/activemq.serviceThêm nội dung sau vào tệp:
[Unit]
Description=Apache ActiveMQ
After=network.target
[Service]
Type=forking
User=activemq
Group=activemq
ExecStart=/bin/bash /opt/activemq/bin/activemq start
ExecStop=/bin/bash /opt/activemq/bin/activemq stop
[Install]
WantedBy=multi-user.target
Lưu thay đổi và thoát
(ESC → :wq)Tải lại daemon
sudo systemctl daemon-reloadKhởi động dịch vụ ActiveMQ
sudo systemctl start activemqKích hoạt ActiveMQ tự động chạy khi khởi động
sudo systemctl enable activemqKiểm tra trạng thái dịch vụ
sudo systemctl status activemq

2.2.4. Bước 4 – Cấu hình bộ nhớ Java Heap cho ActiveMQ
Dừng dịch vụ ActiveMQ
sudo systemctl stop activemqCập nhật giá trị của bộ nhớ Heap Java
- Mở tệp môi trường
sudo vi /opt/activemq/bin/env
- Cập nhật dòng sau:
ACTIVEMQ_OPTS_MEMORY="-Xms1G -Xmx2G"
Ghi chú:
Tham số -Xms: dung lượng bộ nhớ Java tối thiểu (nên ≤ ¼ RAM máy).
Ví dụ: Nếu máy chủ Akabot Center có RAM = 4GB, đặt -Xms1G.Tham số -Xmx: dung lượng bộ nhớ Java tối đa (nên ≤ ½ RAM máy).
Ví dụ: Nếu RAM = 4GB, đặt -Xmx2G.
- Lưu thay đổi và thoát (ESC → :wq)
3. Khởi động lại dịch vụ ActiveMQ
sudo systemctl start activemq
4. Kiểm tra lại trạng thái
sudo systemctl status activemq

2.2.5. Bước 5 – Cấu hình dịch vụ ActiveMQ
Dừng dịch vụ ActiveMQ
sudo systemctl stop activemqSao chép tệp ojdbc8.jar (trình điều khiển JDBC Oracle) vào thư mục thư viện tùy chọn
cd ~/apps/
cp ojdbc8.jar /opt/activemq/lib/optional/Cấu hình tệp activemq.xml
- Mở tệp cấu hình activemq.xml
sudo vi /opt/activemq/conf/activemq.xml
- Thay đổi tên broker (tùy chọn).
- Thêm đoạn cấu hình nguồn dữ liệu Oracle (DataSource) vào cuối tệp:
<bean id="oracle-ds" class="org.apache.commons.dbcp2.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
<property name="url" value="<DB-URL>"/>
<property name="username" value="<DB-USER>"/>
<property name="password" value="<DB-PASSWORD>"/>
<property name="poolPreparedStatements" value="true"/>
</bean>
Ghi chú:
Nếu cơ sở dữ liệu của bạn dùng SID:
DB_URL = jdbc:oracle:thin:@<DB-SERVER>:<DB-PORT>:<DB-SID>Nếu dùng Service Name:
DB_URL = jdbc:oracle:thin:@//<HOST>:<PORT>/<SERVICE NAME>
4. Thay đổi phần cấu hình persistenceAdapter:
<jdbcPersistenceAdapter dataSource="#oracle-ds" createTablesOnStartup="true" />

5. Lưu và thoát
(ESC → :wq!)
6. Khởi động lại dịch vụ ActiveMQ
sudo systemctl start activemq
7. Kiểm tra trạng thái
sudo systemctl status activemq
2.3. Cài đặt ELK Stack
ELK Stack là giải pháp phân tích log toàn diện, giúp tìm kiếm sâu, phân tích và hiển thị log được tạo bởi các máy chủ Akabot Center.
Các thành phần chính bao gồm:
Elasticsearch: Công cụ tìm kiếm phân tán RESTful được xây dựng trên Apache Lucene. Dựa trên Java, nó có khả năng thu thập, tìm kiếm và lập chỉ mục dữ liệu ở nhiều định dạng khác nhau.
Logstash: Công cụ thu thập dữ liệu từ nhiều nguồn, chuẩn hóa dữ liệu và phân phối đến nơi lưu trữ.
Kibana: Công cụ trực quan hóa dữ liệu mã nguồn mở, chuyên xử lý lượng dữ liệu lớn theo thời gian thực. (Cài đặt tùy chọn)
Filebeat: Trình gửi dữ liệu nhẹ, được cài trên máy chủ để thu thập log và gửi đến Elasticsearch hoặc Logstash.
Nguồn tham khảo: https://www.techtarget.com/searchitoperations/definition/Elastic-Stack
Để cài đặt ELK Stack, hãy làm theo các bước dưới đây.
2.3.1. Bước 1 – Cài đặt Elasticsearch
Cài đặt gói Elasticsearch
cd apps/
sudo rpm --install elasticsearch-7.17.12-x86_64.rpm
Khởi động dịch vụ Elasticsearch
sudo rpm --install elasticsearch-7.17.12-x86_64.rpmKích hoạt Elasticsearch tự động khởi động cùng hệ thống
sudo systemctl enable elasticsearchKiểm tra trạng thái dịch vụ
sudo systemctl status elasticsearchDừng dịch vụ Elasticsearch
sudo systemctl stop elasticsearchMở tệp cấu hình
sudo vi /etc/elasticsearch/elasticsearch.ymlCập nhật các dòng sau:
network.host: 0.0.0.0
cluster.initial_master_nodes: ["node-1"]Lưu thay đổi và thoát
(nhấn ESC → :wq)
2.3.2. Bước 2 – Cài đặt Logstash
Cài đặt gói Logstash
cd apps/
sudo rpm --install logstash-7.17.12-x86_64.rpm
Kích hoạt Logstash tự động khởi động cùng hệ thống
sudo systemctl enable logstashKhởi động dịch vụ Logstash
sudo systemctl start logstashKiểm tra Logstash có đang chạy không
sudo systemctl status logstashDừng dịch vụ Logstash
sudo systemctl stop logstashMở tệp cấu hình Logstash
sudo vi /etc/logstash/conf.d/logstash.confCập nhật nội dung tệp như sau:
input {
beats {
port => 5044
type => "log"
}
}
filter {
json {
source => "message"
target => "doc"
}
}
output {
elasticsearch {
hosts => "localhost:9200"
manage_template => false
index => "%{[@metadata][beat]}-%{+yyyy.ww}"
document_type => "%{[@metadata][type]}"
}
}
Lưu thay đổi và thoát
(ESC → :wq)Khởi động lại dịch vụ Logstash
sudo systemctl start logstash
2.3.3. Bước 3 – Cài đặt Filebeat
Cài đặt gói Filebeat
cd apps/
sudo rpm --install filebeat-7.17.12-x86_64.rpm
Kích hoạt Filebeat tự động khởi động cùng hệ thống
sudo systemctl enable filebeatKhởi động dịch vụ Filebeat
sudo systemctl start filebeatKiểm tra trạng thái dịch vụ Filebeat
sudo systemctl status filebeatDừng dịch vụ Filebeat
sudo systemctl stop filebeatMở tệp cấu hình Filebeat
sudo vi /etc/filebeat/filebeat.ymlCập nhật nội dung tệp như sau:
filebeat.inputs:
path:
- /opt/tomcat/logs/agents/*/*.log
Bỏ dấu “#” để bật cấu hình đầu ra Logstash:
#output.logstash:
# The Logstash hosts
#hosts: ["localhost:5044"]
Lưu thay đổi và thoát
(ESC → :wq)Khởi động lại dịch vụ Filebeat
sudo systemctl start filebeat
2.3.4. Bước 4 – Cài đặt Kibana (tùy chọn)
Cài đặt gói Kibana
cd apps/
sudo rpm --install kibana-7.17.12-x86_64.rpm
Kích hoạt dịch vụ Kibana
sudo systemctl enable kibanaKhởi động dịch vụ Kibana
sudo systemctl start kibanaKiểm tra trạng thái Kibana
sudo systemctl status kibanaDừng dịch vụ Kibana (nếu cần)
sudo systemctl start kibanaMở tệp cấu hình Kibana
sudo vi /etc/kibana/kibana.ymlCập nhật các dòng sau:
server.port: 5601
server.host: "0.0.0.0"
Lưu thay đổi và thoát
(ESC → :wq)
9.Khởi động lại dịch vụ Kibana
sudo systemctl start kibana
2.4. Cài đặt Akabot Center
Mô hình High Availability cần 2 máy chủ Akabot Center để dự phòng cho nhau trong tình huống failover.
Vui lòng lặp lại toàn bộ các bước bên dưới để cài đặt và cấu hình dịch vụ Akabot Center trên 2 máy chủ riêng biệt.
2.4.1. Bước 1 - Cài đặt JDK
Ghi chú:
Nếu máy Akabot của bạn đã cài JDK: nếu phiên bản nhỏ hơn 11, hãy nâng cấp lên JDK 11; nếu >= 11 thì bỏ qua bước này.
Nếu chưa cài, thực hiện các bước sau:
Di chuyển tới thư mục cài đặt:
cd apps/Chạy lệnh cài đặt:
sudo yum install openlogic-openjdk-11.0.16+8-linux-x64-el.rpmKiểm tra cài đặt thành công bằng lệnh:
java -version
2.4.2. Bước 2 - Cài đặt Apache Tomcat Web Server
2.4.2.1. Step 1: Giải nén tệp cài đặt
Di chuyển tới thư mục cài đặt:
cd apps/Tạo thư mục /opt/tomcat:
sudo mkdir /opt/tomcatGiải nén gói Apache Tomcat:
sudo tar xzvf apache-tomcat-8*tar.gz -C /opt/tomcat --strip-components=1
2.4.2.2. Step 2: Tạo group và user Tomcat
Bạn nên tạo tài khoản riêng để chạy Tomcat (không dùng root) để tránh lỗi quyền.
Tạo group tomcat:
sudo groupadd tomcatTạo user tomcat thuộc group tomcat, home link: /opt/tomcat:
sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcatCấu hình account Tomcat để có thể lấy Machine code cho việc kích hoạt license Akabot Center:
Mở vi editor
sudo visudo /etc/sudoers
Thêm dòng sau vào cuối file:
tomcat ALL= NOPASSWD: ALL
Lưu và thoát (Press ESC, gõ :wq)Thêm user hiện tại (dùng SSH tới máy) vào group tomcat:
sudo usermod -g tomcat [current_user_logged]
2.4.2.3. Step 3: Cấu hình quyền truy cập thư mục
Thay đổi chủ sở hữu thư mục Tomcat:
cd /opt
sudo chown tomcat:tomcat tomcat
ls -l

Cấu hình quyền truy cập:
cd /opt/tomcat
sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R g+r conf
sudo chmod g+x conf
sudo chown -R tomcat webapps/ work/ temp/ logs/
ls -l

2.4.2.4. Step 4: Cấu hình service Tomcat
Lấy thư mục cài Java:
sudo update-alternatives --list | grep java
Kết quả ví dụ:
%JAVA_HOME% = /usr/lib/jvm/openlogic-openjdk-11-hotspot (WITHOUT /bin/java)
Tạo file tomcat.service:
sudo vi /etc/systemd/system/tomcat.serviceSao chép nội dung sau vào file:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/openlogic-openjdk-11-hotspot
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms1G -Xmx2G -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
WorkingDirectory=/opt/tomcat
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Cập nhật biến JAVA_HOME nếu cần:
Environment=JAVA_HOME=%JAVA_HOME%
Hoặc đặt cụ thể: Environment=JAVA_HOME=/usr/lib/jvm/openlogic-openjdk-11-hotspotThay đổi kích thước Java Heap (nếu cần):
Environment='CATALINA_OPTS=-Xms1G -Xmx2G -server -XX:+UseParallelGC'
Ghi chú về tham số:
-Xms: bộ nhớ heap khởi tạo, nên ≤ 1/4 RAM.
Ví dụ: RAM 4G → -Xms1G.-Xmx: bộ nhớ heap tối đa, nên ≤ 1/2 RAM.
Ví dụ: RAM 4G → -Xmx2G.
Lưu và thoát
2.4.2.5 Step 5: Cấu hình log Tomcat
Mở file /opt/tomcat/conf/logging.properties
Thêm thuộc tính maxDays để chỉ định số ngày tối đa giữ file log đã rotate trước khi xóa cho các log catalina, localhost, host-manager, manager. Nếu không chỉ định, giá trị mặc định là -1 (không bao giờ xóa). Ví dụ giữ 10 ngày lịch sử:
Ví dụ:
1catalina.org.apache.juli.AsyncFileHandler.maxDays = 10
2localhost.org.apache.juli.AsyncFileHandler.maxDays = 10
3manager.org.apache.juli.AsyncFileHandler.maxDays = 10
4host-manager.apache.juli.AsyncFileHandler.maxDays = 10
Lưu và thoát.
Mở file /opt/tomcat/conf/server.xml
Bỏ comment dòng cấu hình log để bật log.
.Thêm thuộc tính maxDays để chỉ định số ngày tối đa mà nhật ký truy cập đã luân chuyển sẽ được lưu giữ trước khi bị xóa đối với nhật ký catalina, localhost, host-manager, manager. Nếu không chỉ định, giá trị mặc định -1 sẽ được sử dụng, nghĩa là không bao giờ xóa các tệp cũ. Ví dụ: giữ lại lịch sử trong 10 ngày.
(ví dụ maxDays="10").
Lưu và thoát.
Tải lại daemon:
sudo systemctl daemon-reloadKhởi động Tomcat:
Lưu ý: Vui lòng đảm bảo rằng chỉ có thư mục ROOT trong thư mục /opt/tomcat/webapps trước khi khởi động dịch vụ Tomcat.
sudo systemctl start tomcatBật tự động khởi động:
sudo systemctl enable tomcatKiểm tra trạng thái Tomcat:
sudo systemctl status tomcat

curl localhost:8080
Đảm bảo owner/group của thư mục logs:
sudo chown -R tomcat /opt/tomcat/logs
sudo chgrp -R tomcat /opt/tomcat/logs
2.4.3. Step 3 - Cài gói Akabot Center
2.4.3.1. Giải nén gói cài đặt
Dừng Tomcat (nếu đang chạy):
sudo systemctl stop tomcatXóa tất cả thư mục bên trong /opt/tomcat/webapps:
sudo rm -rf /opt/tomcat/webapps/*Sao chép file akabot-center-x.x.x.x.war vào /opt/tomcat/webapps/ và đổi tên thành ROOT.war.
Lưu ý: x.x.x.x là phiên bản Akabot Center.cd ~/apps
sudo cp akaBot-center-3.0.1.2.war /opt/tomcat/webapps/ROOT.war
Khởi động Tomcat và chờ Tomcat giải nén ROOT.war ra thành thư mục ROOT:
sudo systemctl start tomcat
cd /opt/tomcat/webapps
ls –l
Dừng Tomcat và xóa file ROOT.war:
sudo systemctl stop tomcat
sudo rm /opt/tomcat/webapps/ROOT.war
2.4.3.2. Cấu hình Akabot Center
Để Akabot Center tương tác với database, cache, queue, ELK..., cần chỉnh các file cấu hình như sau:
A. Cấu hình file quartz.properties
Mở file quartz.properties:
sudo vi /opt/tomcat/webapps/ROOT/WEB-INF/classes/quartz.propertiesTùy theo loại database bạn dùng (Oracle, MSSQL, MySQL), thực hiện:
Bật cài đặt kiểu cơ sở dữ liệu của bạn bằng cách bỏ chú thích dòng biến driverDelegateClass của kiểu cơ sở dữ liệu của bạn:
Ví dụ: Bạn sử dụng cơ sở dữ liệu Oracle, sau đó bỏ chú thích dòng Oracle:

Vô hiệu hóa cài đặt của các loại cơ sở dữ liệu khác bằng cách chú thích các dòng của biến driverDelegateClass của các loại cơ sở dữ liệu khác:

Lưu và thoát
(ESC → :wq)
B. Cấu hình Logback
Mở file logback-spring.xml:
sudo vi /opt/tomcat/webapps/ROOT/WEB-INF/classes/logback-spring.xmlThay đổi đường dẫn log Akabot Center:
Thay
${application.home:-.}/logs/center/akaCenter.%d{yyyy-MM-dd}.%i.log
Thành/opt/tomcat/logs/center/akaCenter.%d{yyyy-MM-dd}.%i.logThay đổi đường dẫn log Agents:
Thay${application.home:-.}/logs/agents/${agentName}/BotAgent.%d{yyyy-MM-dd}.%i.log
thành/opt/tomcat/logs/agents/${agentName}/BotAgent.%d{yyyy-MM-dd}.%i.logThay đổi mức log nếu cần (ví dụ: ERROR)
Thay đổi các cấu hình khác nếu cần:
maxFileSize: giới hạn kích thước mỗi file (ví dụ 100MB).
maxHistory: số file lưu trữ tối đa (ví dụ 20).
totalSizeCap: dung lượng tối đa cho tất cả file lưu trữ (ví dụ 20GB).
Lưu và thoát
(ESC → :wq)
C. Cấu hình kết nối Database
Mở file application-prod.yml:
cd /opt/tomcat/webapps/ROOT/WEB-INF/classes/config/
sudo vi application-prod.yml
Tùy database (Oracle hoặc MSSQL hoặc MySQL), cập nhật:
Ví dụ nếu dùng Oracle:
a. Cập nhật URL database:
+ Bỏ chú thích dòng URL của cơ sở dữ liệu và cập nhật URL tương ứng.
+ Bỏ chú thích dòng URL của các cơ sở dữ liệu khác.
Lưu ý:
Định dạng URL Oralce:
+ Nếu bạn sử dụng SID của dịch vụ, thì định dạng URL phải là:
url: jdbc:oracle:thin:@<DB-SERVER>:<DB-PORT>:<DB-SID>
+ Nếu bạn sử dụng tên dịch vụ, thì định dạng URL JDBC phải là:
url: jdbc:oracle:thin:@//<DB-SERVER>:<PORT>/<SERVICE NAME>
Định dạng MSSQL URL
url: jdbc:sqlserver://<DB-SERVER>:<DB-PORT>;databaseName=<DB- NAME>;encrypt=true;trustServerCertificate=true;
Định dạng MySQL URL
url: jdbc:mysql://< DB-SERVER >:<DB-PORT>/<DB-NAME>
b. Cập nhật username và password
c. Cập nhật driverClassName
+ Bỏ chú thích dòng biến driverClassName của loại cơ sở dữ liệu của bạn.
+ Bỏ chú thích dòng biến driverClassName của loại cơ sở dữ liệu khác.
d. Cập nhật database-platform và database variable (uncomment cho loại database bạn dùng; comment các loại khác)
+ Bỏ chú thích dòng biến driverClassName của loại cơ sở dữ liệu của bạn.
+ Bỏ chú thích dòng biến driverClassName của loại cơ sở dữ liệu khác.
e. Lưu và thoát (ESC → :wq)
Cấu hình tương tự cho file application-dev.yml:
a. Mở tệp application-dev.yml
sudo vi application-dev.yml
b. Lặp lại từ bước 2 đến bước 3 để cấu hình tệp application-dev.yml
D. Cấu hình kết nối ActiveMQ
Mở file application.yml:
cd /opt/tomcat/webapps/ROOT/WEB-INF/classes/config/
sudo vi application.yml
Cập nhật giá trị brokerURL:
brokerURL: failover:(tcp://<IP-ACTIVEMQ-01>:61616,tcp://<IP-ACTIVEMQ-02>:61616)?randomize=false&jms.messagePrioritySupported=true&nested.wireFormat.maxInactivityDurationInitalDelay=30000
Trong đó:
<IP-ACTIVEMQ-01>: IP của ActiveMQ server 01
<IP-ACTIVEMQ-02>: IP của ActiveMQ server 02

Lưu và thoát (ESC → :wq)
E. Cấu hình kết nối Redis Cache
Mở file application-prod.yml:
cd /opt/tomcat/webapps/ROOT/WEB-INF/classes/config/
sudo vi application-prod.yml
Cập nhật:
Update mode value về 1

Update server variable:
Nếu Redis yêu cầu mật khẩu, cấu hình:then server variable’s value is:
server: redis://:<REDIS-PASSWD>@<REDIS-IP>:6379
otherwise, server variable’s value is:
server: redis://<REDIS-IP>:6379

Lưu và thoát
(ESC → :wq)Lặp lại cho file application-dev.yml
a. Mở tệp application-dev.yml
sudo vi application-dev.yml
b. Lặp lại từ bước 2 đến bước 3 để cấu hình tệp application-dev.yml
F. Cấu hình ElasticSearch (ELK)
Mở file application.yml:
cd /opt/tomcat/webapps/ROOT/WEB-INF/classes/config/
sudo vi application.yml
Thêm đoạn sau vào cuối file:
elasticsearch:
enabled: true
clustername: elasticsearch
index: filebeat-*
host: <IP_ES>
port: 9200
user:
password:
index-max-result-window: 20000000
Trong đó: <IP_ES> là địa chỉ IP của server ElasticSearch.
Lưu và thoát
(ESC → :wq)
G. Cấu hình đường dẫn lưu Nuget packages
Mở file application-prod.yml:
cd /opt/tomcat/webapps/ROOT/WEB-INF/classes/config/
sudo vi application-prod.ymlComment đoạn cấu hình mặc định của Tomcat (để tắt)

Uncomment đoạn cấu hình ElasticSearch (để bật)

Cập nhật dòng:
hibernate.search.backend.host: <IP_ES>:9200
Trong đó: <IP_ES> là IP của ElasticSearch server.
Lưu và thoát
(ESC → :wq)Lặp lại cho file application-dev.yml
a. Mở tệp application-dev.yml
sudo vi application-dev.yml
b. Lặp lại từ bước 2 đến bước 5 để cấu hình tệp application-dev.yml
2.4.3.3. Step 3 – Khởi động Tomcat và kiểm tra Akabot Center
Khởi động Tomcat:
sudo systemctl start tomcatKiểm tra Akabot Center chạy thành công:
curl localhost:8080
Trường hợp thành công: ứng dụng trả về nội dung (giao diện / endpoint sẵn sàng).
Nếu không thành công: làm theo phần 3 Troubleshoot để tự khắc phục.
2.5. Cài NGINX Load Balancer
2.5.1. Step 1 - Cài đặt Nginx
Di chuyển tới thư mục cài đặt:
cd apps/
sudo rpm -ivh <package name>
Ví dụ:sudo rpm -ivh nginx-1.22.1-1.el8.ngx.x86_64.rpm
Cài Nginx:
sudo systemctl enable nginx
sudo systemctl start nginx
3. Kiểm tra phiên bản Nginx
nginx -v
sudo systemctl status nginx
Bài viết này có hữu ích không?
Thật tuyệt!
Cám ơn phản hồi của bạn
Rất tiếc là chúng tôi không giúp được nhiều!
Cám ơn phản hồi của bạn
Đã gửi phản hồi
Chúng tôi đánh giá cao nỗ lực của bạn và sẽ cố gắng sửa bài viết


