1. Tổng quan.
ElastiFlow™ là một ứng dụng được xây dựng bằng cách sử dụng Elastic Stack bao gồm Elasticsearch, Logstash và Kibana. Để cài đặt và cấu hình ElastiFlow™ bạn cần phải có môi trường Elastic Stack đang hoạt động.
CẢNH BÁO!
- ElastiFlow 4.0.x hỗ trợ Elastic Common Schema (ECS). Do có các thay đổi quan trọng trong mô hình dữ liệu, không có quá trình nâng cấp/migra từ ElastiFlow 3.x. Bạn nên xóa tất cả các chỉ mục 3.x hoặc triển khai ElastiFlow 4.0.x trong môi trường riêng biệt.
QUAN TRỌNG!
- Luôn luôn sử dụng phiên bản RELEASE (phát hành).
LƯU Ý
- Để sử dụng đầy đủ tính năng của ElastiFlow 4.0.x, bao gồm ứng dụng SIEM và Logs của Kibana, bạn nên sử dụng X-Pack Basic hoặc một trong các gói X-Pack thương mại.
Dưới đây là bảng tương thích giữa phiên bản của Elastic Stack và phiên bản của ElastiFlow™. Bảng này cho bạn biết phiên bản nào của ElastiFlow™ tương thích với phiên bản cụ thể của Elastic Stack bạn đang sử dụng. Ví dụ, nếu bạn đang sử dụng Elastic Stack phiên bản 7.8 trở lên, bạn nên sử dụng ElastiFlow™ phiên bản 4.0.x để đảm bảo tính tương thích.
Elastic Stack | ElastiFlow™ 3.x | ElastiFlow™ 4.x
-----------------------------------------------------
7.8+ | | ✓ v4.0.x
-----------------------------------------------------
7.5-7.7 | | ✓ v4.0.0-beta
-----------------------------------------------------
7.0-7.4 | ✓ v3.5.x |
-----------------------------------------------------
6.7 | ✓ v3.4.2 |
-----------------------------------------------------
6.6 | ✓ v3.4.1 |
-----------------------------------------------------
6.5 | ✓ |
-----------------------------------------------------
6.4 | ✓ |
-----------------------------------------------------
6.3 | ✓ |
-----------------------------------------------------
Các phiên bản của ElastiFlow™ dưới đây đã không còn được hỗ trợ hoạt động nữa. Bạn cần phải sử dụng Elastic Stack phiên bản 6.3 trở lên để tiếp tục sử dụng ElastiFlow:
Elastic Stack | ElastiFlow™ 1.x | ElastiFlow™ 2.x | ElastiFlow™ 3.x
---------------------------------------------------------------------
6.2 | ✓ | ✓ | ✓
---------------------------------------------------------------------
6.1 | ✓ | ✓ |
---------------------------------------------------------------------
6.0 | ✓ | ✓ |
---------------------------------------------------------------------
5.6 | ✓ | ✓ |
---------------------------------------------------------------------
5.5 | ✓ |
---------------------------------------------------------------------
5.4 | ✓ |
---------------------------------------------------------------------
Lưu ý:
Hướng dẫn tiếp theo áp dụng cho ElastiFlow™ phiên bản 4.0.0 và cao hơn trên Elastic Stack phiên bản 7.8.x và cao hơn.
2. Yêu cầu.
Trong môi trường production, lưu lượng dữ liệu được tạo ra bởi nhiều nguồn trong mạng có thể rất lớn. Không hiếm khi một thiết bị như router hoặc tường lửa chính có thể tạo ra hàng nghìn bản ghi mỗi giây. Vì lý do này, được khuyến nghị rằng ElastiFlow™ nên được cung cấp một máy chủ Logstash riêng biệt. Có thể cần nhiều máy chủ Logstash khi lưu lượng dữ liệu network flow tăng lên.
Điều quan trọng là hiểu rằng việc xử lý dữ liệu network flow từ gói tin UDP có thể đòi hỏi sự tinh chỉnh cẩn thận để đảm bảo hiệu suất tốt nhất cho môi trường của bạn và không phải lúc nào cũng cần thêm nhiều worker thread UDP để cải thiện hiệu suất. Hãy cùng tìm hiểu cụ thể như sau:
- Nhận gói tin UDP trực tiếp: Việc Logstash nhận trực tiếp các gói tin từ network flow qua giao thức UDP. Điều này thường được sử dụng để lấy dữ liệu từ các thiết bị mạng gửi dữ liệu dưới dạng gói tin UDP, chẳng hạn như dữ liệu từ các thiết bị mạng như router hoặc firewall.
- Ràng buộc vào một lõi CPU và bộ đệm nhận kernel: Khi Logstash nhận gói tin UDP, quá trình này thường ràng buộc vào một lõi CPU duy nhất của máy chủ. Điều này có nghĩa là một lõi CPU đặc biệt trên máy chủ sẽ phải xử lý tất cả các gói tin đến.
- Worker thread UDP bổ sung: Để cải thiện hiệu suất và tận dụng nhiều lõi CPU trên máy chủ, Logstash cho phép bạn sử dụng các worker thread UDP bổ sung. Những worker thread này giúp Logstash chia sẻ công việc xử lý các gói tin từ bộ đệm nhận nhưng không phải lúc nào cũng hoạt động tốt trong mọi trường hợp.
- Thêm nhiều worker thread UDP không đảm bảo hiệu suất tăng: Điều quan trọng cần hiểu là việc thêm nhiều worker thread UDP không đảm bảo hiệu suất tăng. Khi bạn tăng số lượng worker thread sẽ có sự cạnh tranh để truy cập vào bộ nhớ đệm khi nhận. Điều này có thể dẫn đến sự cản trở và cạnh tranh giữa các worker thread, dẫn đến hiệu suất không tăng.
- Tối ưu hóa với 4 lõi CPU: Vì vậy, cách tốt nhất được đề xuất là sử dụng máy chủ Logstash có 4 core CPU. Điều này có nghĩa là bạn sẽ có một máy chủ Logstash chạy trên một máy tính với 4 core CPU, và thêm máy chủ bổ sung khi bạn cần xử lý lưu lượng dữ liệu lớn hơn. Sử dụng máy chủ có 4 core CPU giúp tránh sự cạnh tranh quá mức và tận dụng hiệu suất tốt nhất trong trường hợp này.
Đây là hướng dẫn về phần cứng và tài nguyên bạn cần chuẩn bị để triển khai ElastiFlow™ và Elastic Stack một cách hiệu quả dựa trên lưu lượng dữ liệu mạng:
- 250 flows/giây:
- Số core CPU ảo (vCPUs): 4
- Bộ nhớ: 32 GB
- Dung lượng đĩa (lưu trữ trong 30 ngày): 512 GB
- Heap JVM của Elasticsearch (ES): 12 GB
- Heap JVM của Logstash (LS): 4 GB
- 500 flows/giây:
- Số core CPU ảo (vCPUs): 6
- Bộ nhớ: 48 GB
- Dung lượng đĩa (lưu trữ trong 30 ngày): 1 TB
- Heap JVM của Elasticsearch (ES): 16 GB
- Heap JVM của Logstash (LS): 4 GB
- 1000 flows/giây:
- Số core CPU ảo (vCPUs): 8
- Bộ nhớ: 64 GB
- Dung lượng đĩa (lưu trữ trong 30 ngày): 2 TB
- Heap JVM của Elasticsearch (ES): 24 GB
- Heap JVM của Logstash (LS): 6 GB
- 1500 flows/giây:
- Số core CPU ảo (vCPUs): 12
- Bộ nhớ: 96 GB
- Dung lượng đĩa (lưu trữ trong 30 ngày): 3 TB
- Heap JVM của Elasticsearch (ES): 31 GB
- Heap JVM của Logstash (LS): 6 GB
Nếu lưu lượng dữ liệu trong mạng vượt qua 1500 flows/giây, bạn nên xem xét việc triển khai một cụm đa node và chạy Logstash trên một máy chủ riêng.
Hãy nhớ rằng lưu trữ SSD cục bộ cần được xem xét là bắt buộc và không nên sử dụng HDD ngay cả trong cấu hình RAID0 với nhiều ổ đĩa.
Những khuyến nghị trên đây chỉ là một điểm khởi đầu. Sau khi bạn đã triển khai và hoạt động, bạn có thể điều chỉnh dựa trên tải thực tế của môi trường của bạn. Đồng thời, bạn cũng có thể thực hiện thử nghiệm hiệu suất bổ sung để cập nhật bảng dựa trên kết quả đó.
3. Thiết lập Elasticsearch cho ElastiFlow.
Để thiết lập Elasticsearch cho ElastiFlow™ phiên bản 4.0.x, bạn cần cấu hình Elasticsearch thông qua file elasticsearch.yml
. Trước đây, các phiên bản ElastiFlow™ trước không yêu cầu cấu hình đặc biệt cho Elasticsearch. Tuy nhiên, với các thay đổi trong Elasticsearch 7.x bạn cần thực hiện các thiết lập sau trong file elasticsearch.yml
:
indices.query.bool.max_clause_count
: Đặt giá trị này thành 8192. Điều này là để tăng giới hạn số lượng điều kiện tối đa cho các truy vấn tìm kiếm.search.max_buckets
: Đặt giá trị này thành 250000. Điều này áp dụng cho tối đa số buckets được sử dụng trong các truy vấn phân tách.
Ví dụ cách bạn có thể thêm các cài đặt này vào file elasticsearch.yml
:
indices.query.bool.max_clause_count: 8192
search.max_buckets: 250000
Lưu ý rằng nếu bạn có lưu lượng nhập cao (>10K flows/giây) hoặc cần đảm bảo tính dự phòng và sẵn sàng cao, bạn nên xem xét triển khai một cụm đa node cho Elasticsearch.
Hãy chắc chắn rằng bạn đã sao lưu file cấu hình Elasticsearch trước khi thực hiện bất kỳ thay đổi nào và nhớ check kỹ tài liệu của Elasticsearch để đảm bảo bạn đã thay đổi chính xác với phiên bản cụ thể mà bạn đang sử dụng.
3. Thiết lập Logstash cho ElastiFlow.
Để cài đặt Logstash cho ElastiFlow™ phiên bản 4.0.x và thực hiện các cấu hình quan trọng, bạn hãy tuân theo các bước sau:
LƯU Ý:
- Nếu bạn đang nâng cấp từ phiên bản 2.x của ElastiFlow™, bạn cần xóa index template elastiflow cũ khỏi Elasticsearch trước khi bắt đầu Logstash với pipeline v3.0.0.
- Bạn có thể thực hiện điều này bằng cách DELETE _template/elastiflow từ Dev Tools --> Console trong Kibana. Sử dụng GET _template để xác nhận rằng nó đã được xóa.
- Tinh chỉnh Linux để tăng hiệu suất UDP.
- Hiệu suất UDP kém có thể dẫn đến mất gói và do đó sẽ có thiếu sót hoặc lỗi dữ liệu. Các thiết lập mặc định của Linux có thể được tinh chỉnh để tăng hiệu suất. File
sysctl.d/87-elastiflow.conf
đã được cung cấp để đơn giản hóa công việc này. - Sao chép file
87-elastiflow.conf
vào/etc/sysctl.d
trên máy chủ Linux mà Logstash sẽ chạy và khởi động lại máy chủ để các thay đổi có hiệu lực.
- Hiệu suất UDP kém có thể dẫn đến mất gói và do đó sẽ có thiếu sót hoặc lỗi dữ liệu. Các thiết lập mặc định của Linux có thể được tinh chỉnh để tăng hiệu suất. File
- Tăng ưu tiên của Logstash.
- Theo mặc định, Logstash được cấu hình để chạy dưới dạng một daemon với mức “nice” là 19. Đây là ưu tiên thấp nhất, có nghĩa là bất kỳ tiến trình nào khác sẽ được cấp thời gian tính toán trước Logstash. Điều này có thể dẫn đến hiệu suất rất kém và có thể mất dữ liệu.
- Để tăng ưu tiên của tiến trình Logstash lên mức mặc định, bạn cần chỉnh sửa file dịch vụ systemd của nó tại
/etc/systemd/system/logstash.service
. - Tìm dòng thiết lập mức nice:
Nice=19
Thay đổi mức nice thành 0:
Nice=0
Sau khi thực hiện các bước trên, bạn đã cấu hình Logstash và Linux để hoạt động tốt hơn với ElastiFlow™. Hãy đảm bảo sao lưu các file cấu hình trước khi thực hiện các thay đổi và kiểm tra xem chúng hoạt động chính xác cho môi trường của bạn.
4. Tăng hiệu suất.
Để tăng hiệu suất, ElastiFlow™ sử dụng các tính năng bộ nhớ cache và hàng đợi có sẵn trong nhiều plugin của Logstash. Những tính năng này làm tăng việc sử dụng bộ nhớ JVM. Kích thước JVM heap space được sử dụng bởi Logstash được cấu hình trong file jvm.options. Đề nghị cấp ít nhất 2GB cho JVM heap của Logstash. Nếu tất cả các tùy chọn, bao gồm cả việc tra cứu DNS, được bật, bạn nên tăng kích thước này lên 4GB. Điều này được cấu hình trong file jvm.options như sau:
-Xms4g
-Xmx4g
Bằng cách đặt -Xms4g
và -Xmx4g
, bạn đã cấu hình Logstash để sử dụng ít nhất 4GB cho heap JVM của nó. Điều này giúp đảm bảo rằng Logstash có đủ bộ nhớ để xử lý và lưu trữ dữ liệu mạng một cách hiệu quả. Hãy chắc chắn rằng bạn có đủ bộ nhớ vật lý trên máy chủ để hỗ trợ cấu hình này mà bạn đã đặt.
5. Cài đặt codec sFlow và Netflow.
Để sử dụng ElastiFlow™, bạn cần cài đặt codec sFlow được hỗ trợ bởi cộng đồng cho Logstash. Ngoài ra, được đề nghị rằng bạn luôn sử dụng phiên bản mới nhất của codec Netflow, input UDP/TCP và bộ lọc DNS. Điều này có thể được thực hiện bằng cách chạy các lệnh sau:
LS_HOME/bin/logstash-plugin install logstash-codec-sflow
LS_HOME/bin/logstash-plugin update logstash-codec-netflow
LS_HOME/bin/logstash-plugin update logstash-input-udp
LS_HOME/bin/logstash-plugin update logstash-input-tcp
LS_HOME/bin/logstash-plugin update logstash-filter-dns
LS_HOME/bin/logstash-plugin update logstash-filter-geoip
LS_HOME/bin/logstash-plugin update logstash-filter-translate
Sau khi cài đặt và cập nhật các plugin cần thiết, bạn cần sao chép các file cấu hình vào thư mục cấu hình Logstash. Thư mục cấu hình Logstash có thể nằm ở một vị trí khác nhau trên máy chủ của bạn, nhưng thường nằm trong /etc/logstash/conf.d/
.
Các file cấu hình của ElastiFlow™ nằm trong thư mục logstash/elastiflow
và bao gồm các thư mục và file sau:
logstash
`- elastiflow
|- conf.d (contains the logstash pipeline)
|- definitions (custom Netflow and IPFIX field definitions)
|- dictionaries (yaml files used to enrich raw flow data)
|- geoipdbs (contains GeoIP databases)
|- templates (contains index templates)
`- user_settings (yaml files intended for user customization)
conf.d
: Chứa pipeline của Logstash.definitions
: Định nghĩa tùy chỉnh cho các trường Netflow và IPFIX.dictionaries
: Các trường dữ liệu trong gói tin thường được mã hóa dưới dạng các con số hoặc các phương thức mã hoá và chúng có thể không rõ nghĩa khi nhìn vào. Dictionaries giúp dịch mã này thành thông tin dễ đọc hơn và có ý nghĩa hơn. Ví dụ bằng cách sử dụng một dictionary, bạn có thể ánh xạ con số “17” này thành một thông tin cụ thể nào đó.geoipdbs
: Chứa các cơ sở dữ liệu GeoIP.templates
: Chứa các mẫu templates.user_settings
: File yaml được sử dụng cho tùy chỉnh của người dùng.
Để sao chép thư mục elastiflow
vào vị trí của các file cấu hình Logstash của bạn và đồng thời sử dụng các biến môi trường để chỉ định đúng đường dẫn, bạn có thể tuân thủ các bước sau:
Sao chép thư mục elastiflow
vào vị trí thích hợp cho file cấu hình Logstash. Mặc định, vị trí này có thể là /etc/logstash/elastiflow
. Sử dụng lệnh sau để thực hiện sao chép:
sudo cp -r elastiflow /etc/logstash/
Điều này sẽ sao chép toàn bộ thư mục elastiflow
vào đúng vị trí.
- Nếu bạn đã đặt pipeline ElastiFlow™ trong một đường dẫn khác với mặc định, bạn cần sửa đổi các biến môi trường sau đây để chỉ định đúng đường dẫn:
ELASTIFLOW_DICT_PATH
: Đây là đường dẫn tới thư mục chứa các file dictionaries. Mặc định là/etc/logstash/elastiflow/dictionaries
. Đảm bảo rằng biến này trỏ đến đúng địa điểm của dictionaries.ELASTIFLOW_USER_SETTINGS_PATH
: Đây là đường dẫn tới thư mục chứa các file dictionaries tùy chỉnh của người dùng (user-customizable dictionaries). Mặc định là/etc/logstash/elastiflow/user_settings
. Đảm bảo rằng biến này trỏ đến đúng địa điểm của file dictionaries tùy chỉnh.ELASTIFLOW_TEMPLATE_PATH
: Đây là đường dẫn tới thư mục chứa các index templates. Mặc định là/etc/logstash/elastiflow/templates
. Đảm bảo rằng biến này trỏ đến đúng địa điểm của các index templates.ELASTIFLOW_GEOIP_DB_PATH
: Đây là đường dẫn tới thư mục chứa các cơ sở dữ liệu GeoIP. Mặc định là/etc/logstash/elastiflow/geoipdbs
. Đảm bảo rằng biến này trỏ đến đúng địa điểm của các cơ sở dữ liệu GeoIP.
- Sau khi bạn đã sửa đổi các biến môi trường, hãy lưu và đóng các file cấu hình tương ứng.
- Khởi động lại dịch vụ Logstash để áp dụng các thay đổi:
sudo systemctl restart logstash
Khi bạn hoàn thành các bước này, Logstash sẽ sử dụng đúng đường dẫn cho các file và thư mục ElastiFlow™ giúp bạn cấu hình và triển khai ElastiFlow™ một cách chính xác.
6. Thiết lập các biến môi trường (environment variables) cho ElastiFlow.
Việc thiết lập các biến môi trường (environment variables) cho ElastiFlow™ bằng cách sử dụng các helper files thay vì chỉnh sửa trực tiếp các file cấu hình của pipeline. Các biến môi trường này sẽ được sử dụng trong các hướng dẫn tiếp theo. Dưới đây là cách bạn có thể thiết lập chúng:
- Trong thư mục
elastiflow
, bạn sẽ thấy các file sau:profile.d/elastiflow.sh
: File này sẽ được sử dụng để định nghĩa các biến môi trường.logstash.service.d/elastiflow.conf
: File này sẽ được sử dụng để cấu hình các biến môi trường cho systemd khi bạn sử dụng systemd để quản lý Logstash.
- Tùy thuộc vào môi trường của bạn, bạn có thể sử dụng các file này để định nghĩa các biến môi trường. Ví dụ, nếu bạn đang sử dụng systemd để quản lý Logstash trên RedHat/CentOS hoặc Ubuntu, bạn có thể sao chép file
logstash.service.d/elastiflow.conf
vào/etc/systemd/system/logstash.service.d/elastiflow.conf
. Điều này cho phép bạn chỉnh sửa các biến môi trường trong file này để ánh xạ cấu hình của bạn. - Sau khi bạn đã sửa đổi các biến môi trường trong file tương ứng, hãy lưu và đóng file.
- Để áp dụng các thay đổi, bạn cần tải lại systemd bằng cách chạy lệnh sau:
sudo systemctl daemon-reload
Điều này đảm bảo rằng các biến môi trường mới sẽ được cập nhật và sử dụng bởi Logstash một cách chính xác. Các biến môi trường này sẽ được sử dụng để định cấu hình ElastiFlow™ theo cách bạn đã đặt trong các file trợ giúp này.
7. Thêm pipeline của ElastiFlow™ vào file pipelines.yml
của Logstash.
Để thêm pipeline của ElastiFlow™ vào file pipelines.yml
của Logstash. Dưới đây là cách bạn có thể thực hiện điều này:
- Mở file
pipelines.yml
. Thường, file này nằm trong đường dẫn/etc/logstash/pipelines.yml
. - Sử dụng trình soạn thảo văn bản (như
nano
,vim
, hoặcgedit
) để chỉnh sửa filepipelines.yml
. - Thêm cấu hình cho pipeline ElastiFlow™ vào file
pipelines.yml
. Sử dụng ví dụ sau và điều chỉnh đường dẫn nếu cần thiết:
- pipeline.id: elastiflow
path.config: "/etc/logstash/elastiflow/conf.d/*.conf"
pipeline.id
: Điều này đặt một ID cho pipeline ElastiFlow™, trong trường hợp này, là “elastiflow”. Bạn có thể chọn một ID khác nếu bạn muốn.path.config
: Điều này định nghĩa đường dẫn đến các file cấu hình của ElastiFlow™ pipeline. Điều chỉnh đường dẫn này nếu bạn đã đặt pipeline ElastiFlow™ ở một địa điểm tùy chỉnh.
Sau khi bạn đã thêm cấu hình ElastiFlow™ pipeline vào file pipelines.yml
, lưu và đóng file.
Khởi động lại dịch vụ Logstash để áp dụng các thay đổi:
sudo systemctl restart logstash
Khi bạn đã hoàn thành các bước này, Logstash sẽ bắt đầu chạy pipeline ElastiFlow™ của bạn, và bạn có thể tiếp tục với cấu hình và tích hợp Elasticsearch và Kibana để xem và phân tích dữ liệu mạng của bạn.
8. Cấu hình inputs cho ElastiFlow™ bằng cách điều chỉnh các biến môi trường.
Với IPv4.
Mặc định, dữ liệu mạng sẽ được nhận trên tất cả địa chỉ IPv4 của máy chủ Logstash, sử dụng các cổng tiêu chuẩn cho từng loại network flow. Bạn có thể thay đổi cả địa chỉ IP và cổng bằng cách sửa đổi các biến môi trường sau:
ELASTIFLOW_NETFLOW_IPV4_HOST
: Đây là địa chỉ IP mà Logstash sẽ lắng nghe để nhận các thông điệp Netflow. Mặc định là"0.0.0.0"
, có nghĩa là Logstash sẽ lắng nghe trên tất cả các địa chỉ IP của máy chủ.ELASTIFLOW_NETFLOW_IPV4_PORT
: Đây là cổng UDP mà Logstash sẽ lắng nghe để nhận các thông điệp Netflow. Mặc định là2055
.ELASTIFLOW_SFLOW_IPV4_HOST
: Đây là địa chỉ IP mà Logstash sẽ lắng nghe để nhận các thông điệp sFlow. Mặc định là"0.0.0.0"
.ELASTIFLOW_SFLOW_IPV4_PORT
: Đây là cổng UDP mà Logstash sẽ lắng nghe để nhận các thông điệp sFlow. Mặc định là6343
.ELASTIFLOW_IPFIX_TCP_IPV4_HOST
: Đây là địa chỉ IP mà Logstash sẽ lắng nghe để nhận các thông điệp IPFIX thông qua giao thức TCP. Mặc định là"0.0.0.0"
.ELASTIFLOW_IPFIX_TCP_IPV4_PORT
: Đây là cổng mà Logstash sẽ lắng nghe để nhận các thông điệp IPFIX thông qua giao thức TCP. Mặc định là4739
.ELASTIFLOW_IPFIX_UDP_IPV4_HOST
: Đây là địa chỉ IP mà Logstash sẽ lắng nghe để nhận các thông điệp IPFIX thông qua giao thức UDP. Mặc định là"0.0.0.0"
.ELASTIFLOW_IPFIX_UDP_IPV4_PORT
: Đây là cổng UDP mà Logstash sẽ lắng nghe để nhận các thông điệp IPFIX thông qua giao thức UDP. Mặc định là4739
.
Với IPv6.
Cách bật khả năng thu thập dữ liệu network flow qua IPv6 trong ElastiFlow™. IPv6 là phiên bản tiếp theo của giao thức Internet Protocol (IP) được sử dụng để quản lý và định danh địa chỉ IP trên Internet. Để bật tính năng này, bạn cần thực hiện các bước sau:
- Trong thư mục
elastiflow/conf.d
, bạn sẽ thấy các file có tên sau:10_input_ipfix_ipv6.logstash.conf.disabled10_input_netflow_ipv6.logstash.conf.disabled10_input_sflow_ipv6.logstash.conf.disabled
.disabled
ở cuối tên file, điều này ngụ ý rằng chúng bị tắt mặc định. - Để bật khả năng thu thập dữ liệu network flow qua IPv6, bạn cần đổi tên các file trên bằng cách loại bỏ phần mở rộng
.disabled
ở cuối tên file. Ví dụ:10_input_ipfix_ipv6.logstash.conf.disabled
->10_input_ipfix_ipv6.logstash.conf10_input_netflow_ipv6.logstash.conf.disabled
->10_input_netflow_ipv6.logstash.conf10_input_sflow_ipv6.logstash.conf.disabled
->10_input_sflow_ipv6.logstash.conf
mv
trong dòng lệnh để đổi tên các file này. - Sau khi bạn đã đổi tên các file, các đầu vào IPv6 sẽ được bật trong ElastiFlow™.
- Bạn có thể cấu hình các đầu vào IPv6 bằng cách sử dụng các biến môi trường sau:
ELASTIFLOW_NETFLOW_IPV6_HOST
: Đây là địa chỉ IP mà Logstash sẽ lắng nghe để nhận các thông điệp Netflow qua IPv6. Mặc định là[::]
, có nghĩa là Logstash sẽ lắng nghe trên tất cả các địa chỉ IPv6 của máy chủ.ELASTIFLOW_NETFLOW_IPV6_PORT
: Đây là cổng UDP mà Logstash sẽ lắng nghe để nhận các thông điệp Netflow qua IPv6. Mặc định là52055
.ELASTIFLOW_SFLOW_IPV6_HOST
: Đây là địa chỉ IP mà Logstash sẽ lắng nghe để nhận các thông điệp sFlow qua IPv6. Mặc định là[::]
.ELASTIFLOW_SFLOW_IPV6_PORT
: Đây là cổng UDP mà Logstash sẽ lắng nghe để nhận các thông điệp sFlow qua IPv6. Mặc định là56343
.ELASTIFLOW_IPFIX_TCP_IPV6_HOST
: Đây là địa chỉ IP mà Logstash sẽ lắng nghe để nhận các thông điệp IPFIX qua giao thức TCP qua IPv6. Mặc định là[::]
.ELASTIFLOW_IPFIX_TCP_IPV6_PORT
: Đây là cổng mà Logstash sẽ lắng nghe để nhận các thông điệp IPFIX qua giao thức TCP qua IPv6. Mặc định là54739
.ELASTIFLOW_IPFIX_UDP_IPV6_HOST
: Đây là địa chỉ IP mà Logstash sẽ lắng nghe để nhận các thông điệp IPFIX qua giao thức UDP qua IPv6. Mặc định là[::]
.ELASTIFLOW_IPFIX_UDP_IPV6_PORT
: Đây là cổng UDP mà Logstash sẽ lắng nghe để nhận các thông điệp IPFIX qua giao thức UDP qua IPv6. Mặc định là54739
.
Để điều chỉnh cài đặt của bạn, bạn có thể sửa đổi các giá trị của các biến môi trường này để chỉ định địa chỉ IP và cổng mà bạn muốn Logstash lắng nghe dữ liệu network flow. Sau khi bạn đã thay đổi các giá trị, hãy lưu lại và khởi động lại dịch vụ Logstash để áp dụng thay đổi.
9. Tinh chỉnh hiệu suất đầu vào UDP để cải thiện thu thập dữ liệu network flow ở mức lưu lượng cao.
Thông qua các biến môi trường sau, bạn có thể tinh chỉnh hiệu suất đầu vào UDP để cải thiện thu thập dữ liệu network flow ở mức lưu lượng cao:
ELASTIFLOW_NETFLOW_UDP_WORKERS
: Đây là số lượng luồng (threads) được sử dụng cho đầu vào Netflow. Mặc định là4
.ELASTIFLOW_NETFLOW_UDP_QUEUE_SIZE
: Đây là số lượng gói tin UDP Netflow chưa được xử lý mà đầu vào có thể lưu trữ trong hàng đợi. Mặc định là4096
.ELASTIFLOW_NETFLOW_UDP_RCV_BUFF
: Đây là kích thước receive buffer của socket (đối với Netflow) được định cấu hình bằng byte. Mặc định là33554432
byte.ELASTIFLOW_SFLOW_UDP_WORKERS
: Đây là số lượng luồng (threads) được sử dụng cho đầu vào sFlow. Mặc định là4
.ELASTIFLOW_SFLOW_UDP_QUEUE_SIZE
: Đây là số lượng gói tin UDP sFlow chưa được xử lý mà đầu vào có thể lưu trữ trong hàng đợi. Mặc định là4096
.ELASTIFLOW_SFLOW_UDP_RCV_BUFF
: Đây là kích thước receive buffer của socket (đối với sFlow) được định cấu hình bằng byte. Mặc định là33554432
byte.ELASTIFLOW_IPFIX_UDP_WORKERS
: Đây là số lượng luồng (threads) được sử dụng cho đầu vào IPFIX. Mặc định là4
.ELASTIFLOW_IPFIX_UDP_QUEUE_SIZE
: Đây là số lượng gói tin UDP IPFIX chưa được xử lý mà đầu vào có thể lưu trữ trong hàng đợi. Mặc định là4096
.ELASTIFLOW_IPFIX_UDP_RCV_BUFF
: Đây là kích thước receive buffer của socket (đối với IPFIX) được định cấu hình bằng byte. Mặc định là33554432
byte.
Lưu ý rằng việc tăng giá trị queue_size
sẽ làm tăng sử dụng bộ nhớ heap. Điều này có nghĩa là bạn nên đảm bảo đã cấu hình kích thước heap của JVM một cách thích hợp theo như được chỉ định trong yêu cầu (Requirements). Việc điều chỉnh các giá trị này có thể giúp tối ưu hóa hiệu suất thu thập dữ liệu network flow trong trường hợp bạn đang làm việc với lưu lượng mạng lớn.
10. Cấu hình output Elasticsearch trong Logstash để gửi dữ liệu thu thập từ ElastiFlow™ vào Elasticsearch.
Phần này liên quan đến cấu hình output Elasticsearch trong Logstash để gửi dữ liệu thu thập từ ElastiFlow™ vào Elasticsearch.
Có một số cấu hình có thể được thực hiện:
- Mặc định, dữ liệu được gửi đến một node Elasticsearch duy nhất. Điều này được chỉ định bằng biến môi trường sau:
ELASTIFLOW_ES_HOST
: Đây là máy chủ Elasticsearch mà đầu ra sẽ gửi dữ liệu đến. Giá trị mặc định là127.0.0.1:9200
, tức là Elasticsearch đang chạy trên cùng máy tính và cổng mặc định là 9200.
- Tùy chọn, Logstash có thể được cấu hình để sử dụng một mảng ba node Elasticsearch. Điều này được thực hiện bằng cách thực hiện các bước sau:
- Đổi tên file
30_output_10_single.logstash.conf
thành30_output_10_single.logstash.conf.disabled
. - Đổi tên file
30_output_20_multi.logstash.conf.disabled
thành30_output_20_multi.logstash.conf
. - Đặt các biến môi trường sau:
ELASTIFLOW_ES_HOST_1
: Đây là máy chủ Elasticsearch đầu tiên mà đầu ra sẽ gửi dữ liệu đến. Giá trị mặc định là127.0.0.1:9200
.ELASTIFLOW_ES_HOST_2
: Đây là máy chủ Elasticsearch thứ hai mà đầu ra sẽ gửi dữ liệu đến. Giá trị mặc định là127.0.0.2:9200
.ELASTIFLOW_ES_HOST_3
: Đây là máy chủ Elasticsearch thứ ba mà đầu ra sẽ gửi dữ liệu đến. Giá trị mặc định là127.0.0.3:9200
.
- Đổi tên file
- Bạn có thể cấu hình các biến môi trường sau theo nhu cầu của môi trường của bạn:
ELASTIFLOW_ES_USER
: Tên người dùng cho kết nối đến Elasticsearch. Giá trị mặc định làelastic
.ELASTIFLOW_ES_PASSWD
: Mật khẩu cho kết nối đến Elasticsearch. Giá trị mặc định làchangeme
.ELASTIFLOW_ES_SSL_ENABLE
: Bật hoặc tắt kết nối SSL đến Elasticsearch. Giá trị mặc định làfalse
.ELASTIFLOW_ES_SSL_VERIFY
: Bật hoặc tắt xác minh chứng chỉ SSL. Nếu được bật, bạn phải chỉnh sửa đầu ra để đặt đường dẫn đến chứng chỉ. Giá trị mặc định làfalse
.
ELASTIFLOW_ES_SSL_ENABLE
vàELASTIFLOW_ES_SSL_VERIFY
đềutrue
, bạn phải bỏ comment dòngcacert
trong cấu hình đầu ra Elasticsearch và đặt đường dẫn đếncertificate
.
11. Kích hoạt DNS để tìm tên hostname tương ứng với địa chỉ IP của network flow (tuỳ chọn).
Trong phần này sẽ liên quan đến việc kích hoạt DNS (Domain Name System) để tìm tên máy tính (hostname) tương ứng với địa chỉ IP của các bản tin network flow. Điều này là tùy chọn và có thể được cấu hình theo các biến môi trường sau:
ELASTIFLOW_RESOLVE_IP2HOST
: Đây là biến môi trường để bật hoặc tắt các yêu cầu DNS. Các giá trị có thể là:exporters
: Chỉ các địa chỉ IP của flow exporter.endpoints
: Chỉ các địa chỉ IP của các endpoints như nguồn và đích (src/dst).true
: Áp dụng cả hai loại địa chỉ IP trên.false
: Không áp dụng bất kỳ địa chỉ IP nào. Giá trị mặc định làfalse
.
ELASTIFLOW_NAMESERVER
: Đây là máy chủ DNS mà bộ lọc DNS sẽ gửi các yêu cầu tới. Giá trị mặc định là127.0.0.1
, tức là máy chủ DNS đang chạy trên cùng máy tính.ELASTIFLOW_DNS_HIT_CACHE_SIZE
: Đây là kích thước của bộ nhớ cache cho các yêu cầu DNS thành công, nghĩa là các yêu cầu mà đã trả về thông tin địa chỉ hostname. Giá trị mặc định là25000
.ELASTIFLOW_DNS_HIT_CACHE_TTL
: Đây là thời gian (tính bằng giây) mà các yêu cầu DNS thành công sẽ được lưu trong cache. Giá trị mặc định là900
giây (15 phút).ELASTIFLOW_DNS_FAILED_CACHE_SIZE
: Đây là kích thước của bộ nhớ cache cho các yêu cầu DNS không thành công, nghĩa là các yêu cầu mà không tìm thấy thông tin địa chỉ hostname. Giá trị mặc định là75000
.ELASTIFLOW_DNS_FAILED_CACHE_TTL
: Đây là thời gian (tính bằng giây) mà các yêu cầu DNS không thành công sẽ được lưu trong cache. Giá trị mặc định là3600
giây (1 giờ).
Việc kích hoạt DNS có thể giúp bạn có thêm thông tin về các máy tính và các thông tin đầu src/dst liên quan đến các bản tin network flow. Tuy nhiên, việc sử dụng DNS có thể làm chậm quá trình xử lý tùy thuộc vào cấu hình và tải của máy chủ DNS, vì vậy cần xem xét kỹ trước khi bật tính năng này.
12. Lấy thêm thông tin dữ liệu network flow bằng cách ánh xạ các ID ứng dụng vào tên ứng dụng tương ứng (tuỳ chọn).
Cả Netflow và IPFIX cho phép các thiết bị có khả năng xác định ứng dụng chỉ định ứng dụng liên quan đến lưu lượng trong bản tin network flow. Trong Netflow, đây là trường application_id và trong IPFIX, trường tương ứng là applicationId.
Tên ứng dụng tương ứng với các giá trị của các ID này là cụ thể cho từng nhà sản xuất. Để làm điều này, bạn phải chỉnh sửa file app_id.srctype.yml
trong thư mục logstash/elastiflow/user_settings
và chỉ định loại nguồn của thiết bị bạn đang sử dụng. Ví dụ:
"192.0.2.1": "cisco_nbar2"
"192.0.2.2": "fortinet"
Hiện tại, ElastiFlow™ hỗ trợ Cisco’s NBAR2 và Fortinet’s FortiOS. Nếu bạn có thiết bị khác bạn muốn thêm, bạn cần có một ánh xạ của các ID ứng dụng thành tên. Thông tin này thường có thể được trích xuất từ cấu hình của thiết bị.
Bạn cũng có thể xác định giá trị nguồn mặc định bằng cách đặt biến môi trường sau:
ELASTIFLOW_DEFAULT_APPID_SRCTYPE
: Đây là biến môi trường để đặt giá trị nguồn mặc định cho việc dịch các ID ứng dụng thành tên. Các giá trị hợp lệ là “cisco_nbar2” và “fortinet”. Giá trị mặc định là “__UNKNOWN”.
ElastiFlow™ cũng hỗ trợ xác định ứng dụng từ các nguồn sau và không yêu cầu cấu hình bổ sung:
- Citrix Netscaler
- IXIA IxFlow
- ntop nProbe (Một file cấu hình nProbe hoạt động tốt với ElastiFlow™ có sẵn TẠI ĐÂY).
- Palo Alto
- SonicWall
- Sophos
Sau khi cấu hình, ElastiFlow™ sẽ giải quyết ID thành tên ứng dụng và thông tin này sẽ có sẵn trong các bảng điều khiển.
Ứng dụng cũng có thể được xác định bằng địa chỉ IP và số cổng trong file logstash/elastiflow/user_settings/applications.yml
.
Ví dụ, để chỉ định rằng Kafka đang lắng nghe trên cổng 9092 tại địa chỉ IP 192.0.2.2, bạn sẽ thực hiện mục sau:
"192.0.2.2:9092": "kafka"
Điều này cho phép bạn tự định nghĩa các ứng dụng cụ thể và ánh xạ chúng vào địa chỉ IP và cổng tương ứng.
13. Thiết lập thủ công khoảng thời gian lấy thông tin network flow (tuỳ chọn).
Bước này trong hướng dẫn liên quan đến việc thiết lập khoảng thời gian lấy thông tin từ các thiết bị mạng. Khi thu thập network flow, thông thường nó sẽ gửi thông tin về khoảng thời gian lấy thông tin cùng với dữ liệu network flow. Tuy nhiên, có một số thiết bị mạng không bao gồm thông tin về khoảng thời gian mà nó lấy network flow. Điều này có thể gây khó khăn trong việc phân tích dữ liệu network flow.
Trong trường hợp này, hướng dẫn đề xuất cách thiết lập khoảng thời gian lấy thông tin cho các thiết bị này bằng cách thêm thông tin về địa chỉ IP của thiết bị và tỷ lệ lấy thông tin thủ công vào một file có tên là sampling_interval.yml
. Điều này giúp bạn cung cấp thông tin về khoảng thời gian lấy thông tin mà các thiết bị không gửi.
Ví dụ: Nếu bạn biết rằng một thiết bị cụ thể có địa chỉ IP là 192.0.2.1 sử dụng tỷ lệ lấy thông tin là 100, bạn có thể thêm thông tin sau vào file sampling_interval.yml
:
"192.0.2.1": 100
Làm như vậy cho các thiết bị không gửi thông tin về khoảng thời gian lấy thông tin sẽ giúp ElastiFlow biết cách đối phó với dữ liệu network flow từ các thiết bị này.
14. Cập nhật Cơ sở dữ liệu MaxMind GeoIP (tùy chọn).
ElastiFlow™ sử dụng Cơ sở dữ liệu MaxMind’s GeoLite2 City và ASN để cung cấp các dữ liệu liên quan đến địa lý và Hệ thống Tự động (Autonomous System) cho các địa chỉ Public IP. Những thay đổi liên quan đến luật pháp ở California liên quan đến thông tin nhận dạng cá nhân và cụ thể là địa chỉ IP đã yêu cầu sự thay đổi trong giấy phép của MaxMind, giới hạn khả năng bao gồm các cơ sở dữ liệu mới nhất với ElastiFlow™.
Vì lý do này, ElastiFlow™ bao gồm các cơ sở dữ liệu cuối cùng trước những thay đổi này, từ cuối năm 2019. Bạn có thể tải xuống các cơ sở dữ liệu mới nhất (MIỄN PHÍ) sau khi đăng ký trên trang web của MaxMind.
Hãy tải xuống các cơ sở dữ liệu GeoLite2 City và ASN và đặt các file GeoLite2-City.mmdb và GeoLite2-ASN.mmdb vào thư mục logstash/elastiflow/geoipdbs. Để đảm bảo tính chính xác cao nhất cho việc làm phong phú dữ liệu, được đề xuất cập nhật cơ sở dữ liệu này thường xuyên. Một lần mỗi tháng là tối thiểu.
15. Khởi động Logstash.
Bây giờ bạn nên có thể bắt đầu Logstash và bắt đầu thu thập dữ liệu network flow. Giả sử bạn đang chạy một phiên bản gần đây của RedHat/CentOS hoặc Ubuntu và sử dụng systemd, hãy thực hiện các bước sau:
- Chạy systemctl daemon-reload để đảm bảo bất kỳ thay đổi nào đối với biến môi trường cũng được nhận diện.
- Chạy systemctl start logstash.
LƯU Ý!
Đảm bảo rằng bạn đã thiết lập các file init Logstash bằng cách chạy LS_HOME/bin/system-install. Nếu các file init chưa được thiết lập, bạn sẽ nhận được một lỗi.
Để theo dõi Logstash khi nó khởi động, bạn có thể sử dụng lệnh tail để xem log của nó bằng cách chạy:
tail -f /var/log/logstash/logstash-plain.log Logstash
Sẽ mất một chút thời gian để khởi động… bạn hãy kiên nhẫn nhé.
Nếu bạn đang sử dụng Netflow v9 hoặc IPFIX, bạn có thể thấy các thông báo cảnh báo liên quan đến việc chưa nhận được các bản tin network flow. Chúng sẽ biến mất sau khi các thông tin được nhận từ các thiết bị mạng, điều này sẽ xảy ra mỗi vài phút. Một số thiết bị có thể mất một chút thời gian hơn để gửi các thông tin. Đặc biệt, Fortinet gửi các thông tin khá ít. Giờ thì thiết lập Logstash đã hoàn tất.
Nếu bạn đang nhận dữ liệu network flow, bạn nên có một chỉ số elastiflow-
index theo ngày trong Elasticsearch.
16. Sử dụng Kibana với ElastiFlow.
Để cài đặt Kibana và làm cho trải nghiệm sử dụng ElastiFlow™ thân thiện hơn, bạn cần thực hiện các bước sau:
- Nhập Visualizations và Dashboards: Bạn có thể tải các dashboard vào Kibana bằng cách import file
kibana/elastiflow.kibana.<VER>.ndjson
từ giao diện của Kibana. Điều này thực hiện từ trang “Quản lý” (Management) -> “Quản lý Stack” (Stack Management) -> “Đối tượng Lưu Kibana” (Kibana Saved Objects). Hãy chọn file tương ứng với phiên bản Kibana bạn đang sử dụng. - Tùy chỉnh Kibana Advanced Settings: Bạn có thể điều chỉnh một số tùy chỉnh nâng cao của Kibana để làm cho trải nghiệm của bạn khi sử dụng ElastiFlow™ dễ sử dụng hơn. Các tùy chỉnh này được thực hiện trong Kibana, từ “Quản lý” (Management) -> “Quản lý Stack” (Stack Management) -> “Cài đặt Nâng cao Kibana” (Kibana Advanced Settings).
Các tùy chỉnh nâng cao và lý do bạn nên thay đổi chúng:
doc_table:highlight
: Đặt giá trị này thànhfalse
. Việc sử dụng tính năng làm nổi bật có thể làm giảm hiệu suất truy vấn một cách đáng kể. Vì nó không hữu ích cho trường hợp sử dụng này, nên tắt nó đi.filters:pinnedByDefault
: Đặt giá trị này thànhtrue
. Việc ghim một bộ lọc sẽ cho phép nó tồn tại khi bạn đang thay đổi dashboard. Điều này rất hữu ích khi bạn muốn xem chi tiết điểm quan tâm và muốn thay đổi dashboard để xem dữ liệu từ góc nhìn khác.state:storeInSessionStorage
: Đặt giá trị này thànhtrue
. URL của Kibana có thể trở nên rất lớn, đặc biệt khi làm việc với trực quan hóa Vega. Điều này có thể gây ra thông báo lỗi cho người dùng sử dụng Internet Explorer. Sử dụng lưu trữ trong phiên làm cho vấn đề này được khắc phục đối với những người dùng này.timepicker:quickRanges
: Tùy chỉnh giá trị này để phù hợp với nhu cầu của bạn. Mặc định, các tùy chọn trong Bộ chọn Thời gian không phải lúc nào cũng phù hợp cho các trường hợp sử dụng theo dõi và ghi log. Kibana cho phép bạn tùy chỉnh time picker. Các giá trị được đề xuất có thể được tìm thấy trong tài liệu hướng dẫn gốc.
Những thay đổi này sẽ giúp bạn tối ưu hóa việc sử dụng Kibana để xem và phân tích dữ liệu mạng ElastiFlow™ một cách hiệu quả hơn.
17. Danh sách các biến môi trường (environment variables).
Đây là danh sách các biến môi trường (environment variables) được hỗ trợ trong ElastiFlow™ và mô tả của chúng:
ELASTIFLOW_AGENT_ID
: Giá trị được gán cho trường agent.id trong ECS (Elastic Common Schema). Mặc định là “elastiflow”.ELASTIFLOW_DICT_PATH
: Đường dẫn đến thư mục chứa các file dictionaries.ELASTIFLOW_USER_SETTINGS_PATH
: Đường dẫn đến thư mục chứa các file cấu hình tùy chỉnh của người dùng.ELASTIFLOW_DEFINITION_PATH
: Đường dẫn đến thư mục chứa các file định nghĩa trường cho Netflow và IPFIX.ELASTIFLOW_TEMPLATE_PATH
: Đường dẫn đến thư mục chứa các index template.ELASTIFLOW_GEOIP_DB_PATH
: Đường dẫn đến thư mục chứa cơ sở dữ liệu GeoIP.ELASTIFLOW_GEOIP_CACHE_SIZE
: Kích thước bộ nhớ đệm truy vấn GeoIP.ELASTIFLOW_GEOIP_LOOKUP
: Bật/tắt việc tra cứu GeoIP.ELASTIFLOW_ASN_LOOKUP
: Bật/tắt việc tra cứu ASN.ELASTIFLOW_OUI_LOOKUP
: Bật/tắt việc tra cứu địa chỉ MAC OUI.ELASTIFLOW_POPULATE_LOGS
: Bật/tắt việc điền dữ liệu liên quan đến log.ELASTIFLOW_KEEP_ORIG_DATA
: Nếu đặt thành “false”, các đối tượng gốc của Netflow, IPFIX và sFlow sẽ bị xóa trước khi lập index. Điều này có thể tiết kiệm không gian đĩa mà không ảnh hưởng đến các dashboard được cung cấp. Tuy nhiên, các trường dữ liệu gốc sẽ không còn khả dụng nếu bạn muốn sử dụng chúng cho phân tích bổ sung.ELASTIFLOW_DEFAULT_APPID_SRCTYPE
: Đặt giá trị mặc định cho loại nguồn để dịch các App ID thành tên. Các giá trị hợp lệ là “cisco_nbar2” và “fortinet”.ELASTIFLOW_RESOLVE_IP2HOST
: Bật/tắt các yêu cầu DNS. Các giá trị có thể là “exporters” (Chỉ áp dụng các địa chỉ IP của flow exporter), “endpoints” (chỉ áp dụng địa chỉ IP của các endpoints src/dst), “true” (cả hai đều được áp dụng) hoặc “false”.ELASTIFLOW_NAMESERVER
: Máy chủ DNS mà bộ lọc DNS nên gửi yêu cầu đến.ELASTIFLOW_DNS_HIT_CACHE_SIZE
: Kích thước bộ nhớ đệm cho các truy vấn DNS thành công.ELASTIFLOW_DNS_HIT_CACHE_TTL
: Thời gian tính bằng giây cho các truy vấn DNS thành công được đệm.ELASTIFLOW_DNS_FAILED_CACHE_SIZE
: Kích thước bộ nhớ đệm cho các truy vấn DNS không thành công.ELASTIFLOW_DNS_FAILED_CACHE_TTL
: Thời gian tính bằng giây cho các truy vấn DNS không thành công được đệm.ELASTIFLOW_ES_HOST
: Địa chỉ Elasticsearch mà đầu ra sẽ gửi dữ liệu đến. Mặc định là “127.0.0.1:9200”.ELASTIFLOW_ES_HOST_1
,ELASTIFLOW_ES_HOST_2
,ELASTIFLOW_ES_HOST_3
: Các địa chỉ Elasticsearch thứ hai và thứ ba mà đầu ra có thể gửi dữ liệu đến.ELASTIFLOW_ES_SSL_ENABLE
: Bật/tắt kết nối SSL đến Elasticsearch.ELASTIFLOW_ES_SSL_VERIFY
: Bật/tắt xác minh chứng chỉ SSL. Nếu được bật, bạn cần chỉnh sửa đầu ra để đặt đường dẫn đến chứng chỉ.ELASTIFLOW_ES_USER
: Tên người dùng cho kết nối đến Elasticsearch.ELASTIFLOW_ES_PASSWD
: Mật khẩu cho kết nối đến Elasticsearch.ELASTIFLOW_NETFLOW_IPV4_HOST
,ELASTIFLOW_NETFLOW_IPV4_PORT
: Địa chỉ IPv4 và cổng mà ElastiFlow sẽ lắng nghe các tin nhắn Netflow.ELASTIFLOW_NETFLOW_IPV6_HOST
,ELASTIFLOW_NETFLOW_IPV6_PORT
: Địa chỉ IPv6 và cổng mà ElastiFlow sẽ lắng nghe các tin nhắn Netflow.ELASTIFLOW_SFLOW_IPV4_HOST
,ELASTIFLOW_SFLOW_IPV4_PORT
: Địa chỉ IPv4 và cổng mà ElastiFlow sẽ lắng nghe các tin nhắn sFlow.ELASTIFLOW_SFLOW_IPV6_HOST
,ELASTIFLOW_SFLOW_IPV6_PORT
: Địa chỉ IPv6 và cổng mà ElastiFlow sẽ lắng nghe các tin nhắn sFlow.ELASTIFLOW_IPFIX_TCP_IPV4_HOST
,ELASTIFLOW_IPFIX_TCP_IPV4_PORT
: Địa chỉ IPv4 và cổng mà ElastiFlow sẽ lắng nghe các tin nhắn IPFIX qua TCP.ELASTIFLOW_IPFIX_UDP_IPV4_HOST
,ELASTIFLOW_IPFIX_UDP_IPV4_PORT
: Địa chỉ IPv4 và cổng mà ElastiFlow sẽ lắng nghe các tin nhắn IPFIX qua UDP.ELASTIFLOW_IPFIX_TCP_IPV6_HOST
,ELASTIFLOW_IPFIX_TCP_IPV6_PORT
: Địa chỉ IPv6 và cổng mà ElastiFlow sẽ lắng nghe các tin nhắn IPFIX qua TCP.ELASTIFLOW_IPFIX_UDP_IPV6_HOST
,ELASTIFLOW_IPFIX_UDP_IPV6_PORT
: Địa chỉ IPv6 và cổng mà ElastiFlow sẽ lắng nghe các tin nhắn IPFIX qua UDP.
Danh sách này cung cấp các tùy chỉnh để tùy chỉnh và cấu hình ElastiFlow™ cho môi trường của bạn. Bạn có thể thay đổi giá trị của các biến này để đáp ứng nhu cầu cụ thể của bạn.
18. Đề xuất cài đặt cho timepicker:quickRanges
.
Đề xuất cài đặt cho timepicker:quickRanges
là để cấu hình một số phạm vi thời gian nhanh chóng mà bạn có thể sử dụng trong Time Picker trong Kibana để nhanh chóng lọc dữ liệu. Để cấu hình nó, bạn cần đặt giá trị cho timepicker:quickRanges
để nói cho Kibana những khoảng thời gian bạn muốn có sẵn trong danh sách thả xuống.
Dưới đây là cấu hình đề xuất cho timepicker:quickRanges
:
- “Last 15 minutes”:
"from": "now-15m", "to": "now"
- “Last 1 hour”:
"from": "now-1h", "to": "now"
- “Last 24 hours”:
"from": "now-24h", "to": "now"
- “Last 7 days”:
"from": "now-7d", "to": "now"
- “Last 30 days”:
"from": "now-30d", "to": "now"
- “Current month”:
"from": "now/M", "to": "now/M"
- “Last month”:
"from": "now/M-1M/M", "to": "now/M-1M/M"
Khi bạn cài đặt timepicker:quickRanges
như trên, bạn sẽ có các tùy chọn nhanh chóng để lọc dữ liệu theo các khoảng thời gian phổ biến như “15 phút trước”, “1 giờ trước”, “24 giờ trước”, và những tùy chọn khác để phân tích dữ liệu của bạn dễ dàng hơn trong Kibana.
[
{
"from": "now-15m",
"to": "now",
"display": "Last 15 minutes"
},
{
"from": "now-30m",
"to": "now",
"display": "Last 30 minutes"
},
{
"from": "now-1h",
"to": "now",
"display": "Last 1 hour"
},
{
"from": "now-2h",
"to": "now",
"display": "Last 2 hours"
},
{
"from": "now-4h",
"to": "now",
"display": "Last 4 hours"
},
{
"from": "now-12h",
"to": "now",
"display": "Last 12 hours"
},
{
"from": "now-24h",
"to": "now",
"display": "Last 24 hours"
},
{
"from": "now-48h",
"to": "now",
"display": "Last 48 hours"
},
{
"from": "now-7d",
"to": "now",
"display": "Last 7 days"
},
{
"from": "now-30d",
"to": "now",
"display": "Last 30 days"
},
{
"from": "now-60d",
"to": "now",
"display": "Last 60 days"
},
{
"from": "now-90d",
"to": "now",
"display": "Last 90 days"
},
{
"from": "now/d",
"to": "now/d",
"display": "Today"
},
{
"from": "now/w",
"to": "now/w",
"display": "This week"
},
{
"from": "now/M",
"to": "now/M",
"display": "This month"
},
{
"from": "now/d",
"to": "now",
"display": "Today so far"
},
{
"from": "now/w",
"to": "now",
"display": "Week to date"
},
{
"from": "now/M",
"to": "now",
"display": "Month to date"
}
]
- Tài liệu tham khảo:
Tham khảo thêm video về ElastiFlow.