本教程适用于以下操作系统版本

  • Debian 12 (Bookworm)
  • Debian 11 (Bullseye)

本页内容

  • 先决条件
  • 配置系统
  • 下载 OpenSearch
  • 配置 OpenSearch
  • 生成 TLS 证书 生成根 CA 证书 生成管理员证书 生成节点证书 配置证书
  • 将 TLS 证书添加到 OpenSearch
  • 在 OpenSearch 上创建用户
  • 以 Systemd 服务方式运行 OpenSearch
  • 安装 OpenSearch Dashboards
  • 以 Systemd 服务方式运行 OpenSearch Dashboards
  • 访问 OpenSearch Dashboards
  • 结论
  • 生成根 CA 证书
  • 生成管理员证书
  • 生成节点证书
  • 配置证书

OpenSearch 是 Amazon 主导的社区驱动项目,是 Elasticsearch 和 Kibana 的一个分支。它是一套完全开源的搜索引擎和分析套件,具备丰富的功能和创新特性。OpenSearch 项目的主要组件为 OpenSearch(Elasticsearch 的分支)和 OpenSearch Dashboards(Kibana 的分支)。这两个组件都提供企业级安全、告警、机器学习、SQL、索引状态管理等功能。

OpenSearch 是 100% 开源的,采用 Apache 2.0 许可证。它让你可以轻松地对数据进行摄取、保护、搜索、聚合、查看和分析,适用于日志分析、应用搜索、企业搜索等多种使用场景。

在本教程中,你将把 OpenSearch(一套开源的搜索、分析和可视化套件)部署到 Debian 11 服务器上。整个过程包括下载 OpenSearch 软件包并手动安装到你的 Debian 系统。你还将为 OpenSearch 配置安全的 SSL/TLS 证书,并通过身份认证与授权来保护部署。

此外,你还将部署并安装 OpenSearch Dashboards(一款开源可视化工具),并将其与 OpenSearch 进行集成配置。最终,你的 Debian 服务器上将安装好数据分析与可视化套件,你需要通过 fluentd、Logstash、filebeat 等工具将数据发送过来。

先决条件

要完成本指南,你必须满足以下要求:

  • 一台已安装 Debian 11、且内存至少 8GB 的服务器。本示例使用主机名为 node1、本地 IP 地址为 192.168.5.50 的 Debian 系统。
  • 一个具有 sudo/root 管理员权限的非 root 用户。

如果已满足上述要求,现在就可以开始安装 OpenSearch 了。

配置系统

第一步,你将针对 OpenSearch 部署对 Debian 服务器进行设置和优化。你将设置系统主机名和 FQDN,禁用内存分页与交换分区,然后调大最大内存映射数量。

在 OpenSearch 主机上禁用内存分页和交换分区可提升性能。对于最大内存映射数,生产环境至少需要设置为 262144。

运行下面的 hostnamectl 命令来设置系统主机名。然后,将 FQDN 配置添加到 /etc/hosts 文件中。本示例中,主机名应为 node1,FQDN 为 node1.hwdomain.lan。

sudo hostnamectl set-hostname node1
echo "192.168.5.50  node1.hwdomain.lan  node1" >> /etc/hosts

现在通过下面的 hostname 命令验证你服务器的 FQDN。示例中,服务器的 FQDN 应为 node1.hwdomain.lan。

hostname -f

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

接下来,你需要禁用系统上的交换分区。无论你是通过分区还是文件使用交换空间,其配置都保存在 /etc/fstab 文件中。

运行下面的命令来禁用系统上的交换分区。这里的 sed 命令会通过在 /etc/fstab 文件中交换设置行首添加注释符号 # 来永久禁用交换分区。swapoff 命令则会在当前会话中禁用交换分区。

sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
sudo swapoff -a

通过下面的命令验证交换分区状态。如果已禁用,你在交换分区一栏应看到输出 0。

free -m

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

最后,你将把配置添加到 /etc/sysctl.conf 文件以增大系统的最大内存映射数。

运行下面的命令,将参数 vm.max_map_count=262144 添加到 /etc/sysctl.conf 文件。然后,通过 sysctl -p 命令使配置生效。

