Chạy ELK Stack với Docker
File instances.yml
sẽ nhận diện các phiên cần tạo chứng chỉ và sẽ được sử dụng bởi elasticsearch-certutil
để tạo chứng chỉ phù hợp.
Tạo folder chứa các file để sử dụng
mkdir ~/elk-docker-ssl
cd ~/elk-docker-ssl
mkdir elasticsearch
mkdir kibana
mkdir logstash
Tạo các file cần thiết
instances.yml:
instances:
- name: elastic
dns:
- elastic
ip:
- 10.15.242.163
- name: my-kibana
dns:
- my-kibana
ip:
- 10.15.242.163
- name: logstash
dns:
- logstash
ip:
- 10.15.242.163
Cấu hình instances.yml
chứa thông tin về các phiên bản muốn tạo chứng chỉ TLS. Dựa trên thông tin trong tệp này, có ba phiên bản: "elastic", "my-kibana" và "logstash", được liên kết với địa chỉ IP "10.15.242.163".
File .env
đặt biến môi trường để chỉ định phiên bản Elasticsearch và vị trí nơi chứng chỉ Elasticsearch sẽ được tạo.
.env:
COMPOSE_PROJECT_NAME=es
CERTS_DIR=/usr/share/elasticsearch/config/certificates
ELASTIC_PASSWORD=z6GwKILzDTf9bMZiFDfw
ELASTIC_VERSION=7.17.10
COMPOSE_PROJECT_NAME=es
: Tên dự án Docker Compose sẽ là "es". Điều này sẽ ảnh hưởng đến tên các container được tạo bởi Docker Compose.CERTS_DIR=/usr/share/elasticsearch/config/certificates
: Đường dẫn đến thư mục chứa các chứng chỉ TLS, trong trường hợp này là: "/usr/share/elasticsearch/config/certificates". Các chứng chỉ sẽ được tạo và lưu trong thư mục này.ELASTIC_PASSWORD=z6GwKILzDTf9bMZiFDfw
: Mật khẩu của người dùng "elastic". Đây là mật khẩu sẽ được sử dụng để truy cập vào Elasticsearch.ELASTIC_VERSION=7.17.10
: Phiên bản Elasticsearch được sử dụng, trong trường hợp này là phiên bản "7.17.10".
File create-certs.yml
là một tệp Docker Compose khởi chạy một container để tạo chứng chỉ cho Elasticsearch, Kibana và logstash.
create-certs.yml:
version: '2.2'
services:
create_certs:
container_name: create_certs
image: docker.elastic.co/elasticsearch/elasticsearch:7.14.1
command: >
bash -c '
if [[ ! -f /certs/bundle.zip ]]; then
bin/elasticsearch-certutil cert --silent --pem --in config/certificates/instances.yml -out /certs/bundle.zip;
unzip /certs/bundle.zip -d /certs;
fi;
chown -R 1000:0 /certs
'
user: "0"
working_dir: /usr/share/elasticsearch
volumes: ['certs:/certs', '.:/usr/share/elasticsearch/config/certificates']
volumes: {"certs"}
Dưới đây là một phân tích của tệp cấu hình Docker Compose:
Phiên bản:
version: '2.2'
: Đây là phiên bản của Docker Compose được sử dụng trong tệp cấu hình. Trong trường hợp này, phiên bản được chỉ định là '2.2'.Dịch vụ "create_certs":
container_name: create_certs
: Đặt tên cho container được tạo, trong trường này là "create_certs".image:
docker.elastic.co/elasticsearch/elasticsearch:7.17.10
: Sử dụng hình ảnh Docker của Elasticsearch có phiên bản là 7.17.10. Đây là hình ảnh được sử dụng để tạo chứng chỉ.command: >
: Lệnh được thực thi trong container để tạo chứng chỉ TLS. Lệnh này thực hiện một số bước để tạo chứng chỉ từ tệp cấu hìnhinstances.yml
và giải nén chúng thành các tệp PEM.user: "0"
: Sử dụng người dùng root trong container.working_dir: /usr/share/elasticsearch
: Đặt thư mục làm thư mục làm việc trong container.volumes: ['certs:/certs', '.:/usr/share/elasticsearch/config/certificates']
: Định nghĩa các khối gắn kết (volumes) cho container. Thư mục/certs
trong container được gắn kết với volume có têncerts
nằm ngoài container. Thư mục hiện tại (.
) của máy chủ được gắn kết với thư mục/usr/share/elasticsearch/config/certificates
trong container.
Volume:
volumes: {"certs"}
: Định nghĩa một volume có têncerts
, được sử dụng để lưu trữ chứng chỉ TLS được tạo.
Quá trình tạo chứng chỉ TLS sẽ được thực hiện khi bạn chạy Docker Compose với tệp cấu hình này. Container "create_certs" sẽ được khởi chạy và thực hiện các bước tạo chứng chỉ dựa trên tệp cấu hình instances.yml
. Sau đó, chứng chỉ sẽ được lưu trữ trong thư mục được gắn kết với volume certs
.
Tệp PEM (Privacy-Enhanced Mail) là một định dạng tệp được sử dụng để lưu trữ và truyền thông tin mã hóa. Định dạng này thường được sử dụng để lưu trữ chứng chỉ công cộng và chứng chỉ riêng tư trong hệ thống mã hóa SSL/TLS.
Tệp PEM là định dạng văn bản ASCII và có thể mở và xem bằng một trình soạn thảo văn bản thông thường. Nó thường có phần mở rộng tệp là .pem
, ví dụ: certificate.pem
hoặc private_key.pem
.
docker-compose.yml:
version: '2.2'
services:
elastic:
container_name: elastic
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}
environment:
#basic
- node.name=elastic
- discovery.type=single-node
- ELASTIC_PASSWORD=$ELASTIC_PASSWORD
- "ES_JAVA_OPTS=-Xmx1g -Xms1g"
- bootstrap.memory_lock=false
- xpack.license.self_generated.type=basic
# ssl settings
- xpack.security.enabled=true
- xpack.security.http.ssl.enabled=true
- xpack.security.transport.ssl.enabled=true
- xpack.security.transport.ssl.verification_mode=certificate
# ssl ca path
- xpack.security.http.ssl.key=$CERTS_DIR/elastic/elastic.key
- xpack.security.http.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
- xpack.security.http.ssl.certificate=$CERTS_DIR/elastic/elastic.crt
- xpack.security.transport.ssl.certificate_authorities=$CERTS_DIR/ca/ca.crt
- xpack.security.transport.ssl.certificate=$CERTS_DIR/elastic/elastic.crt
- xpack.security.transport.ssl.key=$CERTS_DIR/elastic/elastic.key
volumes:
- certs:$CERTS_DIR:z
# - data01:/usr/share/elasticsearch/data
ulimits:
memlock:
soft: -1
hard: -1
nproc: 65535
nofile:
soft: 65535
hard: 65535
ports:
- 9200:9200
networks:
- elk
healthcheck:
test: curl --cacert $CERTS_DIR/ca/ca.crt -s https://elastic:9200 >/dev/null; if [[ $$? == 52 ]]; then echo 0; else echo 1; fi
interval: 30s
timeout: 10s
retries: 5
kib01:
image: docker.elastic.co/kibana/kibana:${ELASTIC_VERSION}
container_name: kib01
restart: always
env_file: .env
depends_on:
- elastic
ports:
- 5601:5601
environment:
SERVERNAME: my-kibana
ELASTICSEARCH_URL: https://elastic:9200
ELASTICSEARCH_HOSTS: https://elastic:9200
ELASTICSEARCH_USERNAME: kibana_system
ELASTICSEARCH_PASSWORD: changeme
ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES: $CERTS_DIR/ca/ca.crt
SERVER_SSL_ENABLED: "true"
SERVER_SSL_KEY: $CERTS_DIR/my-kibana/my-kibana.key
SERVER_SSL_CERTIFICATE: $CERTS_DIR/my-kibana/my-kibana.crt
networks:
- elk
volumes:
- certs:$CERTS_DIR:z
#- ./kibana/kibana.yml:/usr/share/kibana/config/kibana.yml:z
logs01:
image: docker.elastic.co/logstash/logstash:${ELASTIC_VERSION}
container_name: logs01
restart: always
env_file: .env
depends_on:
- elastic
ports:
- "5044:5044"
- "50000:50000"
- "9600:9600"
volumes:
- ./logstash/logstash.yml:/usr/share/logstash/config/logstash.yml
- ./logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
- certs:$CERTS_DIR:z
# - ./logstash/ca.crt:/usr/share/logstash/config/ca.crt
# - lsdata:/usr/share/logstash/data
environment:
- "LS_JAVA_OPTS=-Xmx1g -Xms1g"
networks:
- elk
wait_until_ready:
image: docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}
command: /usr/bin/true
depends_on: {"elastic": {"condition": "service_healthy"}}
networks:
elk:
driver: bridge
#volumes: {"data01", "data02", "lsdata", "certs"}
volumes: {"lsdata", "certs"}
Dịch vụ Elasticsearch (elastic):
Container_name: Đặt tên cho container Elasticsearch là "elastic".
Image: Sử dụng ảnh Docker của Elasticsearch từ địa chỉ "docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}". Biến
${ELASTIC_VERSION}
chứa phiên bản Elasticsearch.Environment: Thiết lập các biến môi trường cho Elasticsearch, bao gồm cấu hình cơ bản và các cấu hình bảo mật như mật khẩu, SSL, chứng chỉ và khóa.
Volumes: Liên kết thư mục "certs" với "$CERTS_DIR" để chia sẻ chứng chỉ và khóa giữa máy chủ và container Elasticsearch.
Ulimits: Thiết lập giới hạn tài nguyên cho container, bao gồm giới hạn bộ nhớ và số lượng file.
Ports: Mở cổng 9200 để có thể truy cập Elasticsearch từ bên ngoài.
Networks: Liên kết container với mạng "elk".
Dịch vụ Kibana (kib01):
Container_name: Đặt tên cho container Kibana là "kib01".
Image: Sử dụng ảnh Docker của Kibana từ địa chỉ "docker.elastic.co/kibana/kibana:${ELASTIC_VERSION}". Biến
${ELASTIC_VERSION}
chứa phiên bản Kibana.Environment: Thiết lập các biến môi trường cho Kibana, bao gồm cấu hình kết nối với Elasticsearch, SSL, xác thực và cấu hình khác.
Volumes: Liên kết thư mục "certs" với "$CERTS_DIR" để chia sẻ chứng chỉ và khóa giữa máy chủ và container Kibana.
Ports: Mở cổng 5601 để có thể truy cập Kibana từ bên ngoài.
Networks: Liên kết container với mạng "elk".
Dịch vụ Logstash (logs01):
Container_name: Đặt tên cho container Logstash là "logs01".
Image: Sử dụng ảnh Docker của Logstash từ địa chỉ "docker.elastic.co/logstash/logstash:${ELASTIC_VERSION}". Biến
${ELASTIC_VERSION}
chứa phiên bản Logstash.Environment: Thiết lập các biến môi trường cho Logstash, bao gồm cấu hình tài nguyên Java và các cấu hình khác.
Ports: Mở các cổng 5044, 50000 và 9600 để có thể truy cập Logstash từ bên ngoài.
Volumes: Liên kết thư mục cấu hình Logstash và thư mục "certs" để chia sẻ chứng chỉ và khóa giữa máy chủ và container Logstash.
Networks: Liên kết container với mạng "elk".
Dịch vụ wait_until_ready:
Image: Sử dụng ảnh Docker của Elasticsearch từ địa chỉ "docker.elastic.co/elasticsearch/elasticsearch:${ELASTIC_VERSION}". Biến
${ELASTIC_VERSION}
chứa phiên bản Elasticsearch.Command: Thiết lập lệnh sẽ được thực thi trong container, ở đây là "/usr/bin/true".
Depends_on: Chỉ định rằng dịch vụ hiện tại phải chờ đến khi dịch vụ Elasticsearch hoàn tất khởi động.
Networks:
- Định nghĩa mạng "elk" với driver là "bridge".
Volumes:
- Định nghĩa các thư mục dữ liệu "certs" để được sử dụng trong các dịch vụ.
Tạo các file cấu hình ELK
File elasticsearch.yml
xpack.monitoring.collection.enabled: true
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.key: certs/elastic.key
xpack.security.transport.ssl.certificate: certs/elastic.crt
xpack.security.transport.ssl.certificate_authorities: [ "certs/ca.crt" ]
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.key: certs/elastic.key
xpack.security.http.ssl.certificate: certs/elastic.crt
xpack.security.http.ssl.certificate_authorities: [ "certs/ca.crt" ]
node.data : true
discovery.type : single-node
#discovery.seed_hosts : []
#cluster.initial_master_nodes : []
node.name: elastic
discovery.seed_hosts: [ "elastic" ]
xpack.monitoring.collection.enabled: true
: Bật tính năng thu thập dữ liệu giám sát của X-Pack để theo dõi và ghi lại các sự kiện và thông tin về hoạt động của Elasticsearch.xpack.security.enabled: true
: Bật tính năng bảo mật của X-Pack để bảo vệ Elasticsearch và các kết nối tới nó.xpack.security.transport.ssl.enabled: true
: Kích hoạt việc sử dụng SSL/TLS cho giao tiếp truyền tải dữ liệu giữa các nút Elasticsearch.xpack.security.transport.ssl.verification_mode: certificate
: Xác thực chứng chỉ SSL/TLS khi thiết lập kết nối giữa các nút Elasticsearch.xpack.security.transport.ssl.key: certs/elastic.key
: Đường dẫn đến khóa (private key) SSL/TLS được sử dụng cho giao tiếp truyền tải dữ liệu.xpack.security.transport.ssl.certificate: certs/elastic.crt
: Đường dẫn đến chứng chỉ SSL/TLS được sử dụng cho giao tiếp truyền tải dữ liệu.xpack.security.transport.ssl.certificate_authorities: [ "certs/ca.crt" ]
: Đường dẫn đến danh sách các chứng chỉ CA (Certificate Authorities) được sử dụng để xác thực chứng chỉ SSL/TLS khi thiết lập kết nối giữa các nút Elasticsearch.xpack.security.http.ssl.enabled: true
: Kích hoạt việc sử dụng SSL/TLS cho giao tiếp HTTP với Elasticsearch.xpack.security.http.ssl.key: certs/elastic.key
: Đường dẫn đến khóa (private key) SSL/TLS được sử dụng cho giao tiếp HTTP.xpack.security.http.ssl.certificate: certs/elastic.crt
: Đường dẫn đến chứng chỉ SSL/TLS được sử dụng cho giao tiếp HTTP.xpack.security.http.ssl.certificate_authorities: [ "certs/ca.crt" ]
: Đường dẫn đến danh sách các chứng chỉ CA (Certificate Authorities) được sử dụng để xác thực chứng chỉ SSL/TLS trong giao tiếp HTTP.node.data: true
: Đánh dấu nút Elasticsearch hiện tại là một nút dữ liệu (data node), có khả năng lưu trữ và xử lý dữ liệu.discovery.type: single-node
: Cấu hình Elasticsearch hoạt động ở chế độ đơn lẻ, không sử dụng tính năng phát hiện nút tự động và không có nút khác để tạo một cụm (cluster) Elasticsearch.node.name: elastic
: Đặt tên cho nút Elasticsearch hiện tại là "elastic".discovery.seed_hosts: [ "elastic" ]
: Xác định danh sách các nút được sử dụng để phát hiện và kết nối với nút Elasticsearch hiện tại. Trong trường hợp này, chỉ có một nút với tên "elastic" được sử dụng.
file kibana.yml
server.host: "0.0.0.0"
server.name: "my-kibana"
elasticsearch.hosts: https://elastic:9200
elasticsearch.username: kibana
elasticsearch.password: 9gFaCsK6bIZ4zo6SrWeW
server.ssl.enabled: true
server.ssl.certificate: /usr/share/elasticsearch/config/certificates/my-kibana/my-kibana.crt
server.ssl.key: /usr/share/elasticsearch/config/certificates/my-kibana/my-kibana.key
elasticsearch.ssl.certificateAuthorities: /usr/share/elasticsearch/config/certificates/ca/ca.crt
server.host: "0.0.0.0"
: Kibana sẽ lắng nghe các kết nối đến từ mọi địa chỉ IP trên máy chủ.server.name: "my-kibana"
: Đặt tên cho máy chủ Kibana là "my-kibana".elasticsearch.hosts:
https://elastic:9200
: Xác định địa chỉ và cổng của Elasticsearch mà Kibana sẽ kết nối đến. Trong trường hợp này, Kibana sẽ kết nối tới Elasticsearch thông qua địa chỉ "elastic:9200".elasticsearch.username: kibana
: Xác định tên người dùng (username) được sử dụng để xác thực khi Kibana kết nối đến Elasticsearch. Trong trường hợp này, Kibana sẽ sử dụng người dùng có tên "kibana".elasticsearch.password: 9gFaCsK6bIZ4zo6SrWeW
: Xác định mật khẩu (password) của người dùng được sử dụng để xác thực khi Kibana kết nối đến Elasticsearch. Trong trường hợp này, mật khẩu của người dùng "kibana" là "9gFaCsK6bIZ4zo6SrWeW".server.ssl.enabled: true
: Bật chế độ sử dụng SSL/TLS cho giao tiếp giữa Kibana và các trình duyệt hoặc các yêu cầu đến Kibana.server.ssl.certificate: /usr/share/elasticsearch/config/certificates/my-kibana/my-kibana.crt
: Đường dẫn đến chứng chỉ SSL/TLS được sử dụng bởi Kibana để thiết lập giao tiếp bảo mật. Trong trường hợp này, chứng chỉ SSL/TLS của Kibana được lưu trữ tại "/usr/share/elasticsearch/config/certificates/my-kibana/my-kibana.crt".server.ssl.key: /usr/share/elasticsearch/config/certificates/my-kibana/my-kibana.key
: Đường dẫn đến khóa (private key) SSL/TLS được sử dụng bởi Kibana để mã hóa và giải mã thông tin giao tiếp bảo mật. Trong trường hợp này, khóa SSL/TLS của Kibana được lưu trữ tại "/usr/share/elasticsearch/config/certificates/my-kibana/my-kibana.key".elasticsearch.ssl.certificateAuthorities: /usr/share/elasticsearch/config/certificates/ca/ca.crt
: Đường dẫn đến danh sách các chứng chỉ CA (Certificate Authorities) được sử dụng để xác thực chứng chỉ SSL/TLS khi Kibana kết nối đến Elasticsearch. Trong trường hợp này, danh sách chứng chỉ CA được lưu trữ tại "/usr/share/elasticsearch/config/certificates/ca/ca.crt".
file logstash.yml
xpack.monitoring.enabled: true
xpack.monitoring.elasticsearch.username: logstash_system
xpack.monitoring.elasticsearch.password: changeme
xpack.monitoring.elasticsearch.hosts: https://elastic:9200
xpack.monitoring.elasticsearch.ssl.certificate_authority: /usr/share/elasticsearch/config/certificates/ca/ca.crt
xpack.monitoring.enabled: true
: Bật tính năng giám sát của X-Pack trong Elasticsearch.xpack.monitoring.elasticsearch.username: logstash_system
: Xác định tên người dùng (username) được sử dụng để xác thực khi Elasticsearch gửi dữ liệu giám sát tới chính nó. Trong trường hợp này, Elasticsearch sử dụng người dùng có tên "logstash_system".xpack.monitoring.elasticsearch.password: changeme
: Xác định mật khẩu (password) của người dùng được sử dụng để xác thực khi Elasticsearch gửi dữ liệu giám sát tới chính nó. Trong trường hợp này, mật khẩu của người dùng "logstash_system" là "changeme".xpack.monitoring.elasticsearch.hosts:
https://elastic:9200
: Xác định địa chỉ và cổng của Elasticsearch nơi dữ liệu giám sát sẽ được gửi đến. Trong trường hợp này, dữ liệu giám sát sẽ được gửi tới Elasticsearch thông qua địa chỉ "elastic:9200".xpack.monitoring.elasticsearch.ssl.certificate_authority: /usr/share/elasticsearch/config/certificates/ca/ca.crt
: Đường dẫn đến chứng chỉ CA (Certificate Authority) được sử dụng để xác thực chứng chỉ SSL/TLS khi Elasticsearch gửi dữ liệu giám sát tới chính nó. Trong trường hợp này, chứng chỉ CA được lưu trữ tại "/usr/share/elasticsearch/config/certificates/ca/ca.crt".
file logstash.conf
input {
beats {
port => 5044
}
tcp {
port => 50000
}
}
filter {
}
output {
elasticsearch {
hosts => ["https://elastic:9200"]
user => "elastic"
password => "z6GwKILzDTf9bMZiFDfw"
cacert => "/usr/share/elasticsearch/config/certificates/ca/ca.crt"
data_stream => "true"
}
}
Input:
Beats: Đây là một input plugin của Logstash được cấu hình để lắng nghe các sự kiện từ Beats, chẳng hạn như Filebeat hoặc Metricbeat. Nó lắng nghe trên cổng 5044.
TCP: Đây là một input plugin của Logstash để lắng nghe dữ liệu từ kết nối TCP. Nó lắng nghe trên cổng 50000.
Output:
Elasticsearch: Đây là một output plugin của Logstash được cấu hình để gửi dữ liệu tới Elasticsearch. Các thông số cấu hình bao gồm:
Hosts: Địa chỉ Elasticsearch và cổng, trong trường hợp này là "elastic:9200".
User và Password: Tên người dùng và mật khẩu để xác thực khi gửi dữ liệu tới Elasticsearch.
Cacert: Đường dẫn đến chứng chỉ CA (Certificate Authority) để xác thực chứng chỉ SSL/TLS của Elasticsearch.
Data Stream: Được đặt là "true" để gửi dữ liệu vào một data stream trong Elasticsearch.
Data Stream là một tính năng trong Elastic Stack (bao gồm Elasticsearch, Logstash và Kibana) giúp tổ chức và quản lý dữ liệu trong Elasticsearch một cách cấu trúc và hiệu quả hơn.
Chạy ELK Stack với Docker
cd ~/elk-docker-ssl
Tạo chứng chỉ:
docker-compose -f create-certs.yml run --rm create_certs
Lệnh này sử dụng công cụ
docker-compose
để chạy một container dựa trên cấu hình được chỉ định trong tệpcreate-certs.yml
. Container chạy dịch vụcreate_certs
, nhiệm vụ của nó là tạo ra các chứng chỉ cần thiết cho Elasticsearch. Cờ--rm
đảm bảo rằng container sẽ được tự động xóa sau khi hoàn tất.Khởi chạy cụm Elasticsearch:
docker-compose up -d
Lệnh này sử dụng công cụ
docker-compose
để khởi chạy cụm Elasticsearch dựa trên cấu hình được chỉ định trong tệpdocker-compose.yml
. Cụm bao gồm ba nút Elasticsearch và cờ-d
chạy các container ở chế độ detached, có nghĩa là chúng sẽ chạy ở nền.Sao chép CA certificate từ volume Docker vào máy chủ:
docker cp elastic:/usr/share/elasticsearch/config/certificates/ca/ca.crt /tmp
Lệnh này sẽ sao chép CA certificate từ container Docker có tên là "elkastic" và đường dẫn "/usr/share/elasticsearch/config/certificates/ca/ca.crt" vào thư mục "/tmp" trên máy chủ.
- Kiểm tra Elasticsearch có đang chạy hay không:
curl --cacert /tmp/ca.crt -u elastic:Something https://elastic:9200?pretty
Lệnh này sử dụng CA certificate đã được sao chép vào máy chủ để truy cập Elasticsearch thông qua giao thức HTTPS tại địa chỉ "localhost:9200". Bạn sẽ sử dụng tên người dùng "elastic" và mật khẩu "Something" để xác thực.
- Thay đổi mật khẩu cho người dùng kibana_system:
vbnetCopy code$ curl --cacert /tmp/ca.crt -u elastic:something -X POST "https://elastic:9200/_security/user/kibana_system/_password?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "changeme"
}
'
Lệnh này gửi một yêu cầu POST thông qua HTTPS để thay đổi mật khẩu cho người dùng kibana_system thành "changeme". Cần xác thực bằng người dùng "elastic" và mật khẩu "something", và mật khẩu mới sẽ được áp dụng cho người dùng kibana_system.
- Thay đổi mật khẩu cho người dùng logstash_system:
vbnetCopy code$ curl --cacert /tmp/ca.crt -u elastic:something -X POST "https://elastic:9200/_security/user/logstash_system/_password?pretty" -H 'Content-Type: application/json' -d'
{
"password" : "changeme"
}
'
Lệnh này gửi một yêu cầu POST thông qua HTTPS để thay đổi mật khẩu cho người dùng logstash_system thành "changeme". Tương tự như trên, cần xác thực bằng người dùng "elastic" và mật khẩu "something", và mật khẩu mới sẽ được áp dụng cho người dùng logstash_system.
Truy cập https://10.15.242.163:5601 và test