Merge branches 'master' and 'master' of https://github.com/LCTT/TranslateProject

This commit is contained in:
Dream.I have a dream 2017-04-29 15:29:13 +08:00
commit ebb6d5a700
3 changed files with 120 additions and 163 deletions

View File

@ -1,115 +1,103 @@
如何在CentOS 7 上安装 Elastic Stack
如何在 CentOS 7 上安装 Elastic Stack
============================================================
### 本页
**Elasticsearch** 是基于 Lucene 由 Java 开发的开源搜索引擎。它提供了一个分布式、多租户的全文搜索引擎LCTT 译注:多租户是指多租户技术,是一种软件架构技术,用来探讨与实现如何在多用户的环境下共用相同的系统或程序组件,并且仍可确保各用户间数据的隔离性。),并带有 HTTP 仪表盘的 Web 界面Kibana。数据会被 Elasticsearch 查询、检索,并且使用 JSON 文档方案存储。Elasticsearch 是一个可扩展的搜索引擎可用于搜索所有类型的文本文档包括日志文件。Elasticsearch 是 Elastic Stack 的核心Elastic Stack 也被称为 ELK Stack。
1. [步骤1 - 准备操作系统][1]
2. [步骤2 - 安装 Java][2]
3. [步骤3 - 安装和配置 Elasticsearch][3]
4. [步骤4 - 安装和配置 Kibana 和 Nginx][4]
5. [步骤5 - 安装和配置 Logstash][5]
6. [步骤6 - 在 CentOS 客户端上安装并配置 Filebeat][6]
7. [步骤7 - 在 Ubuntu 客户端上安装并配置 Filebeat][7]
8. [步骤8 - 测试][8]
9. [参考][9]
**Logstash** 是用于管理事件和日志的开源工具。它为数据收集提供实时传递途径。 Logstash 将收集您的日志数据,将数据转换为 JSON 文档,并将其存储在 Elasticsearch 中。
**Elasticsearch** 是基于Lucene由Java开发的开源搜索引擎。它提供了一个分布式多租户译者注多租户是指多租户技术是一种软件架构技术用来探讨与实现如何在多用户的环境下共用相同的系统或程序组件并且仍可确保各用户间数据的隔离性。的全文搜索引擎并带有 HTTP 仪表盘的web界面Kibana。数据会被Elasticsearch查询检索并且使用JSON文档方案存储。Elasticsearch 是一个可扩展的搜索引擎可用于搜索所有类型的文本文档包括日志文件。Elasticsearch 是Elastic Stack的核心“Elastic Stack”也被称为“ELK Stack”
**Kibana** 是 Elasticsearch 的开源数据可视化工具。Kibana 提供了一个漂亮的仪表盘 Web 界面。 你可以用它来管理和可视化来自 Elasticsearch 的数据。 它不仅美丽,而且强大。
**Logstash** 是用于管理事件和日志的开源工具。它为数据收集提供实时传递途径。 Logstash将收集您的日志数据将数据转换为JSON文档并将其存储在Elasticsearch中。
**Kibana** 是Elasticsearch的开源数据可视化工具。Kibana提供了一个漂亮的仪表盘Web界面。 你可以用它来管理和可视化来自Elasticsearch的数据。 它不仅美丽,而且强大。
在本教程中我将向您展示如何在CentOS 7服务器上安装和配置 Elastic Stack以监视服务器日志。 然后,我将向您展示如何在操作系统为 CentOS 7和Ubuntu 16的客户端上安装“Elastic beats”。
在本教程中,我将向您展示如何在 CentOS 7 服务器上安装和配置 Elastic Stack 以监视服务器日志。 然后,我将向您展示如何在操作系统为 CentOS 7 和 Ubuntu 16 的客户端上安装 “Elastic beats”。
**前提条件**
* 64位的CentOS 74GB 内存 - elk 主控机
* 64位的CentOS 7 1 GB 内存 - 客户端1
* 64位的Ubuntu 16 1GB 内存 - 客户端2
* 64 位的 CentOS 74 GB 内存 - elk 主控机
* 64 位的 CentOS 7 1 GB 内存 - 客户端 1
* 64 位的 Ubuntu 16 1 GB 内存 - 客户端 2
### 步骤1 - 准备操作系统
### 步骤 1 - 准备操作系统
在本教程中我们将禁用CentOS 7服务器上的SELinux。 编辑SELinux配置文件。
在本教程中,我们将禁用 CentOS 7 服务器上的 SELinux。 编辑 SELinux 配置文件。
```
vim /etc/sysconfig/selinux
```
将 SELINUX 的值从 enforcing 改成 disabled 。
`SELINUX` 的值从 `enforcing` 改成 `disabled`
```
SELINUX=disabled
```
然后从起服务器
然后重启服务器:
```
reboot
```
再次登录服务器并检查SELinux状态。
再次登录服务器并检查 SELinux 状态。
```
getenforce
```
确保结果是disabled。
确保结果是 `disabled`
### 步骤2 - 安装 Java
### 步骤 2 - 安装 Java
部署Elastic stack依赖于JavaElasticsearch 需要Java 8 版本推荐使用Oracle JDK 1.8 。我将从官方的Oracle rpm包安装Java 8。
部署 Elastic stack 依赖于JavaElasticsearch 需要 Java 8 版本,推荐使用 Oracle JDK 1.8 。我将从官方的 Oracle rpm 包安装 Java 8。
使用wget命令下载Java 8 的JDK。
使用 `wget` 命令下载 Java 8 的 JDK。
```
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u77-b02/jdk-8u77-linux-x64.rpm"
```
然后使用rpm命令安装
然后使用 `rpm` 命令安装
```
rpm -ivh jdk-8u77-linux-x64.rpm
```
最后检查java JDK版本确保它正常工作。
最后,检查 java JDK 版本,确保它正常工作。
```
java -version
```
您将看到服务器的Java版本。
您将看到服务器的 Java 版本。
### 步骤3 - 安装和配置 Elasticsearch
### 步骤 3 - 安装和配置 Elasticsearch
在此步骤中,我们将安装和配置Elasticsearch。 从elastic.co网站提供的rpm包安装Elasticsearch并将其配置在本地主机上运行确保安装程序安全,而且不能从外部访问)。
在此步骤中,我们将安装和配置 Elasticsearch。 从 elastic.co 网站提供的 rpm 包安装 Elasticsearch并将其配置运行在 localhost 上(以确保该程序安全,而且不能从外部访问)。
在安装Elasticsearch之前将elastic.co添加到服务器。
在安装 Elasticsearch 之前,将 elastic.co 的密钥添加到服务器。
```
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
```
接下来使用wget下载Elasticsearch 5.1,然后安装它。
接下来,使用 `wget` 下载 Elasticsearch 5.1,然后安装它。
```
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.rpm
rpm -ivh elasticsearch-5.1.1.rpm
```
Elasticsearch 已经安装好了。 现在进入配置目录编辑elasticsaerch.yml 配置文件。
Elasticsearch 已经安装好了。 现在进入配置目录编辑 `elasticsaerch.yml` 配置文件。
```
cd /etc/elasticsearch/
vim elasticsearch.yml
```
去掉第40行的注释启用Elasticsearch 的内存锁。
去掉第 40 行的注释,启用 Elasticsearch 的内存锁。这将禁用 Elasticsearch 的内存交换。
```
bootstrap.memory_lock: true
```
“Network”块中取消注释network.host和http.port行。
`Network` 块中,取消注释 `network.host``http.port` 行。
```
network.host: localhost
@ -118,13 +106,13 @@ http.port: 9200
保存文件并退出编辑器。
现在编辑elasticsearch.service文件获取内存锁配置。
现在编辑 `elasticsearch.service` 文件的内存锁配置。
```
vim /usr/lib/systemd/system/elasticsearch.service
```
去掉第60行的注释确保该值为“unlimited”
去掉第 60 行的注释,确保该值为 `unlimited`
```
MAX_LOCKED_MEMORY=unlimited
@ -132,7 +120,7 @@ MAX_LOCKED_MEMORY=unlimited
保存并退出。
Elasticsearch 配置到此结束。Elasticsearch 将在本机的9200端口运行我们通过在 CentOS 服务器上启用mlockall来禁用内存交换。重新加载systemd将 Elasticsearch 置为启动,然后启动服务。
Elasticsearch 配置到此结束。Elasticsearch 将在本机的 9200 端口运行,我们通过在 CentOS 服务器上启用 `mlockall` 来禁用内存交换。重新加载 systemd将 Elasticsearch 置为开机启动,然后启动服务。
```
sudo systemctl daemon-reload
@ -140,7 +128,7 @@ sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
```
等待 Eelasticsearch 启动成功,然后检查服务器上打开的端口,确保9200端口的状态是“LISTEN”
等待 Eelasticsearch 启动成功,然后检查服务器上打开的端口,确保 9200 端口的状态是 `LISTEN`
```
netstat -plntu
@ -148,7 +136,7 @@ netstat -plntu
![Check elasticsearch running on port 9200] [10]
然后检查内存锁以确保启用mlockall并使用以下命令检查Elasticsearch是否正在运行。
然后检查内存锁以确保启用 `mlockall`,并使用以下命令检查 Elasticsearch 是否正在运行。
```
curl -XGET 'localhost:9200/_nodes?filter_path=**.mlockall&pretty'
@ -159,11 +147,11 @@ curl -XGET 'localhost:9200/?pretty'
![Check memory lock elasticsearch and check status] [11]
### 步骤4 - 安装和配置 Kibana 和 Nginx
### 步骤 4 - 安装和配置 Kibana 和 Nginx
In this step, we will install and configure Kibana with a Nginx web server. Kibana will listen on the localhost IP address and Nginx acts as a reverse proxy for the Kibana application.
在这一步,我们将在 Nginx Web 服务器上安装并配置 Kibana。 Kibana 监听在 localhost 上,而 Nginx 作为 Kibana 的反向代理。
下载Kibana 5.1与wget然后使用rpm命令安装
`wget` 下载 Kibana 5.1,然后使用 `rpm` 命令安装:
```
wget https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-x86_64.rpm
@ -176,7 +164,7 @@ rpm -ivh kibana-5.1.1-x86_64.rpm
vim /etc/kibana/kibana.yml
```
去掉配置文件中 server.port, server.host 和 elasticsearch.url 这三行的注释。
去掉配置文件中 `server.port`、`server.host` 和 `elasticsearch.url` 这三行的注释。
```
server.port: 5601
@ -186,14 +174,14 @@ elasticsearch.url: "http://localhost:9200"
保存并退出。
将 Kibana 设为开机启动并且启动Kibana 。
将 Kibana 设为开机启动,并且启动 Kibana 。
```
sudo systemctl enable kibana
sudo systemctl start kibana
```
Kibana将作为节点应用程序运行在端口5601上。
Kibana 将作为 node 应用程序运行在端口 5601 上。
```
netstat -plntu
@ -201,9 +189,9 @@ netstat -plntu
![Kibana running as node application on port 5601] [12]
Kibana 安装到此结束。 现在我们需要安装Nginx并将其配置为反向代理以便能够从公共IP地址访问Kibana。
Kibana 安装到此结束。 现在我们需要安装 Nginx 并将其配置为反向代理,以便能够从公共 IP 地址访问 Kibana。
Nginx在Epel资源库中可以找到用yum安装epel-release。
Nginx Epel 资源库中可以找到,用 `yum` 安装 epel-release。
```
yum -y install epel-release
@ -215,22 +203,22 @@ yum -y install epel-release
yum -y install nginx httpd-tools
```
httpd-tools软件包包含Web服务器的工具可以为Kibana添加htpasswd基础认证。
httpd-tools 软件包包含 Web 服务器的工具,可以为 Kibana 添加 htpasswd 基础认证。
编辑Nginx配置文件并删除'server {}'块,这样我们可以添加一个新的虚拟主机配置。
编辑 Nginx 配置文件并删除 `server {}` 块,这样我们可以添加一个新的虚拟主机配置。
```
cd /etc/nginx/
vim nginx.conf
```
删除server { }块。
删除 `server { }` 块。
![Remove Server Block on Nginx configuration] [13]
保存并退出。
现在我们需要在conf.d目录中创建一个新的虚拟主机配置文件。 用vim创建新文件'kibana.conf'
现在我们需要在 `conf.d` 目录中创建一个新的虚拟主机配置文件。 用 `vim` 创建新文件 `kibana.conf`
```
vim /etc/nginx/conf.d/kibana.conf
@ -260,14 +248,14 @@ server {
保存并退出。
然后使用htpasswd命令创建一个新的基本认证文件。
然后使用 `htpasswd` 命令创建一个新的基本认证文件。
```
sudo htpasswd -c /etc/nginx/.kibana-user admin
TYPE YOUR PASSWORD
“输入你的密码”
```
测试Nginx配置确保没有错误。 然后设定Nginx开机启动并启动Nginx。
测试 Nginx 配置,确保没有错误。 然后设定 Nginx 开机启动并启动 Nginx。
```
nginx -t
@ -277,27 +265,27 @@ systemctl start nginx
![Add nginx virtual host configuration for Kibana Application] [14]
### 步骤5 - 安装和配置 Logstash
### 步骤 5 - 安装和配置 Logstash
在此步骤中我们将安装Logstash并将其配置为从配置了filebeat的logstash客户端集中服务器的日志然后过滤和转换Syslog数据并将其移动到存储中心Elasticsearch中。
在此步骤中,我们将安装 Logstash并将其配置为:从配置了 filebeat logstash 客户端集中服务器的日志,然后过滤和转换 Syslog 数据并将其移动到存储中心Elasticsearch中。
下载Logstash并使用rpm进行安装。
下载 Logstash 并使用 rpm 进行安装。
```
wget https://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.rpm
rpm -ivh logstash-5.1.1.rpm
```
生成新的SSL证书文件以便客户端可以识别 elastic 服务端。
生成新的 SSL 证书文件,以便客户端可以识别 elastic 服务端。
进入tls目录并编辑openssl.cnf文件。
进入 `tls` 目录并编辑 `openssl.cnf` 文件。
```
cd /etc/pki/tls
vim openssl.cnf
```
“[v3_ca]”部分添加新行,以获取服务器标识。
`[v3_ca]` 部分添加服务器标识。
```
[ v3_ca ]
@ -308,24 +296,24 @@ subjectAltName = IP: 10.0.15.10
保存并退出。
使用openssl命令生成证书文件。
使用 `openssl` 命令生成证书文件。
```
openssl req -config /etc/pki/tls/openssl.cnf -x509 -days 3650 -batch -nodes -newkey rsa:2048 -keyout /etc/pki/tls/private/logstash-forwarder.key -out /etc/pki/tls/certs/logstash-forwarder.crt
```
证书文件可以在'/etc/pki/tls/certs/'和'/etc/pki/tls/private/' 目录中找到。
证书文件可以在 `/etc/pki/tls/certs/``/etc/pki/tls/private/` 目录中找到。
接下来,我们会为Logstash创建新的配置文件。创建一个新的“filebeat-input.conf”文件来配置filebeat的日志源然后创建一个“syslog-filter.conf”配置文件来处理syslog再创建一个“output-elasticsearch.conf”文件来定义输出日志数据到Elasticsearch。
接下来,我们会为 Logstash 创建新的配置文件。创建一个新的 `filebeat-input.conf` 文件来为 filebeat 配置日志源,然后创建一个 `syslog-filter.conf` 配置文件来处理 syslog再创建一个 `output-elasticsearch.conf` 文件来定义输出日志数据到 Elasticsearch。
转到logstash配置目录并在”conf.d“子目录中创建新的配置文件。
转到 logstash 配置目录,并在 `conf.d` 子目录中创建新的配置文件。
```
cd /etc/logstash/
vim conf.d/filebeat-input.conf
```
输入配置:粘贴以下配置。
输入配置,粘贴以下配置:
```
input {
@ -340,13 +328,13 @@ input {
保存并退出。
创建 syslog-filter.conf 文件。
创建 `syslog-filter.conf` 文件。
```
vim conf.d/syslog-filter.conf
```
粘贴以下配置
粘贴以下配置
```
filter {
@ -363,17 +351,17 @@ filter {
}
```
我们使用名为“grok”的过滤器插件来解析syslog文件。
我们使用名为 `grok` 的过滤器插件来解析 syslog 文件。
保存并退出。
创建输出配置文件 “output-elasticsearch.conf“
创建输出配置文件 `output-elasticsearch.conf`
```
vim conf.d/output-elasticsearch.conf
```
粘贴以下配置
粘贴以下配置
```
output {
@ -388,7 +376,7 @@ output {
保存并退出。
最后将logstash设定为开机启动并且启动服务。
最后,将 logstash 设定为开机启动并且启动服务。
```
sudo systemctl enable logstash
@ -397,23 +385,23 @@ sudo systemctl start logstash
![Logstash started on port 5443 with SSL Connection] [15]
### 步骤6 - 在 CentOS 客户端上安装并配置 Filebeat
### 步骤 6 - 在 CentOS 客户端上安装并配置 Filebeat
Beat作为数据发送人的角色是一种可以安装在客户端节点上的轻量级代理将大量数据从客户机发送到Logstash或Elasticsearch服务器。有4中beat“Filebeat” 用于发送“日志文件”“Metricbeat” 用于发送“指标”“Packetbeat” 用于发送”网络数据“”Winlogbeat“用于发送Windows客户端的“事件日志”。
Beat 作为数据发送人的角色,是一种可以安装在客户端节点上的轻量级代理,将大量数据从客户机发送到 Logstash 或 Elasticsearch 服务器。有 4 种 beat`Filebeat` 用于发送“日志文件”,`Metricbeat` 用于发送“指标”,`Packetbeat` 用于发送“网络数据”,`Winlogbeat` 用于发送 Windows 客户端的“事件日志”。
在本教程中,我将向您展示如何安装和配置“Filebeat”通过SSL连接将数据日志文件传输到Logstash服务器。
在本教程中,我将向您展示如何安装和配置 `Filebeat`,通过 SSL 连接将数据日志文件传输到 Logstash 服务器。
登录到客户端1的服务器上。 然后将证书文件从elastic 服务器复制到客户端1的服务器上。
登录到客户端1的服务器上。 然后将证书文件从 elastic 服务器复制到客户端1的服务器上。
```
ssh root@client1IP
```
使用scp命令拷贝证书文件。
使用 `scp` 命令拷贝证书文件。
```
scp root@elk-serverIP:~/logstash-forwarder.crt .
TYPE elk-server password
输入 elk-server 的密码
```
创建一个新的目录,将证书移动到这个目录中。
@ -423,27 +411,27 @@ sudo mkdir -p /etc/pki/tls/certs/
mv ~/logstash-forwarder.crt /etc/pki/tls/certs/
```
接下来在客户端1服务器上导入 elastic 密钥。
接下来,在客户端 1 服务器上导入 elastic 密钥。
```
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
```
下载 Filebeat 并且用rpm命令安装。
下载 Filebeat 并且用 `rpm` 命令安装。
```
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-x86_64.rpm
rpm -ivh filebeat-5.1.1-x86_64.rpm
```
Filebeat已经安装好了请转到配置目录并编辑“filebeat.yml”文件。
Filebeat 已经安装好了,请转到配置目录并编辑 `filebeat.yml` 文件。
```
cd /etc/filebeat/
vim filebeat.yml
```
在第21行的路径部分添加新的日志文件。 我们将创建两个文件,”/var/log/secure“文件用于ssh活动“/var/log/secure”文件服务器日志
在第 21 行的路径部分,添加新的日志文件。 我们将创建两个文件,记录 ssh 活动的 `/var/log/secure` 文件 ,以及服务器日志 `/var/log/messages`
```
paths:
@ -451,15 +439,15 @@ vim filebeat.yml
- /var/log/messages
```
在第26行添加一个新配置来定义syslog类型的文件。
在第 26 行添加一个新配置来定义 syslog 类型的文件。
```
document-type: syslog
```
Filebeat默认使用Elasticsearch作为输出目标。 在本教程中我们将其更改为Logshtash。 在83行和85行添加注释来禁用 Elasticsearch 输出。
Filebeat 默认使用 Elasticsearch 作为输出目标。 在本教程中,我们将其更改为 Logshtash。 在 83 行和 85 行添加注释来禁用 Elasticsearch 输出。
禁用 Elasticsearch 输出
禁用 Elasticsearch 输出
```
#-------------------------- Elasticsearch output ------------------------------
@ -468,7 +456,7 @@ Filebeat默认使用Elasticsearch作为输出目标。 在本教程中,我们
# hosts: ["localhost:9200"]
```
现在添加新的logstash输出配置。 去掉logstash输出配置的注释并将所有值更改为下面配置中的值。
现在添加新的 logstash 输出配置。 去掉 logstash 输出配置的注释,并将所有值更改为下面配置中的值。
```
output.logstash:
@ -481,7 +469,7 @@ output.logstash:
template.overwrite: false
```
保存文件并退出vim。
保存文件并退出 vim。
将 Filebeat 设定为开机启动并启动。
@ -490,15 +478,15 @@ sudo systemctl enable filebeat
sudo systemctl start filebeat
```
### 步骤7 - 在 Ubuntu 客户端上安装并配置 Filebeat
### 步骤 7 - 在 Ubuntu 客户端上安装并配置 Filebeat
使用ssh连接到服务器。
使用 `ssh` 连接到服务器。
```
ssh root@ubuntu-clientIP
```
使用scp命令拷贝证书文件。
使用 `scp` 命令拷贝证书文件。
```
scp root@elk-serverIP:~/logstash-forwarder.crt .
@ -517,14 +505,14 @@ mv ~/logstash-forwarder.crt /etc/pki/tls/certs/
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
```
下载 Filebeat .deb 包并且使用dpkg命令进行安装。
下载 Filebeat .deb 包并且使用 `dpkg` 命令进行安装。
```
wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-5.1.1-amd64.deb
dpkg -i filebeat-5.1.1-amd64.deb
```
转到配置目录并编辑“filebeat.yml”文件。
转到配置目录并编辑 `filebeat.yml` 文件。
```
cd /etc/filebeat/
@ -539,7 +527,7 @@ vim filebeat.yml
- /var/log/syslog
```
设定document type配置为 syslog
设定文档类型为 `syslog`
```
document-type: syslog
@ -554,7 +542,7 @@ vim filebeat.yml
# hosts: ["localhost:9200"]
```
启用logstash输出去掉以下配置的注释并且按照如下所示更改值。
启用 logstash 输出,去掉以下配置的注释并且按照如下所示更改值。
```
output.logstash:
@ -567,7 +555,7 @@ output.logstash:
template.overwrite: false
```
保存并退出vim。
保存并退出 vim。
将 Filebeat 设定为开机启动并启动。
@ -576,7 +564,7 @@ sudo systemctl enable filebeat
sudo systemctl start filebeat
```
检查服务状态
检查服务状态
```
systemctl status filebeat
@ -584,31 +572,31 @@ systemctl status filebeat
![Filebeat is running on the client Ubuntu] [16]
### 步骤8 - 测试
### 步骤 8 - 测试
打开您的网络浏览器并访问您在Nginx中配置的elastic stack域我的是“elk-stack.co”。 使用管理员密码登录然后按Enter键登录Kibana仪表盘。
打开您的网络浏览器,并访问您在 Nginx 中配置的 elastic stack 我的是“elk-stack.co”。 使用管理员密码登录,然后按 Enter 键登录 Kibana 仪表盘。
![Login to the Kibana Dashboard with Basic Auth] [17]
创建一个新的默认索引”filebeat- *“,然后点击'创建'按钮。
创建一个新的默认索引 `filebeat-*`,然后点击“创建”按钮。
![Create First index filebeat for Kibana] [18]
默认索引已创建。 如果elastic stack上有多个beat您可以在“星形”按钮上点击一下即可配置默认beat。
默认索引已创建。 如果 elastic stack 上有多个 beat您可以在“星形”按钮上点击一下即可配置默认 beat。
![Filebeat index as default index on Kibana Dashboard] [19]
转到 “**Discover**” 菜单您就可以看到elk-client1和elk-client2服务器上的所有日志文件。
转到 “发现” 菜单,您就可以看到 elk-client1 和 elk-client2 服务器上的所有日志文件。
![Discover all Log Files from the Servers] [20]
来自elk-client1服务器日志中的无效ssh登录的JSON输出示例。
来自 elk-client1 服务器日志中的无效 ssh 登录的 JSON 输出示例。
![JSON output for Failed SSH Login] [21]
使用其他的选项你可以使用Kibana仪表盘做更多的事情。
使用其他的选项,你可以使用 Kibana 仪表盘做更多的事情。
Elastic Stack已安装在CentOS 7服务器上。 Filebeat已安装在CentOS 7和Ubuntu客户端上。
Elastic Stack 已安装在 CentOS 7 服务器上。 Filebeat 已安装在 CentOS 7 Ubuntu 客户端上。
--------------------------------------------------------------------------------
@ -616,7 +604,7 @@ via: https://www.howtoforge.com/tutorial/how-to-install-elastic-stack-on-centos-
作者:[Muhammad Arul][a]
译者:[Flowsnow](https://github.com/Flowsnow)
校对:[校对者ID](https://github.com/校对者ID)
校对:[wxy](https://github.com/wxy)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出

View File

@ -1,7 +1,7 @@
在 Linux 上使用 Meld 比较文件夹
============================================================
我们已经从一个新手的角度了解了 Meld (包括 Meld 的安装),我们也提及了一些 Meld 中级用户常用的小技巧。如果你有印象,在新手教程中,我们说过 Meld 可以比较文件和文件夹。已经讨论过怎么比较文件,今天,我们来看看 Meld 怎么比较文件夹。
我们已经从一个新手的角度[了解][15]了 Meld (包括 Meld 的安装),我们也提及了一些 Meld 中级用户常用的小技巧。如果你有印象,在新手教程中,我们说过 Meld 可以比较文件和文件夹。已经讨论过怎么比较文件,今天,我们来看看 Meld 怎么比较文件夹。
**需要指出的是,本教程中的所有命令和例子都是在 Ubuntu 14.04 上测试的,使用的 Meld 版本为 3.14.2。**
@ -31,14 +31,13 @@
下表是 Meld 网站上列出的在比较文件夹时突出显示的不同字体大小/颜色/背景等代表的含义。
|**状态** | **Appearance** | **含义** |
|**状态** | **表现** | **含义** |
| --- | --- | --- |
| 相同 | 正常字体 | 比较的文件夹中所有文件/文件夹相同。|
| 过滤后相同 | 斜体 | 文件夹中文件不同,但使用文本过滤器的话,文件是相同的。|
| 修改过 | 蓝色粗体 | 比较的文件夹中这些文件不同。 |
| 新建 | 绿色粗体 | 该文件/文件夹在这个目录中存在,但其它目录中没有。|
| 缺失 | 置灰文本,中间一条线 | 该文件/文件夹在这个目录中不存在,在在其它某个目录中存在。 |
| 缺失 | 置灰文本,删除线 | 该文件/文件夹在这个目录中不存在,在在其它某个目录中存在。 |
| 错误 | 黄色背景的红色粗体 | 比较文件时发生错误最常见错误原因是文件权限例如Meld 无法打开该文件和文件名编码错误。 |
Meld 默认会列出比较文件夹中的所有内容,即使这些内容没有任何不同。当然,你也可以在工具栏中单击<ruby>相同<rt>Same</rt></ruby>按钮设置 Meld 不显示这些相同的文件/文件夹 —— 单击这个按钮使其不可用。
@ -51,7 +50,7 @@ Meld 默认会列出比较文件夹中的所有内容,即使这些内容没有
![Meld compare buttons](https://www.howtoforge.com/images/beginners-guide-to-visual-merge-tool-meld-on-linux-part-3/meld-same-disabled.png)
][8]
下面是单击 _Same_ 按钮使其不可用的截图:
下面是单击 <ruby>相同<rt>Same</rt></ruby> 按钮使其不可用的截图:
[
![Directory Comparison without same files](https://www.howtoforge.com/images/beginners-guide-to-visual-merge-tool-meld-on-linux-part-3/meld-only-diff.png)
@ -67,15 +66,15 @@ Meld 默认会列出比较文件夹中的所有内容,即使这些内容没有
**提示 1**:如果你仔细观察,就会看到 Meld 窗口的左边和右边有一些小条。这些条的目的是提供“简单的用颜色区分的比较结果”。对每个不同的文件/文件夹,条上就有一个小的颜色块。你可以单击每一个这样的小块跳到它对应的文件/文件夹。
**提示 2**:你总可以分栏比较文件,然后以你的方式合并不同的文件,假如你想要合并所有不同的文件/文件夹(就是说你想要一个特定的文件/文件夹与另一个完全相同),那么你可以用 <ruby>复制到左边<rt>Copy Left</rt></ruby><ruby>复制到右边<rt> Copy Right</rt></ruby> 按钮:
**提示 2**:你总可以分栏比较文件,然后以你的方式合并不同的文件,假如你想要合并所有不同的文件/文件夹(就是说你想要一个特定的文件/文件夹与另一个完全相同),那么你可以用 <ruby>复制到左边<rt>Copy Left</rt></ruby><ruby>复制到右边<rt>Copy Right</rt></ruby> 按钮:
[
![meld copy right part](https://www.howtoforge.com/images/beginners-guide-to-visual-merge-tool-meld-on-linux-part-3/meld-copy-right-left.png)
][11]
比如,你可以在左边的分栏中选择一个文件或文件夹,然后单击 _复制到右边_ 按钮,使右边对应条目完全一样。
比如,你可以在左边的分栏中选择一个文件或文件夹,然后单击 <ruby>复制到右边<rt>Copy Right</rt></ruby> 按钮,使右边对应条目完全一样。
现在,在窗口的下拉菜单中找到 <ruby>过滤<rt>Filters </rt></ruby> 按钮,它就在 _Same_、_New_ 和 _Modified_ 这三个按钮下面。这里你可以选择或取消文件的类型,告知 Meld 在比较文件夹时是否显示这种类型的文件/文件夹。官方文档解释说菜单中的这个条目表示“执行文件夹比较时该类文件名不会被查看。”
现在,在窗口的下拉菜单中找到 <ruby>过滤<rt>Filters </rt></ruby> 按钮,它就在 <ruby>相同<rt>Same</rt></ruby><ruby>新建<rt>New</rt></ruby><ruby>修改的<rt>Modified</rt></ruby> 这三个按钮下面。这里你可以选择或取消文件的类型,告知 Meld 在比较文件夹时是否显示这种类型的文件/文件夹。官方文档解释说菜单中的这个条目表示“执行文件夹比较时该类文件名不会被查看。”
该列表中条目包括备份文件,操作系统元数据,版本控制文件、二进制文件和多媒体文件。
@ -108,7 +107,7 @@ Meld 默认会列出比较文件夹中的所有内容,即使这些内容没有
### 结论
你是否觉得使用 Meld 比较文件夹很容易呢 —— 事实上,我认为它相当容易。只有新建一个过滤器会花点时间,但是这不意味着你没必要学习创建过滤器。显然,这取决于你的需求。
你是否觉得使用 Meld 比较文件夹很容易呢 —— 事实上,我认为它相当容易。只有新建一个文件过滤器会花点时间,但是这不意味着你没必要学习创建过滤器。显然,这取决于你的需求。
另外,你甚至可以用 Meld 比较三个文件夹。想要比较三个文件夹时,你可以通过单击 <ruby>三向比较<rt>3-way comparison</rt></ruby> 复选框。今天,我们不介绍怎么比较三个文件夹,但它肯定会出现在后续的教程中。
@ -138,3 +137,4 @@ via: https://www.howtoforge.com/tutorial/how-to-perform-directory-comparison-usi
[12]:https://www.howtoforge.com/images/beginners-guide-to-visual-merge-tool-meld-on-linux-part-3/big/meld-filters.png
[13]:https://www.howtoforge.com/images/beginners-guide-to-visual-merge-tool-meld-on-linux-part-3/big/meld-edit-filters-menu.png
[14]:https://www.howtoforge.com/images/beginners-guide-to-visual-merge-tool-meld-on-linux-part-3/big/meld-ignore-case.png
[15]:https://linux.cn/article-8402-1.html

View File

@ -1,21 +1,19 @@
在 PC 上尝试树莓派的 PIXEL OS
============================================================
![Try Raspberry Pi's PIXEL OS on your PC](https://opensource.com/sites/default/files/styles/image-full-size/public/images/life/virtualbox_pixel_raspberrypi.jpg?itok=bEdS8qpi "Try Raspberry Pi's PIXEL OS on your PC")
图片版权:
树莓派基金会 CC BY-SA
图片版权:树莓派基金会 CC BY-SA
在过去四年中,树莓派基金会非常努力地针对树莓派的硬件优化了 Debian 的移植版 Raspbian包括创建新的教育软件、编程工具和更美观的桌面。
在 9 月份,我们发布了一个更新,介绍了树莓派新的桌面环境 PIXAMEPi Improved Xwindows Environment轻量级。在圣诞节之前我们发布了一个在 x86 PC 上运行的操作系统版本所以现在可以将它安装在PC、Mac 或笔记本电脑上。
(去年) 9 月份,我们发布了一个更新,介绍了树莓派新的桌面环境 PIXELPi Improved Xwindows Environment轻量级。在圣诞节之前我们[发布](https://linux.cn/article-8064-1.html)了一个在 x86 PC 上运行的操作系统版本,所以现在可以将它安装在 PC、Mac 或笔记本电脑上。
![Installing PIXEL](https://opensource.com/sites/default/files/pixel_0.jpg "Installing PIXEL")
![Installing PIXEL](https://opensource.com/sites/default/files/pixel_0.jpg "Installing PIXEL")
当然,像许多支持良好的 Linux 发行版一样,操作系统在旧的硬件上也能正常运行。 Raspbian 可以让你放弃的旧的 Windows 机器并呼吸新生活的好方法。
当然,像许多支持良好的 Linux 发行版一样,操作系统在旧的硬件上也能正常运行。 Raspbian 是让你几年前就丢弃的旧式 Windows 机器焕发新生的好方法。
[PIXEL ISO][13]可从树莓派网站上下载,在 “[MagPi][14]” 杂志前也放入了可启动的 Live DVD
[PIXEL ISO][13] 可从树莓派网站上下载,在 “[MagPi][14]” 杂志封面上也有赠送可启动的 Live DVD
![Welcome to PIXEL](https://opensource.com/sites/default/files/welcome-to-pixel.jpg "Welcome to PIXEL")
@ -23,7 +21,7 @@
### 由 Debian 提供支持
不构建在 Debian 之上的话Raspbian 或 x86 PIXEL 发行版都不会存在。 Debian 拥有庞大的可以从一个 apt 仓库中获得的免费开源软件、程序、游戏和其他工具。在树莓派中,你仅限运行为[ARM][15]芯片编译的软件包。然而,在 PC 镜像中,你可以在机器上运行的软件包的范围更广,因为 PC 中的 Intel 芯片有更多的支持。
不构建在 Debian 之上的话Raspbian 或 x86 PIXEL 发行版都不会存在。 Debian 拥有庞大的可以从一个 apt 仓库中获得的免费开源软件、程序、游戏和其他工具。在树莓派中,你仅限运行为 [ARM][15] 芯片编译的软件包。然而,在 PC 镜像中,你可以在机器上运行的软件包的范围更广,因为 PC 中的 Intel 芯片有更多的支持。
![Debian Advanced Packaging Tool (APT) repository](https://opensource.com/sites/default/files/apt.png "Debian Advanced Packaging Tool (APT) repository")
@ -37,7 +35,7 @@
* Minecraft树莓派版包括 Python API*
* 各种工具和实用程序
*由于许可限制,本列表中唯一没有包含在 x86 版本中的程序是 Mathematica 和 Minecraft。
*由于许可限制,本列表中唯一没有包含在 x86 版本中的程序是 Mathematica 和 Minecraft。
![PIXEL menu](https://opensource.com/sites/default/files/pixel-menu.png "PIXEL menu")
@ -47,15 +45,15 @@
### 在虚拟机中运行 PIXEL
一种尝试 PIXEL 的方法是在像 VirtualBox 的虚拟机中安装它。
另外一种尝试 PIXEL 的方法是在像 VirtualBox 这样的虚拟机中安装它。
![PIXEL Virtualbox](https://opensource.com/sites/default/files/pixel-virtualbox.png "PIXEL Virtualbox")
这允许你尝试镜像而不用安装它,也可以在主操作系统一旁的窗口中运行它,并访问 PIXEL 中的软件和工具。这也意味着你的会话会一直存在,而不是每次重新启动时从头开始,就像使用 Live 盘一样。
这允许你体验镜像而不用安装它,也可以在主操作系统里面的窗口中运行它,并访问 PIXEL 中的软件和工具。这也意味着你的会话会一直存在,而不是每次重新启动时从头开始,就像使用 Live 盘一样。
### 在 PC 中安装 PIXEL
如果你真的准备开始,你可以擦除旧的操作系统并将 PIXEL 安装在硬盘上。如果你想使用旧的没有使用的笔记本电脑,这可能是个好主意。
如果你真的准备开始,你可以擦除旧的操作系统并将 PIXEL 安装在硬盘上。如果你想使用旧的闲置的笔记本电脑,这可能是个好主意。
### 用于教育的 PIXEL
@ -65,40 +63,11 @@
### 远程 GPIO
树莓派与传统台式 PC 区别的功能之一是 GPIO 引脚(通用输入/输出)引脚的存在,它允许你将现实世界中的电子元件和附加板连接设备上,这开放 新的世界,如业余项目、家庭自动化、连接的设备和物联网。
树莓派与传统台式 PC 区别的功能之一是 GPIO 引脚(通用输入/输出)引脚的存在,它允许你将现实世界中的电子元件和附加板连接设备上,这将开放一个新的世界,如业余项目、家庭自动化、连接的设备和物联网。
[GPIO Zero][16] Python 库的一个很棒的功能是通过在 PC 上写入一些简单的代码,然后在网络上控制树莓派的 GPIO 引脚。
<twitterwidget class="twitter-tweet twitter-tweet-rendered" id="twitter-widget-0" data-tweet-id="811511740907261952" style="position: static; visibility: visible; display: block; transform: rotate(0deg); max-width: 100%; width: 500px; min-width: 220px; margin-top: 10px; margin-bottom: 10px;">
<article class="MediaCard
MediaCard--mediaForward
customisable-border" data-scribe="component:card" dir="ltr">[][11][
![View image on Twitter](https://pbs.twimg.com/media/C0MRi_lWgAAvUOp.jpg:small "View image on Twitter")
][8][
![View image on Twitter](https://pbs.twimg.com/media/C0MRkoCWgAAbxxi.jpg:small "View image on Twitter")
][9][
![View image on Twitter](https://pbs.twimg.com/media/C0MRmmsXEAAPpNU.jpg:small "View image on Twitter")
][10]</article>
> [ Follow][1][
> ![](https://pbs.twimg.com/profile_images/528155792013160448/cobxlRc8_normal.jpeg)
> Ben Nuttall @ben_nuttall][5]
>
> PC running x86 PIXEL controlling Pi's GPIO over the network using gpiozero
>
> [<time class="dt-updated" datetime="2016-12-21T10:00:50+0000" pubdate="" title="Time posted: 21 Dec 2016, 10:00:50 (UTC)">6:00 PM - 21 Dec 2016</time>][6] · [East, England][7]
>
> * [][2]
>
> * [ 3636 Retweets][3]
>
> * [ 109109 likes][4]
</twitterwidget>
远程 GPIO 可以从一台树莓派到另一台树莓派,或者从运行任何系统的 OS 的 PC 连接到树莓派上,但是,使用 PIXEL x86 的话所有需要的软件都是开箱即用的。参见 Josh 的[博文][17],并参考我的 [gist][18] 了解更多信息。
远程 GPIO 可以从一台树莓派连接到另一台树莓派,或者从运行任何系统的 OS 的 PC 连接到树莓派上,但是,使用 PIXEL x86 的话所有需要的软件都是开箱即用的。参见 Josh 的[博文][17],并参考我的 [gist][18] 了解更多信息。
### 更多指南
@ -106,7 +75,7 @@
--------------------------------------------------------------------------------
者简介:
者简介:
Ben Nuttall - Ben Nuttall 是一名树莓派社区管理员。他除了为树莓派基金会工作外他还对自由软件、数学、皮划艇、GitHub、Adventure Time 和 Futurama 等感兴趣。在 Twitter @ben_nuttall 上关注 Ben。
@ -116,7 +85,7 @@ via: https://opensource.com/article/17/1/try-raspberry-pis-pixel-os-your-pc
作者:[Ben Nuttall][a]
译者:[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/) 荣誉推出