sudo echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sudo sysctl -p

运行下面的命令验证最大内存映射数。如果成功,你的最大内存映射数应为 262144。

cat /proc/sys/vm/max_map_count

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

系统已配置并优化完毕,现在可以开始在其上安装 OpenSearch 了。

下载 OpenSearch

OpenSearch 有多种安装方式。本示例中,你将通过 Tarball 方式安装 OpenSearch。这一步,你将新建一个专用的系统用户 opensearch,下载 OpenSearch 的 tarball 软件包,然后为 OpenSearch 安装目录设置正确的权限和归属。

首先,使用下面的命令添加新系统用户 opensearch。

sudo adduser --system --shell /bin/bash -U 10001 --no-create-home opensearch

使用下面的 groupadd 命令添加新用户组 opensearch。然后,通过 usermod 命令将你的系统用户 opensearch 加入 opensearch 组。

sudo groupadd opensearch
sudo usermod -aG opensearch opensearch

现在创建新的主目录 /home/opensearch,并将主目录 /home/opensearch 的归属更改为 opensearch 用户。

mkdir -p /home/opensearch
sudo chown -R opensearch /home/opensearch

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

接下来,通过 wget 命令下载 OpenSearch 软件包。下载完成后,通过下面的 tar 命令解压文件。本示例中,你将安装 OpenSearch 2.4.1。可在官方下载页面查看 OpenSearch 的最新版本。

wget https://artifacts.opensearch.org/releases/bundle/opensearch/2.4.1/opensearch-2.4.1-linux-x64.tar.gz
tar xf opensearch-2.4.1-linux-x64.tar.gz

OpenSearch 软件包解压后,将解压出的目录移动到 /opt/opensearch。这将是 OpenSearch 的主安装目录。然后,运行 chown 命令将目录 /opt/opensearch 的归属更改为 opensearch 用户。

mv opensearch-2.4.1 /opt/opensearch
sudo chown -R opensearch /opt/opensearch

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

现在你已经下载了 OpenSearch 软件包,并将目标安装目录配置为 /opt/opensearch。接下来,你将对 OpenSearch 安装进行设置与配置。

配置 OpenSearch

在这一步,你将把 OpenSearch 设置为在特定 IP 地址上运行、以单节点方式运行、启用 OpenSearch 安全插件,并为 OpenSearch 进程设置最大堆内存。这些都可以通过编辑 OpenSearch 配置文件 /opt/opensearch/config/opensearch.yml 和 OpenSearch 的 JVM 选项文件 config/jvm.options 来完成。

通过 cd 命令将工作目录切换到 /opt/opensearch。

cd /opt/opensearch

使用下面的 nano 编辑器命令打开 OpenSearch 配置文件 config/opensearch.yml。

sudo nano config/opensearch.yml

将以下行添加到文件中。

# Bind OpenSearch to interface or IP address
network.host: 192.168.5.50
# OpenSearch deployment type
discovery.type: single-node
# Re-enable security plugins 
plugins.security.disabled: false

完成后保存并退出文件 config/opensearch.yml。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

参数详情:

  • network.host 参数用于将 OpenSearch 绑定到特定 IP 地址。本示例中,OpenSearch 将在内部 IP 地址 192.168.5.50 上运行。
  • 当你希望以单节点方式部署 OpenSearch 时,使用 discovery.type: single-node 参数。
  • plugins.security.disabled 参数被设为 false,表示 OpenSearch 的安全插件将被启用。

接下来,使用下面的 nano 编辑器命令打开文件 config/jvm.options。

sudo nano config/jvm.options

调整 OpenSearch 进程的最大堆内存。该设置取决于你服务器的可用内存或 RAM。本示例将为 OpenSearch 分配 2 GB 内存。

-Xms2g
-Xmx2g

完成后保存并退出文件 config/jvm.options。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

最后,运行下面的命令,在当前会话中设置环境变量 OPENSEARCH_JAVA_HOME。OpenSearch 软件包中已包含所需的 java 和 JDK 软件包,位于 /opt/opensearch/jdk 目录中。

export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
echo $OPENSEARCH_JAVA_HOME

