From abe21a7b86993af205dcf11d62be4bd230fca134 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 26 Sep 2019 20:26:38 +0800 Subject: [PATCH 1/4] PRF @geekpi --- .../20190528 A Quick Look at Elvish Shell.md | 40 +++++++++---------- 1 file changed, 19 insertions(+), 21 deletions(-) diff --git a/translated/tech/20190528 A Quick Look at Elvish Shell.md b/translated/tech/20190528 A Quick Look at Elvish Shell.md index c6dd61450e..6b690abbf1 100644 --- a/translated/tech/20190528 A Quick Look at Elvish Shell.md +++ b/translated/tech/20190528 A Quick Look at Elvish Shell.md @@ -1,49 +1,47 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (A Quick Look at Elvish Shell) [#]: via: (https://itsfoss.com/elvish-shell/) [#]: author: (John Paul https://itsfoss.com/author/john/) -快速了解 Elvish Shell +Elvish Shell 速览 ====== -每个来到这里的人都会对许多系统默认 Bash shell 有所了解(无论多少)。过去这些年已经有一些新的 shell 出现来解决 Bash 中的一些缺点。Elvish 就是其中之一,我们将在今天讨论它。 +每个来到这里的人都会对许多系统中默认 Bash shell 有所了解(无论多少)。过去这些年已经有一些新的 shell 出现来解决 Bash 中的一些缺点。Elvish 就是其中之一,我们将在今天讨论它。 ### 什么是 Elvish Shell? ![Pipelines In Elvish][1] -[Elvish][2] 不只是一个 shell。它[也是][3]“一种表达性编程语言”。它有许多有趣的特性,包括: +[Elvish][2] 不仅仅是一个 shell。它[也是][3]“一种表达性编程语言”。它有许多有趣的特性,包括: - * 使用 Go 语言编写 - * 内置文件管理器,灵感来自 [Ranger 文件管理器][4](`Ctrl + N`) - * 可搜索的命令历史记录(`Ctrl + R`) - * 历史访问目录(`Ctrl + L`) - * 支持结构化数据,例如列表、字典和函数的强大的管道 - * 包含“一组标准的控制结构:有 `if` 条件控制、 `for` 和 `while` 循环,还有 `try` 的异常处理” - * 通过包管理器支持[第三方模块扩展 Elvish][5] - * BSD 2-Clause 许可 +* 它是由 Go 语言编写的 +* 内置文件管理器,灵感来自 [Ranger 文件管理器][4](`Ctrl + N`) +* 可搜索的命令历史记录(`Ctrl + R`) +* 访问的目录的历史记录(`Ctrl + L`) +* 支持结构化数据,例如列表、字典和函数的强大的管道 +* 包含“一组标准的控制结构:有 `if` 条件控制、`for` 和 `while` 循环,还有 `try` 的异常处理” +* 通过包管理器支持[第三方模块扩展 Elvish][5] +* BSD 两句版许可证 +你肯定在喊,“为什么叫 Elvish?”。好吧,根据[他们的网站][6],他们之所以选择当前的名字,是因为: - -我听到了你的大叫,“为什么叫 Elvish?”。好吧,根据[他们的网站][6],他们之所以选择当前的名字,是因为: - -> 在 Roguelike 中,精灵制造的物品质量很高。它们通常被称为“精灵物品”。但是之所以选择 “elvish” 是因为它以 “sh” 结尾,这是 Unix shell 的久远传统。这个与 fish 押韵,它是影响 Elvish 哲学的 shell 之一。 +> 在 Roguelike 游戏中,精灵制造的物品质量很高。它们通常被称为“精灵物品”。但是之所以选择 “elvish” 是因为它以 “sh” 结尾,这是 Unix shell 的久远传统。这个与 fish 押韵,它是影响 Elvish 哲学的 shell 之一。 ### 如何安装 Elvish Shell Elvish 在几种主流发行版中都有。 -请注意,该软件还很年轻。最新版本是 0.12。根据该项目的 [GitHub 页面][3]:“尽管还在 1.0 之前,但它已经适合大多数日常交互使用。” +请注意,该软件还很年轻。最新版本是 0.12。根据该项目的 [GitHub 页面][3]:“尽管还处在 1.0 之前,但它已经适合大多数日常交互使用。” ![Elvish Control Structures][7] #### Debian 和 Ubuntu -Elvish 包已引入 Debian Buster 和 Ubuntu 17.10。不幸的是,这些包已经过时,你将需要使用 [PPA][8] 安装最新版本。你需要使用以下命令: +Elvish 包已引入 Debian Buster 和 Ubuntu 17.10。不幸的是,这些包已经过时,你需要使用 [PPA][8] 安装最新版本。你需要使用以下命令: ``` sudo add-apt-repository ppa:zhsj/elvish @@ -70,13 +68,13 @@ Elvish 在 [Arch 用户仓库][10]中可用。 就个人而言,我没有理由在任何系统上安装 Elvish。我可以通过安装几个小的命令行程序或使用已经安装的程序来获得它的大多数功能。 -例如,Bash 中已经存在“搜索历史命令”功能,并且效果很好。如果要提高历史命令的能力,我建议安装 [fzf][12]。fzf 使用模糊搜索,因此你无需记住要查找的确切命令。fzf 还允许你预览和打开文件。 +例如,Bash 中已经存在“搜索历史命令”功能,并且效果很好。如果要提高历史命令的能力,我建议安装 [fzf][12]。`fzf` 使用模糊搜索,因此你无需记住要查找的确切命令。`fzf` 还允许你预览和打开文件。 我认为 Elvish 作为一种编程语言是不错的,但是我会坚持使用 Bash shell 脚本,直到 Elvish 变得更成熟。 你们都有用过 Elvish 么?你认为安装 Elvish 是否值得?你最喜欢的 Bash 替代品是什么?请在下面的评论中告诉我们。 -如果你发现这篇文章有趣,请花一点时间在社交媒体、Hacker News 或 [Reddit][13] 上分享它。 +如果你发现这篇文章有趣,请花一点时间在社交媒体、Hacker News 或 Reddit 上分享它。 -------------------------------------------------------------------------------- @@ -85,7 +83,7 @@ via: https://itsfoss.com/elvish-shell/ 作者:[John Paul][a] 选题:[lujun9972][b] 译者:[geekpi](https://github.com/geekpi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 From 32fc118e4d4e8f8f6ed704c34544925d48164e15 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 26 Sep 2019 20:27:14 +0800 Subject: [PATCH 2/4] PUB @geekpi https://linux.cn/article-11393-1.html --- .../20190528 A Quick Look at Elvish Shell.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190528 A Quick Look at Elvish Shell.md (98%) diff --git a/translated/tech/20190528 A Quick Look at Elvish Shell.md b/published/20190528 A Quick Look at Elvish Shell.md similarity index 98% rename from translated/tech/20190528 A Quick Look at Elvish Shell.md rename to published/20190528 A Quick Look at Elvish Shell.md index 6b690abbf1..9822423b08 100644 --- a/translated/tech/20190528 A Quick Look at Elvish Shell.md +++ b/published/20190528 A Quick Look at Elvish Shell.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (geekpi) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11393-1.html) [#]: subject: (A Quick Look at Elvish Shell) [#]: via: (https://itsfoss.com/elvish-shell/) [#]: author: (John Paul https://itsfoss.com/author/john/) From 3f7d5dd402367998f36d6a06d4efcdbf00c49384 Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 26 Sep 2019 21:27:44 +0800 Subject: [PATCH 3/4] PRF @heguangzhi --- ...stic Stack Cluster on RHEL 8 - CentOS 8.md | 212 ++++++++---------- 1 file changed, 93 insertions(+), 119 deletions(-) diff --git a/translated/tech/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md b/translated/tech/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md index a6ae6cf537..10a5c950d2 100644 --- a/translated/tech/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md +++ b/translated/tech/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md @@ -1,59 +1,49 @@ [#]: collector: (lujun9972) [#]: translator: (heguangzhi) -[#]: reviewer: ( ) +[#]: reviewer: (wxy) [#]: publisher: ( ) [#]: url: ( ) [#]: subject: (How to Setup Multi Node Elastic Stack Cluster on RHEL 8 / CentOS 8) [#]: via: (https://www.linuxtechi.com/setup-multinode-elastic-stack-cluster-rhel8-centos8/) [#]: author: (Pradeep Kumar https://www.linuxtechi.com/author/pradeep/) -如何在 RHEL 8 /CentOS 8 上建立多节点 Elastic stack 集群 +如何在 RHEL8 /CentOS8 上建立多节点 Elastic stack 集群 ====== -Elastic stack 俗称 **ELK stack**,是一组开源产品,如 **Elasticsearch**、**Logstash**和**Kibana**。Elastic Stack 由 Elastic 公司开发和维护。使用 Elastic stack,可以将系统日志发送到 Logstash,它是一个数据收集引擎,接受来自可能任何来源的日志或数据,并对日志进行格式化,然后将日志转发到 Elasticsearch ,用于 **分析**、**索引**、**搜索**和**存储**,最后使用 Kibana 表示为可视化数据,使用 Kibana,我们还可以基于用户的查询创建交互式图表。 - - -[![Elastic-Stack-Cluster-RHEL8-CentOS8][1]][2] +Elastic stack 俗称 ELK stack,是一组包括 Elasticsearch、Logstash 和 Kibana 在内的开源产品。Elastic Stack 由 Elastic 公司开发和维护。使用 Elastic stack,可以将系统日志发送到 Logstash,它是一个数据收集引擎,接受来自可能任何来源的日志或数据,并对日志进行归一化,然后将日志转发到 Elasticsearch,用于分析、索引、搜索和存储,最后使用 Kibana 表示为可视化数据,使用 Kibana,我们还可以基于用户的查询创建交互式图表。 +![Elastic-Stack-Cluster-RHEL8-CentOS8][2] 在本文中,我们将演示如何在 RHEL 8 / CentOS 8 服务器上设置多节点 elastic stack 集群。以下是我的 Elastic Stack 集群的详细信息: -### Elasticsearch: +**Elasticsearch:** - * 三台服务器,最小化安装 RHEL 8 / CentOS 8 - * IPs & 主机名 – 192.168.56.40 (elasticsearch1.linuxtechi. local), 192.168.56.50 (elasticsearch2.linuxtechi. local), 192.168.56.60 (elasticsearch3.linuxtechi. local) +* 三台服务器,最小化安装 RHEL 8 / CentOS 8 +* IP & 主机名 – 192.168.56.40(`elasticsearch1.linuxtechi.local`)、192.168.56.50 (`elasticsearch2.linuxtechi.local`)、192.168.56.60(elasticsearch3.linuxtechi.local`) +Logstash:** -### Logstash: +* 两台服务器,最小化安装 RHEL 8 / CentOS 8 +* IP & 主机 – 192.168.56.20(`logstash1.linuxtechi.local`)、192.168.56.30(`logstash2.linuxtechi.local`) - * 两台服务器,最小化安装 RHEL 8 / CentOS 8 - * IPs & 主机 – 192.168.56.20 (logstash1.linuxtechi. local) , 192.168.56.30 (logstash2.linuxtechi. local) +**Kibana:** +* 一台服务器,最小化安装 RHEL 8 / CentOS 8 +* IP & 主机名 – 192.168.56.10(`kibana.linuxtechi.local`) +**Filebeat:** -### Kibana: - - * 一台服务器,最小化安装 RHEL 8 / CentOS 8 - * 主机名 – kibana.linuxtechi.local - * IP – 192.168.56.10 - - - -### Filebeat: - - * 一台服务器,最小化安装 CentOS 7 - * IP &主机名 – 192.168.56.70 (web-server) - - +* 一台服务器,最小化安装 CentOS 7 +* IP & 主机名 – 192.168.56.70(`web-server`) 让我们从设置 Elasticsearch 集群开始, -#### 设置3个节点 Elasticsearch 集群 +### 设置3个节点 Elasticsearch 集群 正如我已经说过的,设置 Elasticsearch 集群的节点,登录到每个节点,设置主机名并配置 yum/dnf 库。 -使用命令 hostnamectl 设置各个节点上的主机名, +使用命令 `hostnamectl` 设置各个节点上的主机名: ``` [root@linuxtechi ~]# hostnamectl set-hostname "elasticsearch1.linuxtechi. local" @@ -67,14 +57,15 @@ Elastic stack 俗称 **ELK stack**,是一组开源产品,如 **Elasticsearch [root@linuxtechi ~]# ``` -对于 CentOS 8 系统,我们不需要配置任何操作系统包库,对于 RHEL 8服务器,如果您订阅了,然后用红帽订阅以获得包存储库就可以了。如果您想为操作系统包配置本地 yum/dnf 存储库,请参考以下网址: +对于 CentOS 8 系统,我们不需要配置任何操作系统包库,对于 RHEL 8 服务器,如果你有有效订阅,那么用红帽订阅以获得包存储库就可以了。如果你想为操作系统包配置本地 yum/dnf 存储库,请参考以下网址: -[How to Setup Local Yum/DNF Repository on RHEL 8 Server Using DVD or ISO File][3] +- [如何使用 DVD 或 ISO 文件在 RHEL 8 服务器上设置本地 Yum / DNF 存储库][3] -在所有节点上配置 Elasticsearch 包存储库,在 /etc/yum.repo.d/ 文件夹下创建一个包含以下内容的 elastic.repo 文件 +在所有节点上配置 Elasticsearch 包存储库,在 `/etc/yum.repo.d/` 文件夹下创建一个包含以下内容的 `elastic.repo` 文件: ``` ~]# vi /etc/yum.repos.d/elastic.repo + [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum @@ -85,15 +76,15 @@ autorefresh=1 type=rpm-md ``` -保存 & 退出文件 +保存文件并退出。 -在所有三个节点上使用 rpm 命令导入 Elastic 公共签名密钥 +在所有三个节点上使用 `rpm` 命令导入 Elastic 公共签名密钥。 ``` ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch ``` -在所有三个节点的 /etc/hosts 文件中添加以下行: +在所有三个节点的 `/etc/hosts` 文件中添加以下行: ``` 192.168.56.40 elasticsearch1.linuxtechi.local @@ -101,7 +92,7 @@ type=rpm-md 192.168.56.60 elasticsearch3.linuxtechi.local ``` -使用 yum/dnf 命令在所有三个节点上安装 Java, +使用 `yum`/`dnf` 命令在所有三个节点上安装 Java: ``` [root@linuxtechi ~]# dnf install java-openjdk -y @@ -109,7 +100,7 @@ type=rpm-md [root@linuxtechi ~]# dnf install java-openjdk -y ``` -使用 dnf 命令在所有三个节点上安装 Elasticsearch, +使用 `yum`/`dnf` 命令在所有三个节点上安装 Elasticsearch: ``` [root@linuxtechi ~]# dnf install elasticsearch -y @@ -117,7 +108,7 @@ type=rpm-md [root@linuxtechi ~]# dnf install elasticsearch -y ``` -**注意:** 如果操作系统防火墙已启用并在每个 Elasticsearch 节点中运行,则使用 firewall-cmd 命令允许以下端口开放, +**注意:** 如果操作系统防火墙已启用并在每个 Elasticsearch 节点中运行,则使用 `firewall-cmd` 命令允许以下端口开放: ``` ~]# firewall-cmd --permanent --add-port=9300/tcp @@ -125,23 +116,22 @@ type=rpm-md ~]# firewall-cmd --reload ``` -配置 Elasticsearch, 在所有节点上编辑文件 **/etc/elasticsearch/elasticsearch.yml** 并加入以下内容, +配置 Elasticsearch, 在所有节点上编辑文件 `/etc/elasticsearch/elasticsearch.yml` 并加入以下内容: ``` ~]# vim /etc/elasticsearch/elasticsearch.yml -………………………………………… + cluster.name: opn-cluster node.name: elasticsearch1.linuxtechi.local network.host: 192.168.56.40 http.port: 9200 discovery.seed_hosts: ["elasticsearch1.linuxtechi.local", "elasticsearch2.linuxtechi.local", "elasticsearch3.linuxtechi.local"] cluster.initial_master_nodes: ["elasticsearch1.linuxtechi.local", "elasticsearch2.linuxtechi.local", "elasticsearch3.linuxtechi.local"] -…………………………………………… ``` -**注意:** 在每个节点上,在 node.name 中填写正确的主机名,在 network.host 中填写正确的 IP 地址,其他参数将保持不变。 +**注意:** 在每个节点上,在 `node.name` 中填写正确的主机名,在 `network.host` 中填写正确的 IP 地址,其他参数保持不变。 -现在使用 systemctl 命令在所有三个节点上启动并启用 Elasticsearch 服务, +现在使用 `systemctl` 命令在所有三个节点上启动并启用 Elasticsearch 服务: ``` ~]# systemctl daemon-reload @@ -149,7 +139,7 @@ cluster.initial_master_nodes: ["elasticsearch1.linuxtechi.local", "elasticsearch ~]# systemctl start elasticsearch.service ``` -使用下面 'ss' 命令验证 elasticsearch 节点是否开始监听9200端口, +使用下面 `ss` 命令验证 elasticsearch 节点是否开始监听 9200 端口: ``` [root@linuxtechi ~]# ss -tunlp | grep 9200 @@ -157,33 +147,31 @@ tcp LISTEN 0 128 [::ffff:192.168.56.40]:9200 *:* [root@linuxtechi ~]# ``` -使用以下 curl 命令验证 Elasticsearch 群集状态 +使用以下 `curl` 命令验证 Elasticsearch 群集状态: ``` [root@linuxtechi ~]# curl http://elasticsearch1.linuxtechi.local:9200 [root@linuxtechi ~]# curl -X GET http://elasticsearch2.linuxtechi.local:9200/_cluster/health?pretty ``` -命令的输出如下所示, +命令的输出如下所示: -![Elasticsearch-cluster-status-rhel8][1] +![Elasticsearch-cluster-status-rhel8][3] -以上输出表明我们已经成功创建了3节点的 Elasticsearch 集群,集群的状态也是绿色的。 +以上输出表明我们已经成功创建了 3 节点的 Elasticsearch 集群,集群的状态也是绿色的。 -**注意:** 如果您想修改 JVM 堆大小,那么您已经编辑了文件 “**/etc/elasticsearch/jvm.options**”,并根据您的环境更改以下参数, +**注意:** 如果你想修改 JVM 堆大小,那么你可以编辑了文件 `/etc/elasticsearch/jvm.options`,并根据你的环境更改以下参数: - * -Xms1g - * -Xmx1g +* `-Xms1g` +* `-Xmx1g` +现在让我们转到 Logstash 节点。 +### 安装和配置 Logstash -现在让我们转到 Logstash 节点, +在两个 Logstash 节点上执行以下步骤。 -#### 安装和配置 Logstash - -在两个 Logstash 节点上执行以下步骤, - -登录到两个节点使用 hostnamectl 命令设置主机名, +登录到两个节点使用 `hostnamectl` 命令设置主机名: ``` [root@linuxtechi ~]# hostnamectl set-hostname "logstash1.linuxtechi.local" @@ -194,7 +182,7 @@ tcp LISTEN 0 128 [::ffff:192.168.56.40]:9200 *:* [root@linuxtechi ~]# ``` -在两个 logstash 节点的 /etc/hosts 文件中添加以下条目 +在两个 logstash 节点的 `/etc/hosts` 文件中添加以下条目: ``` ~]# vi /etc/hosts @@ -203,13 +191,13 @@ tcp LISTEN 0 128 [::ffff:192.168.56.40]:9200 *:* 192.168.56.60 elasticsearch3.linuxtechi.local ``` -保存并退出文件 +保存文件并退出。 - -在两个节点上配置 Logstash 存储库,在文件夹/ete/yum.repo.d/下创建一个包含以下内容的文件 **logstash.repo**, +在两个节点上配置 Logstash 存储库,在文件夹 `/ete/yum.repo.d/` 下创建一个包含以下内容的文件 `logstash.repo`: ``` ~]# vi /etc/yum.repos.d/logstash.repo + [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum @@ -220,35 +208,33 @@ autorefresh=1 type=rpm-md ``` -保存并退出文件,运行 rpm 命令导入签名密钥 +保存并退出文件,运行 `rpm` 命令导入签名密钥: ``` ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch ``` -使用 dnf 命令在两个节点上安装 Java OpenJDK, +使用 `yum`/`dnf` 命令在两个节点上安装 Java OpenJDK: ``` ~]# dnf install java-openjdk -y ``` -从两个节点运行 dnf 命令来安装 logstash, +从两个节点运行 `yum`/`dnf` 命令来安装 logstash: ``` [root@linuxtechi ~]# dnf install logstash -y [root@linuxtechi ~]# dnf install logstash -y ``` -现在配置logstash,在两个 logstash 节点上执行以下步骤, - -创建一个 logstash conf 文件,首先我们在 “/etc/logstash/conf.d/” 下复制 logstash 示例文件 +现在配置 logstash,在两个 logstash 节点上执行以下步骤,创建一个 logstash 配置文件,首先我们在 `/etc/logstash/conf.d/` 下复制 logstash 示例文件: ``` # cd /etc/logstash/ # cp logstash-sample.conf conf.d/logstash.conf ``` -编辑 conf 文件并更新以下内容, +编辑配置文件并更新以下内容: ``` # vi conf.d/logstash.conf @@ -269,22 +255,23 @@ output { } ``` -输出部分,在主机参数中指定所有三个 Elasticsearch 节点的 FQDN,其他参数保持不变。 +在 `output` 部分之下,在 `hosts` 参数中指定所有三个 Elasticsearch 节点的 FQDN,其他参数保持不变。 -使用 firewall-cmd 命令在操作系统防火墙中允许 logstash 端口 “5044”, +使用 `firewall-cmd` 命令在操作系统防火墙中允许 logstash 端口 “5044”: ``` ~ # firewall-cmd --permanent --add-port=5044/tcp ~ # firewall-cmd –reload ``` -现在,在每个节点上运行以下 systemctl 命令,启动并启用 Logstash 服务 +现在,在每个节点上运行以下 `systemctl` 命令,启动并启用 Logstash 服务: ``` ~]# systemctl start logstash ~]# systemctl eanble logstash ``` -使用 ss 命令验证 logstash 服务是否开始监听 5044 端口, + +使用 `ss` 命令验证 logstash 服务是否开始监听 5044 端口: ``` [root@linuxtechi ~]# ss -tunlp | grep 5044 @@ -294,9 +281,9 @@ tcp LISTEN 0 128 *:5044 *:* 以上输出表明 logstash 已成功安装和配置。让我们转到 Kibana 安装。 -#### 安装和配置 Kibana +### 安装和配置 Kibana -登录 Kibana 节点,使用 **hostnamectl** 命令设置主机名, +登录 Kibana 节点,使用 `hostnamectl` 命令设置主机名: ``` [root@linuxtechi ~]# hostnamectl set-hostname "kibana.linuxtechi.local" @@ -304,8 +291,7 @@ tcp LISTEN 0 128 *:5044 *:* [root@linuxtechi ~]# ``` -编辑 /etc/hosts 文件并添加以下行 - +编辑 `/etc/hosts` 文件并添加以下行: ``` 192.168.56.40 elasticsearch1.linuxtechi.local @@ -313,7 +299,7 @@ tcp LISTEN 0 128 *:5044 *:* 192.168.56.60 elasticsearch3.linuxtechi.local ``` -使用以下命令设置 Kibana 存储库, +使用以下命令设置 Kibana 存储库: ``` [root@linuxtechi ~]# vi /etc/yum.repos.d/kibana.repo @@ -329,13 +315,13 @@ type=rpm-md [root@linuxtechi ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch ``` -执行 dnf 命令安装kibana, +执行 `yum`/`dnf` 命令安装 kibana: ``` [root@linuxtechi ~]# yum install kibana -y ``` -通过编辑 “**/etc/kibana/kibana.yml**” 文件,配置 Kibana +通过编辑 `/etc/kibana/kibana.yml` 文件,配置 Kibana: ``` [root@linuxtechi ~]# vim /etc/kibana/kibana.yml @@ -346,15 +332,14 @@ elasticsearch.hosts: ["http://elasticsearch1.linuxtechi.local:9200", "http://ela ………… ``` -启动并且启用 kibana 服务 - +启用并启动 kibana 服务: ``` [root@linuxtechi ~]# systemctl start kibana [root@linuxtechi ~]# systemctl enable kibana ``` -在系统防火墙上允许 Kibana 端口 ‘5601‘ +在系统防火墙上允许 Kibana 端口 “5601”: ``` [root@linuxtechi ~]# firewall-cmd --permanent --add-port=5601/tcp @@ -363,25 +348,20 @@ success success [root@linuxtechi ~]# ``` -使用以下 URL 访问 Kibana 界面 - +使用以下 URL 访问 Kibana 界面: -[![Kibana-Dashboard-rhel8][1]][4] +![Kibana-Dashboard-rhel8][4] -从 面板上,我们可以检查 Elastic Stack 集群的状态 - -[![Stack-Monitoring-Overview-RHEL8][1]][5] +从面板上,我们可以检查 Elastic Stack 集群的状态。 +![Stack-Monitoring-Overview-RHEL8][5] 这证明我们已经在 RHEL 8 /CentOS 8 上成功地安装并设置了多节点 Elastic Stack 集群。 +现在让我们通过 `filebeat` 从其他 Linux 服务器发送一些日志到 logstash 节点中,在我的例子中,我有一个 CentOS 7服务器,我将通过 `filebeat` 将该服务器的所有重要日志推送到 logstash。 - -现在让我们通过 filebeat 从其他 Linux 服务器发送一些日志到 logstash 节点中,在我的例子中,我有一个 CentOS 7服务器,我将通过 filebeat 将该服务器的所有重要日志推送到 logstash 。 - - -登录到 CentOS 7 服务器使用 rpm 命令安装 filebeat 包, +登录到 CentOS 7 服务器使用 yum/rpm 命令安装 filebeat 包: ``` [root@linuxtechi ~]# rpm -ivh https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.3.1-x86_64.rpm @@ -392,22 +372,20 @@ Updating / installing... [root@linuxtechi ~]# ``` -编辑 /etc/hosts 文件并添加以下内容, +编辑 `/etc/hosts` 文件并添加以下内容: ``` 192.168.56.20 logstash1.linuxtechi.local 192.168.56.30 logstash2.linuxtechi.local ``` +现在配置 `filebeat`,以便它可以使用负载平衡技术向 logstash 节点发送日志,编辑文件 `/etc/filebeat/filebeat.yml`,并添加以下参数: -现在配置 filebeat,以便它可以使用负载平衡技术向 logstash 节点发送日志,编辑文件 **/etc/filebeat/filebeat.yml**,并添加以下参数, - - -在 “**filebeat.inputs:**”部分将“**enabled: false**”更改为“**enabled: true**”,并在“**paths**”参数下指定我们可以发送到 logstash 的日志文件的位置,在 Elasticsearch 输出部分注释掉“**output.elasticsearch**”和**host**参数。在 Logstash 输出部分,删除“**output.logstash:**” 和 “**hosts:**” 的注释,并在 hosts 参数和 “**loadbalance: true**” 中添加 logstash 节点。 +在 `filebeat.inputs:` 部分将 `enabled: false` 更改为 `enabled: true`,并在 `paths` 参数下指定我们可以发送到 logstash 的日志文件的位置;注释掉 `output.elasticsearch` 和 `host` 参数;删除 `output.logstash:` 和 `hosts:` 的注释,并在 `hosts` 参数添加两个 logstash 节点,以及设置 `loadbalance: true`。 ``` [root@linuxtechi ~]# vi /etc/filebeat/filebeat.yml -………………………. + filebeat.inputs: - type: log enabled: true @@ -422,46 +400,42 @@ filebeat.inputs: output.logstash: hosts: ["logstash1.linuxtechi.local:5044", "logstash2.linuxtechi.local:5044"] loadbalance: true -……………………………………… ``` -使用下面的2个 systemctl 命令 启动并启用 filebeat 服务 +使用下面的 2 个 `systemctl` 命令 启动并启用 `filebeat` 服务: ``` [root@linuxtechi ~]# systemctl start filebeat -[root@linuxtechi ~]# systemctl enable filebeat +[root@linuxtechi ~]# systemctl enable filebeat ``` -现在转到 Kibana 用户界面,验证新索引是否可见, +现在转到 Kibana 用户界面,验证新索引是否可见。 -从左侧栏中选择管理选项,然后单击 Elasticsearch 下的索引管理, +从左侧栏中选择管理选项,然后单击 Elasticsearch 下的索引管理: -[![Elasticsearch-index-management-Kibana][1]][6] +![Elasticsearch-index-management-Kibana][6] -正如我们上面看到的,索引现在是可见的,让我们创建索引模型, +正如我们上面看到的,索引现在是可见的,让我们现在创建索引模型。 +点击 Kibana 部分的 “Index Patterns”,它将提示我们创建一个新模型,点击 “Create Index Pattern” ,并将模式名称指定为 “filebeat”: -点击 Kibana 部分的 “索引模型”,它将提示我们创建一个新模型,点击 **Create Index Pattern** ,并将模式名称指定为 **filebeat** +![Define-Index-Pattern-Kibana-RHEL8][7] -[![Define-Index-Pattern-Kibana-RHEL8][1]][7] +点击下一步。 +选择 “Timestamp” 作为索引模型的时间过滤器,然后单击 “Create index pattern”: -点击下一步 +![Time-Filter-Index-Pattern-Kibana-RHEL8][8] -选择 **Timestamp** 作为索引模型的时间过滤器,然后单击 “Create index pattern” +![filebeat-index-pattern-overview-Kibana][9] -[![Time-Filter-Index-Pattern-Kibana-RHEL8][1]][8] - -[![filebeat-index-pattern-overview-Kibana][1]][9] - -现在单击查看实时 filebeat 索引模型, - -[![Discover-Kibana-REHL8][1]][10] +现在单击查看实时 filebeat 索引模型: +![Discover-Kibana-REHL8][10] 这表明 Filebeat 代理已配置成功,我们能够在 Kibana 仪表盘上看到实时日志。 -以上就是本文的全部内容,对这些帮助您在 RHEL 8 / CentOS 8 系统上设置 Elastic Stack集群的步骤,请不要犹豫分享您的反馈和意见, +以上就是本文的全部内容,对这些帮助你在 RHEL 8 / CentOS 8 系统上设置 Elastic Stack 集群的步骤,请不要犹豫分享你的反馈和意见。 -------------------------------------------------------------------------------- @@ -470,7 +444,7 @@ via: https://www.linuxtechi.com/setup-multinode-elastic-stack-cluster-rhel8-cent 作者:[Pradeep Kumar][a] 选题:[lujun9972][b] 译者:[heguangzhi](https://github.com/heguangzhi) -校对:[校对者ID](https://github.com/校对者ID) +校对:[wxy](https://github.com/wxy) 本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出 @@ -478,7 +452,7 @@ via: https://www.linuxtechi.com/setup-multinode-elastic-stack-cluster-rhel8-cent [b]: https://github.com/lujun9972 [1]: data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7 [2]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Elastic-Stack-Cluster-RHEL8-CentOS8.jpg -[3]: https://www.linuxtechi.com/setup-local-yum-dnf-repository-rhel-8/ +[3]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Elasticsearch-cluster-status-rhel8.jpg [4]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Kibana-Dashboard-rhel8.jpg [5]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Stack-Monitoring-Overview-RHEL8.jpg [6]: https://www.linuxtechi.com/wp-content/uploads/2019/09/Elasticsearch-index-management-Kibana.jpg From 3620a99dd67aa7b62bf983c8f8bee52d15a295ba Mon Sep 17 00:00:00 2001 From: Xingyu Wang Date: Thu, 26 Sep 2019 21:28:16 +0800 Subject: [PATCH 4/4] PUB @heguangzhi https://linux.cn/article-11394-1.html --- ...p Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename {translated/tech => published}/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md (99%) diff --git a/translated/tech/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md b/published/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md similarity index 99% rename from translated/tech/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md rename to published/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md index 10a5c950d2..8838a490d6 100644 --- a/translated/tech/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md +++ b/published/20190909 How to Setup Multi Node Elastic Stack Cluster on RHEL 8 - CentOS 8.md @@ -1,8 +1,8 @@ [#]: collector: (lujun9972) [#]: translator: (heguangzhi) [#]: reviewer: (wxy) -[#]: publisher: ( ) -[#]: url: ( ) +[#]: publisher: (wxy) +[#]: url: (https://linux.cn/article-11394-1.html) [#]: subject: (How to Setup Multi Node Elastic Stack Cluster on RHEL 8 / CentOS 8) [#]: via: (https://www.linuxtechi.com/setup-multinode-elastic-stack-cluster-rhel8-centos8/) [#]: author: (Pradeep Kumar https://www.linuxtechi.com/author/pradeep/)