基本 OpenSearch 配置已完成。接下来,你将生成 TLS 证书并保护 OpenSearch 部署。

生成 TLS 证书

在这一步,你将生成多份用于保护 OpenSearch 部署的证书。你将使用 TLS 证书保护节点间通信,并通过 TLS 保护客户端与服务器之间 REST 层流量。

以下是将要生成的证书列表:

  • 根 CA 证书:这些证书将用于为其他证书签名。
  • 管理员证书:这些证书将用于获取执行安全插件相关所有任务的管理权限。
  • 节点与客户端证书:这些证书将由 OpenSearch 集群内的节点和客户端使用。

开始之前,运行下面的命令创建新目录 /opt/opensearch/config/certs,并将工作目录切换进去。该目录将用于存放 TLS 证书。

mkdir -p /opt/opensearch/config/certs; cd /opt/opensearch/config/certs

生成根 CA 证书

使用下面的命令为根 CA 证书生成私钥。

openssl genrsa -out root-ca-key.pem 2048

现在通过下面的命令生成自签名根 CA 证书。你也可以将 -subj 参数中的值替换为你自己的信息。

openssl req -new -x509 -sha256 -key root-ca-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=ROOT" -out root-ca.pem -days 730

完成后,你应得到根 CA 私钥 root-ca-key.pem 和根 CA 证书 root-ca.pem。

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

生成管理员证书

使用下面的命令生成新的管理员证书私钥 admin-key-temp.pem。

openssl genrsa -out admin-key-temp.pem 2048

将默认的管理员私钥转换为 PKCS#8 格式。对于 Java 应用,你需要将默认私钥转换为 PKCS#12 兼容算法(3DES)。完成后,你的管理员私钥应为 admin-key.pem。

openssl pkcs8 -inform PEM -outform PEM -in admin-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out admin-key.pem

接下来,运行下面的命令,根据私钥 admin-key.pem 生成管理员 CSR(证书签名请求)。生成的 CSR 现在应为文件 admin.csr。

由于该证书用于认证提升后的访问权限,且不绑定任何主机,你可以在 CN 配置中填写任意内容。

openssl req -new -key admin-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=A" -out admin.csr

最后,运行下面的命令,使用根 CA 证书和私钥为管理员 CSR 签名。管理员证书的输出为文件 admin.pem。

openssl x509 -req -in admin.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out admin.pem -days 730

你的管理员证书现在应为文件 admin.pem,由根 CA 证书签名。管理员私钥为 admin-key.pem,已转换为 PKCS#8 格式。

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

生成节点证书

生成节点证书的过程与管理员证书类似。但你可以将 CN 值指定为节点的主机名或 IP 地址。

使用下面的命令生成节点私钥。

openssl genrsa -out node1-key-temp.pem 2048

将节点私钥转换为 PKCS#8 格式。你的节点私钥现在应为 node1-key.pem。

openssl pkcs8 -inform PEM -outform PEM -in node1-key-temp.pem -topk8 -nocrypt -v1 PBE-SHA1-3DES -out node1-key.pem

接下来,为节点证书创建新的 CSR。请务必将 CN 值改为你节点的主机名。该证书与主机绑定,你必须将 CN 值指定为 OpenSearch 节点的主机名或 IP 地址。

openssl req -new -key node1-key.pem -subj "/C=CA/ST=ONTARIO/L=TORONTO/O=ORG/OU=UNIT/CN=node1.hwdomain.lan" -out node1.csr

在为节点证书签名之前,运行下面的命令创建 SAN 扩展文件 node1.ext。其中将包含节点的主机名或 FQDN 或 IP 地址。

echo 'subjectAltName=DNS:node1.hwdomain.lan' > node1.ext

最后,使用根 CA 证书和私钥,通过下面的命令为节点证书 CSR 文件签名。

openssl x509 -req -in node1.csr -CA root-ca.pem -CAkey root-ca-key.pem -CAcreateserial -sha256 -out node1.pem -days 730 -extfile node1.ext

完成后,你的节点证书为文件 node1.pem,私钥为 node1-key.pem。

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

配置证书

运行下面的命令,删除临时证书、CSR 和 SAN 扩展文件。

rm *temp.pem *csr *ext
ls

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

将根 CA 证书转换为 .crt 格式。

openssl x509 -outform der -in root-ca.pem -out root-ca.crt

使用下面的命令将根 CA 证书添加到你的 Debian 系统。将文件 root-ca.crt 复制到 /usr/local/share/ca-certificates/ 目录,并将新的根 CA 证书加载到系统中。

sudo cp root-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

输出 1 added 确认新的根 CA 证书已添加到你的系统。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

最后,运行下面的命令为你的证书设置正确的权限和归属。目录 /opt/opensearch/config/certs 的归属应为 opensearch 用户,权限为 0700。所有证书文件的权限则应为 0600。

sudo chown -R opensearch /opt/opensearch/config/certs
sudo chmod 0700 /opt/opensearch/config/certs
sudo chmod 0600 /opt/opensearch/config/certs/*.pem
sudo chmod 0600 /opt/opensearch/config/certs/*.crt

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

将 TLS 证书添加到 OpenSearch

TLS 证书已生成,根 CA、管理员证书和节点证书均已就绪。接下来,你将把证书添加到 OpenSearch 配置文件 /opt/opensearch/config/opensearch.yml 中。本示例中,你将新建一个 bash 脚本,用于向 OpenSearch 添加证书和 TLS 安全插件设置。

使用下面的 nano 编辑器命令创建新文件 add.sh。

nano add.sh

将以下行添加到文件中。请务必更改并使用正确的证书文件路径和目标 OpenSearch 配置文件路径。

#! /bin/bash
# Before running this script, make sure to replace the /path/to your OpenSearch directory,
# and remember to replace the CN in the node's distinguished name with a real
# DNS A record.
echo "plugins.security.ssl.transport.pemcert_filepath: /opt/opensearch/config/certs/node1.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.transport.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.transport.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.enabled: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemcert_filepath: /opt/opensearch/config/certs/node1.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemkey_filepath: /opt/opensearch/config/certs/node1-key.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.ssl.http.pemtrustedcas_filepath: /opt/opensearch/config/certs/root-ca.pem" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.allow_default_init_securityindex: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.authcz.admin_dn:" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "  - 'CN=A,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.nodes_dn:" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "  - 'CN=node1.dns.a-record,OU=UNIT,O=ORG,L=TORONTO,ST=ONTARIO,C=CA'" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.audit.type: internal_opensearch" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.enable_snapshot_restore_privilege: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.check_snapshot_restore_write_privileges: true" | sudo tee -a /opt/opensearch/config/opensearch.yml
echo "plugins.security.restapi.roles_enabled: [\"all_access\", \"security_rest_api_access\"]" | sudo tee -a /opt/opensearch/config/opensearch.yml

完成后保存并退出文件。

接下来,使文件 add.sh 可执行并执行它。OpenSearch 新的 TLS 安全插件应被添加到 OpenSearch 配置文件 /opt/opensearch/config/opensearch.yml 中。

chmod +x add.sh
./add.sh

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

如果你查看 OpenSearch 配置文件 /opt/opensearch/config/opensearch.yml,应在配置文件末尾看到类似这样的新设置。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

至此,你已向 OpenSearch 添加 TLS 证书并启用了安全插件。下一步,你将在 OpenSearch 上创建新用户,通过身份认证与授权来保护 OpenSearch。

在 OpenSearch 上创建用户

开始前,运行下面的命令设置环境变量 OPENSEARCH_JAVA_HOME,并使 OpenSearch 安全工具可执行。

export OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk
chmod 755 /opt/opensearch/plugins/opensearch-security/tools/*.sh

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

将工作目录切换到 /opt/opensearch/plugins/opensearch-security/tools,并执行脚本 hash.sh 为 OpenSearch 生成哈希密码。

cd /opt/opensearch/plugins/opensearch-security/tools
./hash.sh

输入你的密码并复制生成的哈希密码。

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

现在重新运行 hash.sh 脚本,生成另一个将用于 OpenSearch Dashboards 的哈希密码。输入新密码并复制生成的哈希密码。

./hash.sh

生成密码哈希后,你将通过配置文件 internal_users.yml 设置 OpenSearch 用户。

将工作目录切换到 /opt/opensearch/config/opensearch-security/,并使用下面的 nano 编辑器命令打开文件 internal_users.yml。

cd /opt/opensearch/config/opensearch-security/
sudo nano internal_users.yml

删除默认用户设置,并替换为以下行。请务必将哈希密码替换为你的生成的密码。这样,你将创建两个 OpenSearch 用户:admin 用户和供 OpenSearch Dashboards 使用的 kibanaserver 用户。

...
...
admin:
   hash: "$2y$12$ChrsBPaDAJsuel.HXFi2Ie2Jn1MpdzXA4Nd1jeyXf65N97RDJc3Ky"
   reserved: true
   backend_roles:
   - "admin"
   description: "Admin user"
kibanaserver:
  hash: "$2y$12$wIeuRDp5txoJ3d6.lyybJOPwoRaizuuBvlKKzAGdAiu.I/qaX8hXu"
  reserved: true
  description: "Demo OpenSearch Dashboards user"

完成后保存并退出文件 internal_users.yml。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

接下来,运行下面的命令,确保 OpenSearch 安装目录的归属为 opensearch 用户。然后,以 opensearch 用户身份登录。

sudo chown -R opensearch /opt/opensearch
su - opensearch

切换到目录 /opt/opensearch/bin 并运行你的 OpenSearch 安装。OpenSearch 现在应在本地 IP 地址 192.168.5.50、默认端口 9200 上运行。

cd /opt/opensearch/bin
./opensearch

你应收到类似如下的输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

现在打开一个新终端,连接到你的 OpenSearch 服务器,然后以 opensearch 用户身份登录。

su - opensearch

将工作目录切换到 /opt/opensearch/plugins/opensearch-security/tools,并按如下方式运行 securityadmin.sh 脚本。请务必更改 OpenSearch 主机 IP 地址和管理员证书的路径。

这将连接到 OpenSearch 服务器,并应用你在 internal_users.yml 文件中配置的 OpenSearch 用户的新变更。

cd /opt/opensearch/plugins/opensearch-security/tools
OPENSEARCH_JAVA_HOME=/opt/opensearch/jdk ./securityadmin.sh -h 192.168.5.50 -p 9200 -cd /opt/opensearch/config/opensearch-security/ -cacert /opt/opensearch/config/certs/root-ca.pem -cert /opt/opensearch/config/certs/admin.pem -key /opt/opensearch/config/certs/admin-key.pem -icl -nhnv

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

现在回到第一个终端,按下 Ctrl+c 键终止 OpenSearch 服务器。然后,重新运行 OpenSearch 服务器。

./opensearch

至此,OpenSearch 服务器已在使用新配置的用户运行。

回到第二个终端会话,运行下面的命令验证你的 OpenSearch 服务器。你将分别以 OpenSearch 用户 admin 和 kibanaserver 进行认证。同时,请务必为各用户更改密码。

curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k

认证成功后,你应能看到 OpenSearch 服务器的详细信息。

输出 —— 以 admin 用户认证

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

输出 —— 以 kibanaserver 用户认证

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

至此,你已成功在 OpenSearch 服务器上配置了身份认证与授权。现在回到第一个终端会话,对 OpenSearch 进程按下 Ctrl+c 结束该终端。

下一步,你将创建一个用于运行 OpenSearch 服务器的 systemd 服务文件。

以 Systemd 服务方式运行 OpenSearch

在本教程中,你将把 OpenSearch 服务器作为 systemd 服务在后台运行。为此,你必须新建一个 systemd 服务文件、重新加载 systemd 管理器,然后就可以通过 systemctl 命令工具运行并启用 OpenSearch。

使用下面的 nano 编辑器命令创建新的 systemd 服务文件 /etc/systemd/system/opensearch.service。

sudo nano /etc/systemd/system/opensearch.service

将以下行添加到文件中。

[Unit]
Description=OpenSearch
Wants=network-online.target
After=network-online.target
[Service]
Type=forking
RuntimeDirectory=data
WorkingDirectory=/opt/opensearch
ExecStart=/opt/opensearch/bin/opensearch -d
User=opensearch
Group=opensearch
StandardOutput=journal
StandardError=inherit
LimitNOFILE=65535
LimitNPROC=4096
LimitAS=infinity
LimitFSIZE=infinity
TimeoutStopSec=0
KillSignal=SIGTERM
KillMode=process
SendSIGKILL=no
SuccessExitStatus=143
TimeoutStartSec=75
[Install]
WantedBy=multi-user.target

完成后保存并关闭文件。

接下来,运行下面的 systemctl 命令重新加载 systemd 管理器并应用变更。

sudo systemctl daemon-reload

然后,使用下面的 systemctl 命令启动并启用 OpenSearch 服务。完成后,OpenSearch 服务应作为 systemd 服务在后台运行,并且已设为启用,即 OpenSearch 会在系统启动时自动启动。

sudo systemctl start opensearch
sudo systemctl enable opensearch

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

现在验证 OpenSearch 服务,确保其正在运行。你应看到输出表明 OpenSearch 服务正在运行且已启用。

sudo systemctl status opensearch

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

你也可以通过 curl 命令验证 OpenSearch 服务器,对 OpenSearch 进行认证。

curl https://192.168.5.50:9200 -u admin:password -k
curl https://192.168.5.50:9200 -u kibanaserver:kibanapass -k

如果 OpenSearch 正在运行,你应通过认证并获取到 OpenSearch 安装的详细信息。

针对 OpenSearch admin 用户。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

针对 kibanaserver 用户。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

你还可以通过下面的 ss 命令验证系统上开放的端口列表。你应看到端口 9200 和 9300 由 Java 应用(即 OpenSearch 服务器)开放。

ss -tulpn

输出:

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

至此,你已完成 OpenSearch 的安装。现在它在本地 IP 地址 192.168.5.50、默认端口 9200 上运行,并作为 systemd 服务在后台运行,将在系统启动时自动启动。

安装 OpenSearch Dashboards

在这一步,你将下载 OpenSearch Dashboards 软件包并通过 Tarball 手动安装。你还将设置 OpenSearch Dashboards 的运行方式,以及如何通过用户名和密码连接到 OpenSearch 服务器。

通过下面的 wget 命令下载 OpenSearch Dashboards 软件包。

wget https://artifacts.opensearch.org/releases/bundle/opensearch-dashboards/2.4.1/opensearch-dashboards-2.4.1-linux-x64.tar.gz

下载完成后,通过下面的 tar 命令解压 OpenSearch Dashboards 软件包。你应得到一个新目录 opensearch-dashboards-2.4.1。

tar xf opensearch-dashboards-2.4.1-linux-x64.tar.gz

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

将 OpenSearch Dashboards 目录移动到 /opt/opensearch-dashboards。然后,将该目录的归属更改为 opensearch 用户。

mv opensearch-dashboards-* /opt/opensearch-dashboards
sudo chown -R opensearch /opt/opensearch-dashboards

接下来,将工作目录切换到 /opt/opensearch-dashboards,并使用下面的 nano 编辑器命令打开 OpenSearch Dashboards 配置文件 config/opensearch_dashboards.yml。

cd /opt/opensearch-dashboards
sudo nano config/opensearch_dashboards.yml

取消以下行的注释,并将各参数的值替换为你的设置。本示例中,你将在默认端口 5601、服务器 IP 地址 192.168.5.50 上运行 OpenSearch Dashboards。

# OpenSearch Dashboards is served by a back end server. This setting specifies the port to use.
server.port: 5601
# Specifies the address to which the OpenSearch Dashboards server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
server.host: "192.168.5.50"

接下来,在行末添加以下行。请务必将 opensearch.hosts、opensearch.username 和 opensearch.password 参数更改为你的 OpenSearch 服务器信息。

opensearch.hosts: [https://192.168.5.50:9200]
opensearch.ssl.verificationMode: none
opensearch.username: kibanaserver
opensearch.password: kibanapass

完成后保存并退出文件 config/opensearch_dashboards.yml。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

现在你已下载 OpenSearch Dashboards 并配置其连接到 OpenSearch 服务器。接下来,你将创建一个用于运行 OpenSearch Dashboards 的 systemd 服务文件。

以 Systemd 服务方式运行 OpenSearch Dashboards

在这一步,你将新建一个用于运行 OpenSearch Dashboards 的 systemd 服务。

使用下面的 nano 编辑器命令创建新的 systemd 服务文件 /etc/systemd/system/opensearch-dashboards.service。

sudo nano /etc/systemd/system/opensearch-dashboards.service

将以下行添加到文件中。

[Unit]
Description=OpenSearch-Dashboards
Wants=network-online.target
After=network-online.target opensearch.service 
[Service]
Type=simple
User=opensearch
Environment=NODE_ENV=production
Environment=CONFIG_PATH=/opt/opensearch-dashboards/config/opensearch_dashboards.yml
WorkingDirectory=/opt/opensearch-dashboards
ExecStart=/opt/opensearch-dashboards/bin/opensearch-dashboards
StandardOutput=journal
StandardError=inherit
Restart=on-failure
[Install]
WantedBy=multi-user.target

完成后保存并退出文件。

接下来,运行下面的 systemctl 命令重新加载 systemd 管理器并应用新变更。

sudo systemctl daemon-reload

然后,使用下面的 systemctl 命令启动并启用 OpenSearch Dashboards 服务。完成后,OpenSearch Dashboards 服务应正在运行且已启用,即 OpenSearch Dashboards 服务会在系统启动时自动启动。

sudo systemctl start opensearch-dashboards
sudo systemctl enable opensearch-dashboards

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

使用下面的命令验证 OpenSearch Dashboards 服务。

sudo systemctl status opensearch-dashboards

输出 active (running) 确认 OpenSearch Dashboards 服务正在运行。而输出 ; enabled; 确认服务已启用。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

至此,OpenSearch Dashboards 正在你的 Debian 服务器上以默认配置文件 /opt/opensearch-dashboards/config/opensearch_dashboards.yml 运行。它在默认端口 5601、服务器 IP 地址 192.168.5.50 上运行。

访问 OpenSearch Dashboards

打开你的网页浏览器,访问 OpenSearch Dashboards 的 IP 地址加端口 5601(例如:http://192.168.5.50:5601)。你将看到 OpenSearch Dashboards 的登录页面。

输入你创建的用户名和密码。本示例中,用户为 kibanaserver。然后点击 Log in 按钮确认并登录 OpenSearch Dashboards。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

成功后,你将看到如下页面,并显示欢迎使用 OpenSearch Dashboards 的提示。你现在可以点击 Add data 向 OpenSearch 服务器添加新数据,或点击 Explore my own 稍后再进行设置。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

接下来,为确保 OpenSearch Dashboards 已连接到 OpenSearch 服务器,你将执行以下步骤:

点击左侧菜单进入 Management 部分,并点击 Dev Tools。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

现在在控制台中输入查询 GET /,并点击播放按钮。成功后,你应在右侧看到输出,其中包含 OpenSearch 服务器的详细信息。同时,你可以在右上角看到 HTTP 状态码 200 - OK,确认查询已无错误地执行。

在 Debian 11 上安装 OpenSearch 搜索分析引擎完整教程

至此,你已通过 Tarball 在 Debian 服务器上完成 OpenSearch Dashboards 的安装,并配置了 OpenSearch Dashboards 连接到 OpenSearch 服务器。

结论

在本教程中,你已在 Debian 11 服务器上通过 Tarball 安装了 OpenSearch。你还使用 TLS 证书保护了 OpenSearch,启用了身份认证与授权,并在 OpenSearch 中配置了用户。此外,你还将 OpenSearch 配置为以 systemd 服务运行,并优化了 Debian Linux 服务器以部署 OpenSearch。

你还在 Debian 服务器上通过 Tarball 安装了 OpenSearch Dashboards。你已将 OpenSearch Dashboards 配置为以 systemd 服务运行,在启用认证的情况下将 OpenSearch Dashboards 连接到 OpenSearch 服务器,并成功验证了 OpenSearch 与 OpenSearch Dashboards 的安装。

借助此配置,你现在可以通过部署 OpenSearch 集群、设置额外认证等方式进一步探索 OpenSearch。你可以从 OpenSearch 的官方文档中了解更多相关内容。