diff --git a/translated/tech/20150717 How to Configure Chef (server or client) on Ubuntu 14.04 or 15.04.md b/published/20150717 How to Configure Chef (server or client) on Ubuntu 14.04 or 15.04.md
similarity index 68%
rename from translated/tech/20150717 How to Configure Chef (server or client) on Ubuntu 14.04 or 15.04.md
rename to published/20150717 How to Configure Chef (server or client) on Ubuntu 14.04 or 15.04.md
index 38574e6fa7..2fdaa71872 100644
--- a/translated/tech/20150717 How to Configure Chef (server or client) on Ubuntu 14.04 or 15.04.md
+++ b/published/20150717 How to Configure Chef (server or client) on Ubuntu 14.04 or 15.04.md
@@ -1,6 +1,6 @@
-如何在Ubuntu 14.04/15.04上配置Chef(服务端/客户端)
+如何在 Ubuntu 上安装配置管理系统 Chef (大厨)
================================================================================
-Chef是对于信息技术专业人员的一款配置管理和自动化工具,它可以配置和管理你的设备无论它在本地还是在云上。它可以用于加速应用部署并协调多个系统管理员和开发人员的工作,涉及到成百甚至上千的服务器和程序来支持大量的客户群。chef最有用的是让设备变成代码。一旦你掌握了Chef,你可以获得一流的网络IT支持来自动化管理你的云端设备或者终端用户。
+Chef是面对IT专业人员的一款配置管理和自动化工具,它可以配置和管理你的基础设施,无论它在本地还是在云上。它可以用于加速应用部署并协调多个系统管理员和开发人员的工作,这涉及到可支持大量的客户群的成百上千的服务器和程序。chef最有用的是让基础设施变成代码。一旦你掌握了Chef,你可以获得一流的网络IT支持来自动化管理你的云端基础设施或者终端用户。
下面是我们将要在本篇中要设置和配置Chef的主要组件。
@@ -10,34 +10,13 @@ Chef是对于信息技术专业人员的一款配置管理和自动化工具,
我们将在下面的基础环境下设置Chef配置管理系统。
-注:表格
-
-
-
-
管理和配置工具:Chef
-
-
-
基础操作系统
-
Ubuntu 14.04.1 LTS (x86_64)
-
-
-
Chef Server
-
Version 12.1.0
-
-
-
Chef Manage
-
Version 1.17.0
-
-
-
Chef Development Kit
-
Version 0.6.2
-
-
-
内存和CPU
-
4 GB , 2.0+2.0 GHZ
-
-
-
+|管理和配置工具:Chef||
+|-------------------------------|---|
+|基础操作系统|Ubuntu 14.04.1 LTS (x86_64)|
+|Chef Server|Version 12.1.0|
+|Chef Manage|Version 1.17.0|
+|Chef Development Kit|Version 0.6.2|
+|内存和CPU|4 GB , 2.0+2.0 GHz|
### Chef服务端的安装和配置 ###
@@ -45,15 +24,15 @@ Chef服务端是核心组件,它存储配置以及其他和工作站交互的
我使用下面的命令来下载和安装它。
-**1) 下载Chef服务端**
+####1) 下载Chef服务端
root@ubuntu-14-chef:/tmp# wget https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/trusty/chef-server-core_12.1.0-1_amd64.deb
-**2) 安装Chef服务端**
+####2) 安装Chef服务端
root@ubuntu-14-chef:/tmp# dpkg -i chef-server-core_12.1.0-1_amd64.deb
-**3) 重新配置Chef服务端**
+####3) 重新配置Chef服务端
现在运行下面的命令来启动所有的chef服务端服务,这步也许会花费一些时间,因为它有许多不同一起工作的服务组成来创建一个正常运作的系统。
@@ -64,35 +43,35 @@ chef服务端启动命令'chef-server-ctl reconfigure'需要运行两次,这
Chef Client finished, 342/350 resources updated in 113.71139964 seconds
opscode Reconfigured!
-**4) 重启系统 **
+####4) 重启系统
安装完成后重启系统使系统能最好的工作,不然我们或许会在创建用户的时候看到下面的SSL连接错误。
ERROR: Errno::ECONNRESET: Connection reset by peer - SSL_connect
-**5) 创建心的管理员**
+####5) 创建新的管理员
-运行下面的命令来创建一个新的用它自己的配置的管理员账户。创建过程中,用户的RSA私钥会自动生成并需要被保存到一个安全的地方。--file选项会保存RSA私钥到指定的路径下。
+运行下面的命令来创建一个新的管理员账户及其配置。创建过程中,用户的RSA私钥会自动生成,它需要保存到一个安全的地方。--file选项会保存RSA私钥到指定的路径下。
root@ubuntu-14-chef:/tmp# chef-server-ctl user-create kashi kashi kashi kashif.fareedi@gmail.com kashi123 --filename /root/kashi.pem
### Chef服务端的管理设置 ###
-Chef Manage是一个针对企业Chef用户的管理控制台,它启用了可视化的web用户界面并可以管理节点、数据包、规则、环境、配置和基于角色的访问控制(RBAC)
+Chef Manage是一个针对企业Chef用户的管理控制台,它提供了可视化的web用户界面,可以管理节点、数据包、规则、环境、Cookbook 和基于角色的访问控制(RBAC)
-**1) 下载Chef Manage**
+####1) 下载Chef Manage
-从官网复制链接病下载chef manage的安装包。
+从官网复制链接并下载chef manage的安装包。
root@ubuntu-14-chef:~# wget https://web-dl.packagecloud.io/chef/stable/packages/ubuntu/trusty/opscode-manage_1.17.0-1_amd64.deb
-**2) 安装Chef Manage**
+####2) 安装Chef Manage
使用下面的命令在root的家目录下安装它。
root@ubuntu-14-chef:~# chef-server-ctl install opscode-manage --path /root
-**3) 重启Chef Manage和服务端**
+####3) 重启Chef Manage和服务端
安装完成后我们需要运行下面的命令来重启chef manage和服务端。
@@ -101,28 +80,27 @@ Chef Manage是一个针对企业Chef用户的管理控制台,它启用了可
### Chef Manage网页控制台 ###
-我们可以使用localhost访问网页控制台以及fqdn,并用已经创建的管理员登录
+我们可以使用localhost或它的全称域名来访问网页控制台,并用已经创建的管理员登录

-**1) Chef Manage创建新的组织 **
+####1) Chef Manage创建新的组织
-你或许被要求创建新的组织或者接受其他阻止的邀请。如下所示,使用缩写和全名来创建一个新的组织。
+你或许被要求创建新的组织,或者也可以接受其他组织的邀请。如下所示,使用缩写和全名来创建一个新的组织。

-**2) 用命令行创建心的组织 **
+####2) 用命令行创建新的组织
-We can also create new Organization from the command line by executing the following command.
我们同样也可以运行下面的命令来创建新的组织。
root@ubuntu-14-chef:~# chef-server-ctl org-create linux Linoxide Linux Org. --association_user kashi --filename linux.pem
### 设置工作站 ###
-我们已经完成安装chef服务端,现在我们可以开始创建任何recipes、cookbooks、属性和其他任何的我们想要对Chef的修改。
+我们已经完成安装chef服务端,现在我们可以开始创建任何recipes([基础配置元素](https://docs.chef.io/recipes.html))、cookbooks([基础配置集](https://docs.chef.io/cookbooks.html))、attributes([节点属性](https://docs.chef.io/attributes.html))和其他任何的我们想要对Chef做的修改。
-**1) 在Chef服务端上创建新的用户和组织 **
+####1) 在Chef服务端上创建新的用户和组织
为了设置工作站,我们用命令行创建一个新的用户和组织。
@@ -130,25 +108,23 @@ We can also create new Organization from the command line by executing the follo
root@ubuntu-14-chef:~# chef-server-ctl org-create blogs Linoxide Blogs Inc. --association_user bloger --filename blogs.pem
-**2) 下载工作站入门套件 **
+####2) 下载工作站入门套件
-Now Download and Save starter-kit from the chef manage web console on a workstation and use it to work with Chef server.
-在工作站的网页控制台中下面并保存入门套件用于与服务端协同工作
+在工作站的网页控制台中下载保存入门套件,它用于与服务端协同工作

-**3) 点击"Proceed"下载套件 **
+####3) 下载套件后,点击"Proceed"

-### 对于工作站的Chef开发套件设置 ###
+### 用于工作站的Chef开发套件设置 ###
-Chef开发套件是一款包含所有开发chef所需工具的软件包。它捆绑了由Chef开发的带Chef客户端的工具。
+Chef开发套件是一款包含开发chef所需的所有工具的软件包。它捆绑了由Chef开发的带Chef客户端的工具。
-**1) 下载 Chef DK**
+####1) 下载 Chef DK
-We can Download chef development kit from its official web link and choose the required operating system to get its chef development tool kit.
-我们可以从它的官网链接中下载开发包,并选择操作系统来得到chef开发包。
+我们可以从它的官网链接中下载开发包,并选择操作系统来下载chef开发包。

@@ -156,13 +132,13 @@ We can Download chef development kit from its official web link and choose the r
root@ubuntu-15-WKS:~# wget https://opscode-omnibus-packages.s3.amazonaws.com/ubuntu/12.04/x86_64/chefdk_0.6.2-1_amd64.deb
-**1) Chef开发套件安装**
+####2) Chef开发套件安装
使用dpkg命令安装开发套件
root@ubuntu-15-WKS:~# dpkg -i chefdk_0.6.2-1_amd64.deb
-**3) Chef DK 验证**
+####3) Chef DK 验证
使用下面的命令验证客户端是否已经正确安装。
@@ -195,7 +171,7 @@ We can Download chef development kit from its official web link and choose the r
Verification of component 'chefspec' succeeded.
Verification of component 'package installation' succeeded.
-**连接Chef服务端**
+####4) 连接Chef服务端
我们将创建 ~/.chef并从chef服务端复制两个用户和组织的pem文件到chef的文件到这个目录下。
@@ -209,7 +185,7 @@ We can Download chef development kit from its official web link and choose the r
kashi.pem 100% 1678 1.6KB/s 00:00
linux.pem 100% 1678 1.6KB/s 00:00
-** 编辑配置来管理chef环境 **
+####5) 编辑配置来管理chef环境
现在使用下面的内容创建"~/.chef/knife.rb"。
@@ -231,13 +207,13 @@ We can Download chef development kit from its official web link and choose the r
root@ubuntu-15-WKS:/# mkdir cookbooks
-**测试Knife配置**
+####6) 测试Knife配置
运行“knife user list”和“knife client list”来验证knife是否在工作。
root@ubuntu-15-WKS:/.chef# knife user list
-第一次运行的时候可能会得到下面的错误,这是因为工作站上还没有chef服务端的SSL证书。
+第一次运行的时候可能会看到下面的错误,这是因为工作站上还没有chef服务端的SSL证书。
ERROR: SSL Validation failure connecting to host: 172.25.10.173 - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
ERROR: Could not establish a secure connection to the server.
@@ -245,24 +221,24 @@ We can Download chef development kit from its official web link and choose the r
If your Chef Server uses a self-signed certificate, you can use
`knife ssl fetch` to make knife trust the server's certificates.
-要从上面的命令中恢复,运行下面的命令来获取ssl整数并重新运行knife user和client list,这时候应该就可以了。
+要从上面的命令中恢复,运行下面的命令来获取ssl证书,并重新运行knife user和client list,这时候应该就可以了。
root@ubuntu-15-WKS:/.chef# knife ssl fetch
WARNING: Certificates from 172.25.10.173 will be fetched and placed in your trusted_cert
directory (/.chef/trusted_certs).
- knife没有办法验证这些是有效的证书。你应该在下载时候验证这些证书的真实性。
+knife没有办法验证这些是有效的证书。你应该在下载时候验证这些证书的真实性。
- 在/.chef/trusted_certs/ubuntu-14-chef_test_com.crt下面添加ubuntu-14-chef.test.com的证书。
+在/.chef/trusted_certs/ubuntu-14-chef_test_com.crt下面添加ubuntu-14-chef.test.com的证书。
在上面的命令取得ssl证书后,接着运行下面的命令。
root@ubuntu-15-WKS:/.chef#knife client list
kashi-linux
-### 与chef服务端交互的新的节点 ###
+### 配置与chef服务端交互的新节点 ###
-节点是执行所有设备自动化的chef客户端。因此是时侯添加新的服务端到我们的chef环境下,在配置完chef-server和knife工作站后配置新的节点与chef-server交互。
+节点是执行所有基础设施自动化的chef客户端。因此,在配置完chef-server和knife工作站后,通过配置新的与chef-server交互的节点,来添加新的服务端到我们的chef环境下。
我们使用下面的命令来添加新的节点与chef服务端工作。
@@ -291,16 +267,16 @@ We can Download chef development kit from its official web link and choose the r
172.25.10.170 to file /tmp/install.sh.26024/metadata.txt
172.25.10.170 trying wget...
-之后我们可以在knife节点列表下看到新创建的节点,也会新节点列表下创建新的客户端。
+之后我们可以在knife节点列表下看到新创建的节点,它也会在新节点创建新的客户端。
root@ubuntu-15-WKS:~# knife node list
mydns
-相似地我们只要提供ssh证书通过上面的knife命令来创建多个节点到chef设备上。
+相似地我们只要提供ssh证书通过上面的knife命令,就可以在chef设施上创建多个节点。
### 总结 ###
-本篇我们学习了chef管理工具并通过安装和配置设置浏览了它的组件。我希望你在学习安装和配置Chef服务端以及它的工作站和客户端节点中获得乐趣。
+本篇我们学习了chef管理工具并通过安装和配置设置基本了解了它的组件。我希望你在学习安装和配置Chef服务端以及它的工作站和客户端节点中获得乐趣。
--------------------------------------------------------------------------------
@@ -308,7 +284,7 @@ via: http://linoxide.com/ubuntu-how-to/install-configure-chef-ubuntu-14-04-15-04
作者:[Kashif Siddique][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/) 荣誉推出
diff --git a/published/20150717 How to collect NGINX metrics - Part 2.md b/published/20150717 How to collect NGINX metrics - Part 2.md
new file mode 100644
index 0000000000..f1acf82a35
--- /dev/null
+++ b/published/20150717 How to collect NGINX metrics - Part 2.md
@@ -0,0 +1,178 @@
+
+如何收集 NGINX 指标(第二篇)
+================================================================================
+
+
+### 如何获取你所需要的 NGINX 指标 ###
+
+如何获取需要的指标取决于你正在使用的 NGINX 版本以及你希望看到哪些指标。(参见 [如何监控 NGINX(第一篇)][1] 来深入了解NGINX指标。)自由开源的 NGINX 和商业版的 NGINX Plus 都有可以报告指标度量的状态模块,NGINX 也可以在其日志中配置输出特定指标:
+
+**指标可用性**
+
+| 指标 | [NGINX (开源)](https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/#open-source) | [NGINX Plus](https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/#plus) | [NGINX 日志](https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/#logs)|
+|-----|------|-------|-----|
+|accepts(接受) / accepted(已接受)|x|x| |
+|handled(已处理)|x|x| |
+|dropped(已丢弃)|x|x| |
+|active(活跃)|x|x| |
+|requests (请求数)/ total(全部请求数)|x|x| |
+|4xx 代码||x|x|
+|5xx 代码||x|x|
+|request time(请求处理时间)|||x|
+
+#### 指标收集:NGINX(开源版) ####
+
+开源版的 NGINX 会在一个简单的状态页面上显示几个与服务器状态有关的基本指标,它们由你启用的 HTTP [stub status module][2] 所提供。要检查该模块是否已启用,运行以下命令:
+
+ nginx -V 2>&1 | grep -o with-http_stub_status_module
+
+如果你看到终端输出了 **http_stub_status_module**,说明该状态模块已启用。
+
+如果该命令没有输出,你需要启用该状态模块。你可以在[从源代码构建 NGINX ][3]时使用 `--with-http_stub_status_module` 配置参数:
+
+ ./configure \
+ … \
+ --with-http_stub_status_module
+ make
+ sudo make install
+
+在验证该模块已经启用或你自己启用它后,你还需要修改 NGINX 配置文件,来给状态页面设置一个本地可访问的 URL(例如: /nginx_status):
+
+ server {
+ location /nginx_status {
+ stub_status on;
+
+ access_log off;
+ allow 127.0.0.1;
+ deny all;
+ }
+ }
+
+注:nginx 配置中的 server 块通常并不放在主配置文件中(例如:/etc/nginx/nginx.conf),而是放在主配置会加载的辅助配置文件中。要找到主配置文件,首先运行以下命令:
+
+ nginx -t
+
+打开列出的主配置文件,在以 http 块结尾的附近查找以 include 开头的行,如:
+
+ include /etc/nginx/conf.d/*.conf;
+
+在其中一个包含的配置文件中,你应该会找到主 **server** 块,你可以如上所示配置 NGINX 的指标输出。更改任何配置后,通过执行以下命令重新加载配置文件:
+
+ nginx -s reload
+
+现在,你可以浏览状态页看到你的指标:
+
+ Active connections: 24
+ server accepts handled requests
+ 1156958 1156958 4491319
+ Reading: 0 Writing: 18 Waiting : 6
+
+请注意,如果你希望从远程计算机访问该状态页面,则需要将远程计算机的 IP 地址添加到你的状态配置文件的白名单中,在上面的配置文件中的白名单仅有 127.0.0.1。
+
+NGINX 的状态页面是一种快速查看指标状况的简单方法,但当连续监测时,你需要按照标准间隔自动记录该数据。监控工具箱 [Nagios][4] 或者 [Datadog][5],以及收集统计信息的服务 [collectD][6] 已经可以解析 NGINX 的状态信息了。
+
+#### 指标收集: NGINX Plus ####
+
+商业版的 NGINX Plus 通过它的 ngx_http_status_module 提供了比开源版 NGINX [更多的指标][7]。NGINX Plus 以字节流的方式提供这些额外的指标,提供了关于上游系统和高速缓存的信息。NGINX Plus 也会报告所有的 HTTP 状态码类型(1XX,2XX,3XX,4XX,5XX)的计数。一个 NGINX Plus 状态报告例子[可在此查看][8]:
+
+
+
+注:NGINX Plus 在状态仪表盘中的“Active”连接的定义和开源 NGINX 通过 stub_status_module 收集的“Active”连接指标略有不同。在 NGINX Plus 指标中,“Active”连接不包括Waiting状态的连接(即“Idle”连接)。
+
+NGINX Plus 也可以输出 [JSON 格式的指标][9],可以用于集成到其他监控系统。在 NGINX Plus 中,你可以看到 [给定的上游服务器组][10]的指标和健康状况,或者简单地从上游服务器的[单个服务器][11]得到响应代码的计数:
+
+ {"1xx":0,"2xx":3483032,"3xx":0,"4xx":23,"5xx":0,"total":3483055}
+
+要启动 NGINX Plus 指标仪表盘,你可以在 NGINX 配置文件的 http 块内添加状态 server 块。 (参见上一节,为收集开源版 NGINX 指标而如何查找相关的配置文件的说明。)例如,要设置一个状态仪表盘 (http://your.ip.address:8080/status.html)和一个 JSON 接口(http://your.ip.address:8080/status),可以添加以下 server 块来设定:
+
+ server {
+ listen 8080;
+ root /usr/share/nginx/html;
+
+ location /status {
+ status;
+ }
+
+ location = /status.html {
+ }
+ }
+
+当你重新加载 NGINX 配置后,状态页就可以用了:
+
+ nginx -s reload
+
+关于如何配置扩展状态模块,官方 NGINX Plus 文档有 [详细介绍][13] 。
+
+#### 指标收集:NGINX 日志 ####
+
+NGINX 的 [日志模块][14] 会把可自定义的访问日志写到你配置的指定位置。你可以通过[添加或移除变量][15]来自定义日志的格式和包含的数据。要存储详细的日志,最简单的方法是添加下面一行在你配置文件的 server 块中(参见上上节,为收集开源版 NGINX 指标而如何查找相关的配置文件的说明。):
+
+ access_log logs/host.access.log combined;
+
+更改 NGINX 配置文件后,执行如下命令重新加载配置文件:
+
+ nginx -s reload
+
+默认包含的 “combined” 的日志格式,会包括[一系列关键的数据][17],如实际的 HTTP 请求和相应的响应代码。在下面的示例日志中,NGINX 记录了请求 /index.html 时的 200(成功)状态码和访问不存在的请求文件 /fail 的 404(未找到)错误。
+
+ 127.0.0.1 - - [19/Feb/2015:12:10:46 -0500] "GET /index.html HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari 537.36"
+
+ 127.0.0.1 - - [19/Feb/2015:12:11:05 -0500] "GET /fail HTTP/1.1" 404 570 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36"
+
+你可以通过在 NGINX 配置文件中的 http 块添加一个新的日志格式来记录请求处理时间:
+
+ log_format nginx '$remote_addr - $remote_user [$time_local] '
+ '"$request" $status $body_bytes_sent $request_time '
+ '"$http_referer" "$http_user_agent"';
+
+并修改配置文件中 **server** 块的 access_log 行:
+
+ access_log logs/host.access.log nginx;
+
+重新加载配置文件后(运行 `nginx -s reload`),你的访问日志将包括响应时间,如下所示。单位为秒,精度到毫秒。在这个例子中,服务器接收到一个对 /big.pdf 的请求时,发送 33973115 字节后返回 206(成功)状态码。处理请求用时 0.202 秒(202毫秒):
+
+ 127.0.0.1 - - [19/Feb/2015:15:50:36 -0500] "GET /big.pdf HTTP/1.1" 206 33973115 0.202 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.111 Safari/537.36"
+
+你可以使用各种工具和服务来解析和分析 NGINX 日志。例如,[rsyslog][18] 可以监视你的日志,并将其传递给多个日志分析服务;你也可以使用自由开源工具,比如 [logstash][19] 来收集和分析日志;或者你可以使用一个统一日志记录层,如 [Fluentd][20] 来收集和解析你的 NGINX 日志。
+
+### 结论 ###
+
+监视 NGINX 的哪一项指标将取决于你可用的工具,以及监控指标所提供的信息是否满足你们的需要。举例来说,错误率的收集是否足够重要到需要你们购买 NGINX Plus ,还是架设一个可以捕获和分析日志的系统就够了?
+
+在 Datadog 中,我们已经集成了 NGINX 和 NGINX Plus,这样你就可以以最小的设置来收集和监控所有 Web 服务器的指标。[在本文中][21]了解如何用 NGINX Datadog 来监控 ,并开始 [Datadog 的免费试用][22]吧。
+
+
+--------------------------------------------------------------------------------
+
+via: https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/
+
+作者:K Young
+译者:[strugglingyouth](https://github.com/strugglingyouth)
+校对:[wxy](https://github.com/wxy)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[1]:https://www.datadoghq.com/blog/how-to-monitor-nginx/
+[2]:http://nginx.org/en/docs/http/ngx_http_stub_status_module.html
+[3]:http://wiki.nginx.org/InstallOptions
+[4]:https://exchange.nagios.org/directory/Plugins/Web-Servers/nginx
+[5]:http://docs.datadoghq.com/integrations/nginx/
+[6]:https://collectd.org/wiki/index.php/Plugin:nginx
+[7]:http://nginx.org/en/docs/http/ngx_http_status_module.html#data
+[8]:http://demo.nginx.com/status.html
+[9]:http://demo.nginx.com/status
+[10]:http://demo.nginx.com/status/upstreams/demoupstreams
+[11]:http://demo.nginx.com/status/upstreams/demoupstreams/0/responses
+[12]:https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/#open-source
+[13]:http://nginx.org/en/docs/http/ngx_http_status_module.html#example
+[14]:http://nginx.org/en/docs/http/ngx_http_log_module.html
+[15]:http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format
+[16]:https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/#open-source
+[17]:http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format
+[18]:http://www.rsyslog.com/
+[19]:https://www.elastic.co/products/logstash
+[20]:http://www.fluentd.org/
+[21]:https://www.datadoghq.com/blog/how-to-monitor-nginx-with-datadog/
+[22]:https://www.datadoghq.com/blog/how-to-collect-nginx-metrics/#sign-up
+[23]:https://github.com/DataDog/the-monitor/blob/master/nginx/how_to_collect_nginx_metrics.md
+[24]:https://github.com/DataDog/the-monitor/issues
diff --git a/sources/talk/20150810 For Linux, Supercomputers R Us.md b/sources/talk/20150810 For Linux, Supercomputers R Us.md
new file mode 100644
index 0000000000..8f7302cca1
--- /dev/null
+++ b/sources/talk/20150810 For Linux, Supercomputers R Us.md
@@ -0,0 +1,60 @@
+Translating by xiaoyu33
+For Linux, Supercomputers R Us
+================================================================================
+
+Credit: Michel Ngilen, CC BY 2.0, via Wikimedia Commons
+
+> Almost all supercomputers run Linux, including the ones built from Raspberry Pi boards and PlayStation 3 game consoles
+
+Supercomputers are serious things, called on to do serious computing. They tend to be engaged in serious pursuits like atomic bomb simulations, climate modeling and high-level physics. Naturally, they cost serious money. At the very top of the latest [Top500][1] supercomputer ranking is the Tianhe-2 supercomputer at China’s National University of Defense Technology. It cost about $390 million to build.
+
+But then there’s the supercomputer that Joshua Kiepert, a doctoral student at Boise State’s Electrical and Computer Engineering department, [created with Raspberry Pi computers][2].It cost less than $2,000.
+
+No, I’m not making that up. It’s an honest-to-goodness supercomputer made from overclocked 1-GHz [Model B Raspberry Pi][3] ARM11 processors with Videocore IV GPUs. Each one comes with 512MB of RAM, a pair of USB ports and a 10/100 BaseT Ethernet port.
+
+And what do the Tianhe-2 and the Boise State supercomputer have in common? They both run Linux. As do [486 out of the world’s fastest 500 supercomputers][4]. It’s part of a domination of the category that began over 20 years ago. And now it’s trickling down to built-on-the-cheap supercomputers. Because Kiepert’s machine isn’t the only budget number cruncher out there.
+
+Gaurav Khanna, an associate professor of physics at the University of Massachusetts Dartmouth, created a [supercomputer with something shy of 200 PlayStation 3 video game consoles][5].
+
+The PlayStations are powered by a 3.2-GHz PowerPC-based Power Processing Element. Each comes with 512MB of RAM. You can still buy one, although Sony will be phasing them out by year’s end, for just over $200. Khanna started with only 16 PlayStation 3s for his first supercomputer, so you too could put a supercomputer on your credit card for less than four grand.
+
+These machines may be built from toys, but they’re not playthings. Khanna has done serious astrophysics on his rig. A white-hat hacking group used a similar [PlayStation 3 supercomputer in 2008 to crack the SSL MD5 hashing algorithm][6] in 2008.
+
+Two years later, the Air Force Research Laboratory [Condor Cluster was using 1,760 Sony PlayStation 3 processors][7] and 168 general-purpose graphical processing units. This bargain-basement supercomputer runs at about 500TFLOPs, or 500 trillion floating point operations per second.
+
+Other cheap options for home supercomputers include specialist parallel-processing boards such as the [$99 credit-card-sized Parallella board][8], and high-end graphics boards such as [Nvidia’s Titan Z][9] and [AMD’s FirePro W9100][10]. Those high-end boards, coveted by gamers with visions of a dream machine or even a chance at winning the first-place prize of over $100,000 in the [Intel Extreme Masters World Championship League of][11] [Legends][12], cost considerably more, retailing for about $3,000. On the other hand, a single one can deliver over 2.5TFLOPS all by itself, and for scientists and researchers, they offer an affordable way to get a supercomputer they can call their own.
+
+As for the Linux connection, that all started in 1994 at the Goddard Space Flight Center with the first [Beowulf supercomputer][13].
+
+By our standards, there wasn’t much that was super about the first Beowulf. But in its day, the first homemade supercomputer, with its 16 Intel 486DX processors and 10Mbps Ethernet for the bus, was great. [Beowulf, designed by NASA contractors Don Becker and Thomas Sterling][14], was the first “maker” supercomputer. Its “compute components,” 486DX PCs, cost only a few thousand dollars. While its speed was only in single-digit gigaflops, [Beowulf][15] showed you could build supercomputers from commercial off-the-shelf (COTS) hardware and Linux.
+
+I wish I’d had a part in its creation, but I’d already left Goddard by 1994 for a career as a full-time technology journalist. Darn it!
+
+But even from this side of my reporter’s notebook, I can still appreciate how COTS and open-source software changed supercomputing forever. I hope you can too. Because, whether it’s a cluster of Raspberry Pis or a monster with over 3 million Intel Ivy Bridge and Xeon Phi chips, almost all of today’s supercomputers trace their ancestry to Beowulf.
+
+--------------------------------------------------------------------------------
+
+via:
+
+作者:[Steven J. Vaughan-Nichols][a]
+译者:[译者ID](https://github.com/译者ID)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://www.computerworld.com/author/Steven-J.-Vaughan_Nichols/
+[1]:http://www.top500.org/
+[2]:http://www.zdnet.com/article/build-your-own-supercomputer-out-of-raspberry-pi-boards/
+[3]:https://www.raspberrypi.org/products/model-b/
+[4]:http://www.zdnet.com/article/linux-still-rules-supercomputing/
+[5]:http://www.nytimes.com/2014/12/23/science/an-economical-way-to-save-progress.html?smid=fb-nytimes&smtyp=cur&bicmp=AD&bicmlukp=WT.mc_id&bicmst=1409232722000&bicmet=1419773522000&_r=4
+[6]:http://www.computerworld.com/article/2529932/cybercrime-hacking/researchers-hack-verisign-s-ssl-scheme-for-securing-web-sites.html
+[7]:http://phys.org/news/2010-12-air-playstation-3s-supercomputer.html
+[8]:http://www.zdnet.com/article/parallella-the-99-linux-supercomputer/
+[9]:http://blogs.nvidia.com/blog/2014/03/25/titan-z/
+[10]:http://www.amd.com/en-us/press-releases/Pages/amd-flagship-professional-2014apr7.aspx
+[11]:http://en.intelextrememasters.com/news/check-out-the-intel-extreme-masters-katowice-prize-money-distribution/
+[12]:http://www.google.com/url?q=http%3A%2F%2Fen.intelextrememasters.com%2Fnews%2Fcheck-out-the-intel-extreme-masters-katowice-prize-money-distribution%2F&sa=D&sntz=1&usg=AFQjCNE6yoAGGz-Hpi2tPF4gdhuPBEckhQ
+[13]:http://www.beowulf.org/overview/history.html
+[14]:http://yclept.ucdavis.edu/Beowulf/aboutbeowulf.html
+[15]:http://www.beowulf.org/
diff --git a/sources/tech/20150209 Install OpenQRM Cloud Computing Platform In Debian.md b/sources/tech/20150209 Install OpenQRM Cloud Computing Platform In Debian.md
deleted file mode 100644
index 127f10affc..0000000000
--- a/sources/tech/20150209 Install OpenQRM Cloud Computing Platform In Debian.md
+++ /dev/null
@@ -1,149 +0,0 @@
-Install OpenQRM Cloud Computing Platform In Debian
-================================================================================
-### Introduction ###
-
-**openQRM** is a web-based open source Cloud computing and datacenter management platform that integrates flexibly with existing components in enterprise data centers.
-
-It supports the following virtualization technologies:
-
-- KVM,
-- XEN,
-- Citrix XenServer,
-- VMWare ESX,
-- LXC,
-- OpenVZ.
-
-The Hybrid Cloud Connector in openQRM supports a range of private or public cloud providers to extend your infrastructure on demand via **Amazon AWS**, **Eucalyptus** or **OpenStack**. It, also, automates provisioning, virtualization, storage and configuration management, and it takes care of high-availability. A self-service cloud portal with integrated billing system enables end-users to request new servers and application stacks on-demand.
-
-openQRM is available in two different flavours such as:
-
-- Enterprise Edition
-- Community Edition
-
-You can view the difference between both editions [here][1].
-
-### Features ###
-
-- Private/Hybrid Cloud Computing Platform;
-- Manages physical and virtualized server systems;
-- Integrates with all major open and commercial storage technologies;
-- Cross-platform: Linux, Windows, OpenSolaris, and *BSD;
-- Supports KVM, XEN, Citrix XenServer, VMWare ESX(i), lxc, OpenVZ and VirtualBox;
-- Support for Hybrid Cloud setups using additional Amazon AWS, Eucalyptus, Ubuntu UEC cloud resources;
-- Supports P2V, P2P, V2P, V2V Migrations and High-Availability;
-- Integrates with the best Open Source management tools – like puppet, nagios/Icinga or collectd;
-- Over 50 plugins for extended features and integration with your infrastructure;
-- Self-Service Portal for end-users;
-- Integrated billing system.
-
-### Installation ###
-
-Here, we will install openQRM in Ubuntu 14.04 LTS. Your server must atleast meet the following requirements.
-
-- 1 GB RAM;
-- 100 GB Hdd;
-- Optional: Virtualization enabled (VT for Intel CPUs or AMD-V for AMD CPUs) in Bios.
-
-First, install make package to compile openQRM source package.
-
- sudo apt-get update
- sudo apt-get upgrade
- sudo apt-get install make
-
-Then, run the following commands one by one to install openQRM.
-
-Download the latest available version [from here][2].
-
- wget http://sourceforge.net/projects/openqrm/files/openQRM-Community-5.1/openqrm-community-5.1.tgz
-
- tar -xvzf openqrm-community-5.1.tgz
-
- cd openqrm-community-5.1/src/
-
- sudo make
-
- sudo make install
-
- sudo make start
-
-During installation, you’ll be asked to update the php.ini file.
-
-
-
-Enter mysql root user password.
-
-
-
-Re-enter password:
-
-
-
-Select the mail server configuration type.
-
-
-
-If you’re not sure, select Local only. In our case, I go with **Local only** option.
-
-
-
-Enter your system mail name, and finally enter the Nagios administration password.
-
-
-
-The above commands will take long time depending upon your Internet connection to download all packages required to run openQRM. Be patient.
-
-Finally, you’ll get the openQRM configuration URL along with username and password.
-
-
-
-### Configuration ###
-
-After installing openQRM, open up your web browser and navigate to the URL: **http://ip-address/openqrm**.
-
-For example, in my case http://192.168.1.100/openqrm.
-
-The default username and password is: **openqrm/openqrm**.
-
-
-
-Select a network card to use for the openQRM management network.
-
-
-
-Select a database type. In our case, I selected mysql.
-
-
-
-Now, configure the database connection and initialize openQRM. Here, I use **openQRM** as database name, and user as **root** and debian as password for the database. Be mindful that you should enter the mysql root user password that you have created while installing openQRM.
-
-
-
-Congratulations!! openQRM has been installed and configured.
-
-
-
-### Update openQRM ###
-
-To update openQRM at any time run the following command:
-
- cd openqrm/src/
- make update
-
-What we have done so far is just installed and configured openQRM in our Ubuntu server. For creating, running Virtual Machines, managing Storage, integrating additional systems and running your own private Cloud, I suggest you to read the [openQRM Administrator Guide][3].
-
-That’s all now. Cheers! Happy weekend!!
-
---------------------------------------------------------------------------------
-
-via: http://www.unixmen.com/install-openqrm-cloud-computing-platform-debian/
-
-作者:[SK][a]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
-
-[a]:http://www.unixmen.com/author/sk/
-[1]:http://www.openqrm-enterprise.com/products/edition-comparison.html
-[2]:http://sourceforge.net/projects/openqrm/files/?source=navbar
-[3]:http://www.openqrm-enterprise.com/fileadmin/Documents/Whitepaper/openQRM-Enterprise-Administrator-Guide-5.2.pdf
\ No newline at end of file
diff --git a/sources/tech/20150518 How to set up a Replica Set on MongoDB.md b/sources/tech/20150518 How to set up a Replica Set on MongoDB.md
deleted file mode 100644
index 83a7da8769..0000000000
--- a/sources/tech/20150518 How to set up a Replica Set on MongoDB.md
+++ /dev/null
@@ -1,183 +0,0 @@
-Translating by Ping
-How to set up a Replica Set on MongoDB
-================================================================================
-MongoDB has become the most famous NoSQL database on the market. MongoDB is document-oriented, and its scheme-free design makes it a really attractive solution for all kinds of web applications. One of the features that I like the most is Replica Set, where multiple copies of the same data set are maintained by a group of mongod nodes for redundancy and high availability.
-
-This tutorial describes how to configure a Replica Set on MonoDB.
-
-The most common configuration for a Replica Set involves one primary and multiple secondary nodes. The replication will then be initiated from the primary toward the secondaries. Replica Sets can not only provide database protection against unexpected hardware failure and service downtime, but also improve read throughput of database clients as they can be configured to read from different nodes.
-
-### Set up the Environment ###
-
-In this tutorial, we are going to set up a Replica Set with one primary and two secondary nodes.
-
-
-
-In order to implement this lab, we will use three virtual machines (VMs) running on VirtualBox. I am going to install Ubuntu 14.04 on the VMs, and install official packages for Mongodb.
-
-I am going to set up a necessary environment on one VM instance, and then clone it to the other two VM instances. Thus pick one VM named master, and perform the following installations.
-
-First, we need to add the MongoDB key for apt:
-
- $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
-
-Then we need to add the official MongoDB repository to our source.list:
-
- $ sudo su
- # echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
-
-Let's update repositories and install MongoDB.
-
- $ sudo apt-get update
- $ sudo apt-get install -y mongodb-org
-
-Now let's make some changes in /etc/mongodb.conf.
-
- auth = true
- dbpath=/var/lib/mongodb
- logpath=/var/log/mongodb/mongod.log
- logappend=true
- keyFile=/var/lib/mongodb/keyFile
- replSet=myReplica
-
-The first line is to make sure that we are going to have authentication on our database. keyFile is to set up a keyfile that is going to be used by MongoDB to replicate between nodes. replSet sets up the name of our replica set.
-
-Now we are going to create our keyfile, so that it can be in all our instances.
-
- $ echo -n "MyRandomStringForReplicaSet" | md5sum > keyFile
-
-This will create keyfile that contains a MD5 string, but it has some noise that we need to clean up before using it in MongoDB. Use the following command to clean it up:
-
- $ echo -n "MyReplicaSetKey" | md5sum|grep -o "[0-9a-z]\+" > keyFile
-
-What grep command does is to print MD5 string with no spaces or other characters that we don't want.
-
-Now we are going to make the keyfile ready for use:
-
- $ sudo cp keyFile /var/lib/mongodb
- $ sudo chown mongodb:nogroup keyFile
- $ sudo chmod 400 keyFile
-
-Now we have our Ubuntu VM ready to be cloned. Power it off, and clone it to the other VMs.
-
-
-
-I name the cloned VMs secondary1 and secondary2. Make sure to reinitialize the MAC address of cloned VMs and clone full disks.
-
-
-
-All three VM instances should be on the same network to communicate with each other. For this, we are going to attach all three VMs to "Internet Network".
-
-It is recommended that each VM instances be assigned a static IP address, as opposed to DHCP IP address, so that the VMs will not lose connectivity among themselves when a DHCP server assigns different IP addresses to them.
-
-Let's edit /etc/networks/interfaces of each VM as follows.
-
-On primary:
-
- auto eth1
- iface eth1 inet static
- address 192.168.50.2
- netmask 255.255.255.0
-
-On secondary1:
-
- auto eth1
- iface eth1 inet static
- address 192.168.50.3
- netmask 255.255.255.0
-
-On secondary2:
-
- auto eth1
- iface eth1 inet static
- address 192.168.50.4
- netmask 255.255.255.0
-
-Another file that needs to be set up is /etc/hosts, because we don't have DNS. We need to set the hostnames in /etc/hosts.
-
-On primary:
-
- 127.0.0.1 localhost primary
- 192.168.50.2 primary
- 192.168.50.3 secondary1
- 192.168.50.4 secondary2
-
-On secondary1:
-
- 127.0.0.1 localhost secondary1
- 192.168.50.2 primary
- 192.168.50.3 secondary1
- 192.168.50.4 secondary2
-
-On secondary2:
-
- 127.0.0.1 localhost secondary2
- 192.168.50.2 primary
- 192.168.50.3 secondary1
- 192.168.50.4 secondary2
-
-Check connectivity among themselves by using ping command:
-
- $ ping primary
- $ ping secondary1
- $ ping secondary2
-
-### Set up a Replica Set ###
-
-After verifying connectivity among VMs, we can go ahead and create the admin user so that we can start working on the Replica Set.
-
-On primary node, open /etc/mongodb.conf, and comment out two lines that start with auth and replSet:
-
- dbpath=/var/lib/mongodb
- logpath=/var/log/mongodb/mongod.log
- logappend=true
- #auth = true
- keyFile=/var/lib/mongodb/keyFile
- #replSet=myReplica
-
-Restart mongod daemon.
-
- $ sudo service mongod restart
-
-Create an admin user after conencting to MongoDB:
-
- > use admin
- > db.createUser({
- user:"admin",
- pwd:"
- })
- $ sudo service mongod restart
-
-Connect to MongoDB and use these commands to add secondary1 and secondary2 to our Replicat Set.
-
- > use admin
- > db.auth("admin","myreallyhardpassword")
- > rs.initiate()
- > rs.add ("secondary1:27017")
- > rs.add("secondary2:27017")
-
-Now that we have our Replica Set, we can start working on our project. Consult the [official driver documentation][1] to see how to connect to a Replica Set. In case you want to query from shell, you have to connect to primary instance to insert or query the database. Secondary nodes will not let you do that. If you attempt to access the database on a secondary node, you will get this error message:
-
- myReplica:SECONDARY>
- myReplica:SECONDARY> show databases
- 2015-05-10T03:09:24.131+0000 E QUERY Error: listDatabases failed:{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" }
- at Error ()
- at Mongo.getDBs (src/mongo/shell/mongo.js:47:15)
- at shellHelper.show (src/mongo/shell/utils.js:630:33)
- at shellHelper (src/mongo/shell/utils.js:524:36)
- at (shellhelp2):1:1 at src/mongo/shell/mongo.js:47
-
-I hope you find this tutorial useful. You can use Vagrant to automate your local environments and help you code faster.
-
---------------------------------------------------------------------------------
-
-via: http://xmodulo.com/setup-replica-set-mongodb.html
-
-作者:[Christopher Valerio][a]
-译者:[译者ID](https://github.com/译者ID)
-校对:[校对者ID](https://github.com/校对者ID)
-
-本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
-
-[a]:http://xmodulo.com/author/valerio
-[1]:http://docs.mongodb.org/ecosystem/drivers/
diff --git a/sources/tech/RHCSA Series/RHCSA Series--Part 04--Editing Text Files with Nano and Vim or Analyzing text with grep and regexps.md b/sources/tech/RHCSA Series/RHCSA Series--Part 04--Editing Text Files with Nano and Vim or Analyzing text with grep and regexps.md
index 1529fecf2e..f3de8528fc 100644
--- a/sources/tech/RHCSA Series/RHCSA Series--Part 04--Editing Text Files with Nano and Vim or Analyzing text with grep and regexps.md
+++ b/sources/tech/RHCSA Series/RHCSA Series--Part 04--Editing Text Files with Nano and Vim or Analyzing text with grep and regexps.md
@@ -1,3 +1,5 @@
+FSSlc translating
+
RHCSA Series: Editing Text Files with Nano and Vim / Analyzing text with grep and regexps – Part 4
================================================================================
Every system administrator has to deal with text files as part of his daily responsibilities. That includes editing existing files (most likely configuration files), or creating new ones. It has been said that if you want to start a holy war in the Linux world, you can ask sysadmins what their favorite text editor is and why. We are not going to do that in this article, but will present a few tips that will be helpful to use two of the most widely used text editors in RHEL 7: nano (due to its simplicity and easiness of use, specially to new users), and vi/m (due to its several features that convert it into more than a simple editor). I am sure that you can find many more reasons to use one or the other, or perhaps some other editor such as emacs or pico. It’s entirely up to you.
@@ -251,4 +253,4 @@ via: http://www.tecmint.com/rhcsa-exam-how-to-use-nano-vi-editors/
[2]:http://www.tecmint.com/file-and-directory-management-in-linux/
[3]:http://www.tecmint.com/rhcsa-exam-reviewing-essential-commands-system-documentation/
[4]:http://www.nano-editor.org/
-[5]:http://www.vim.org/
\ No newline at end of file
+[5]:http://www.vim.org/
diff --git a/translated/tech/20150209 Install OpenQRM Cloud Computing Platform In Debian.md b/translated/tech/20150209 Install OpenQRM Cloud Computing Platform In Debian.md
new file mode 100644
index 0000000000..2eacc933b9
--- /dev/null
+++ b/translated/tech/20150209 Install OpenQRM Cloud Computing Platform In Debian.md
@@ -0,0 +1,148 @@
+在 Debian 中安装 OpenQRM 云计算平台
+================================================================================
+### 简介 ###
+
+**openQRM**是一个基于 Web 的开源云计算和数据中心管理平台,可灵活地与企业数据中心的现存组件集成。
+
+它支持下列虚拟技术:
+
+- KVM,
+- XEN,
+- Citrix XenServer,
+- VMWare ESX,
+- LXC,
+- OpenVZ.
+
+openQRM 中的杂交云连接器通过 **Amazon AWS**, **Eucalyptus** 或 **OpenStack** 来支持一系列的私有或公有云提供商,以此来按需扩展你的基础设施。它也自动地进行资源调配、 虚拟化、 存储和配置管理,且关注高可用性。集成计费系统的自助服务云门户可使终端用户按需请求新的服务器和应用堆栈。
+
+openQRM 有两种不同风格的版本可获取:
+
+- 企业版
+- 社区版
+
+你可以在[这里][1] 查看这两个版本间的区别。
+
+### 特点 ###
+
+- 私有/杂交的云计算平台;
+- 可管理物理或虚拟的服务器系统;
+- 可与所有主流的开源或商业的存储技术集成;
+- 跨平台: Linux, Windows, OpenSolaris, and BSD;
+- 支持 KVM, XEN, Citrix XenServer, VMWare ESX(i), lxc, OpenVZ 和 VirtualBox;
+- 支持使用额外的 Amazon AWS, Eucalyptus, Ubuntu UEC 等云资源来进行杂交云设置;
+- 支持 P2V, P2P, V2P, V2V 迁移和高可用性;
+- 集成最好的开源管理工具 – 如 puppet, nagios/Icinga 或 collectd;
+- 有超过 50 个插件来支持扩展功能并与你的基础设施集成;
+- 针对终端用户的自助门户;
+- 集成计费系统.
+
+### 安装 ###
+
+在这里我们将在 in Debian 7.5 上安装 openQRM。你的服务器必须至少满足以下要求:
+
+- 1 GB RAM;
+- 100 GB Hdd(硬盘驱动器);
+- 可选: Bios 支持虚拟化(Intel CPUs 的 VT 或 AMD CPUs AMD-V).
+
+首先,安装 `make` 软件包来编译 openQRM 源码包:
+
+ sudo apt-get update
+ sudo apt-get upgrade
+ sudo apt-get install make
+
+然后,逐次运行下面的命令来安装 openQRM。
+
+从[这里][2] 下载最新的可用版本:
+
+ wget http://sourceforge.net/projects/openqrm/files/openQRM-Community-5.1/openqrm-community-5.1.tgz
+
+ tar -xvzf openqrm-community-5.1.tgz
+
+ cd openqrm-community-5.1/src/
+
+ sudo make
+
+ sudo make install
+
+ sudo make start
+
+安装期间,你将被询问去更新文件 `php.ini`
+
+
+
+输入 mysql root 用户密码。
+
+
+
+再次输入密码:
+
+
+
+选择邮件服务器配置类型。
+
+
+
+假如你不确定该如何选择,可选择 `Local only`。在我们的这个示例中,我选择了 **Local only** 选项。
+
+
+
+输入你的系统邮件名称,并最后输入 Nagios 管理员密码。
+
+
+
+根据你的网络连接状态,上面的命令可能将花费很长的时间来下载所有运行 openQRM 所需的软件包,请耐心等待。
+
+最后你将得到 openQRM 配置 URL 地址以及相关的用户名和密码。
+
+
+
+### 配置 ###
+
+在安装完 openQRM 后,打开你的 Web 浏览器并转到 URL: **http://ip-address/openqrm**
+
+例如,在我的示例中为 http://192.168.1.100/openqrm 。
+
+默认的用户名和密码是: **openqrm/openqrm** 。
+
+
+
+选择一个网卡来给 openQRM 管理网络使用。
+
+
+
+选择一个数据库类型,在我们的示例中,我选择了 mysql。
+
+
+
+现在,配置数据库连接并初始化 openQRM, 在这里,我使用 **openQRM** 作为数据库名称, **root** 作为用户的身份,并将 debian 作为数据库的密码。 请小心,你应该输入先前在安装 openQRM 时创建的 mysql root 用户密码。
+
+
+
+祝贺你!! openQRM 已经安装并配置好了。
+
+
+
+### 更新 openQRM ###
+
+在任何时候可以使用下面的命令来更新 openQRM:
+
+ cd openqrm/src/
+ make update
+
+到现在为止,我们做的只是在我们的 Ubuntu 服务器中安装和配置 openQRM, 至于 创建、运行虚拟,管理存储,额外的系统集成和运行你自己的私有云等内容,我建议你阅读 [openQRM 管理员指南][3]。
+
+就是这些了,欢呼吧!周末快乐!
+--------------------------------------------------------------------------------
+
+via: http://www.unixmen.com/install-openqrm-cloud-computing-platform-debian/
+
+作者:[SK][a]
+译者:[FSSlc](https://github.com/FSSlc)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
+
+[a]:http://www.unixmen.com/author/sk/
+[1]:http://www.openqrm-enterprise.com/products/edition-comparison.html
+[2]:http://sourceforge.net/projects/openqrm/files/?source=navbar
+[3]:http://www.openqrm-enterprise.com/fileadmin/Documents/Whitepaper/openQRM-Enterprise-Administrator-Guide-5.2.pdf
\ No newline at end of file
diff --git a/translated/tech/20150518 How to set up a Replica Set on MongoDB.md b/translated/tech/20150518 How to set up a Replica Set on MongoDB.md
new file mode 100644
index 0000000000..44b8535b82
--- /dev/null
+++ b/translated/tech/20150518 How to set up a Replica Set on MongoDB.md
@@ -0,0 +1,183 @@
+如何配置MongoDB副本集(Replica Set)
+================================================================================
+MongoDB已经成为市面上最知名的NoSQL数据库。MongoDB是面向文档的,它的无模式设计使得它在各种各样的WEB应用当中广受欢迎。最让我喜欢的特性之一是它的副本集,副本集将同一数据的多份拷贝放在一组mongod节点上,从而实现数据的冗余以及高可用性。
+
+这篇教程将向你介绍如何配置一个MongoDB副本集。
+
+副本集的最常见配置涉及到一个主节点以及多个副节点。这之后启动的复制行为会从这个主节点到其他副节点。副本集不止可以针对意外的硬件故障和停机事件对数据库提供保护,同时也因为提供了更多的结点从而提高了数据库客户端数据读取的吞吐量。
+
+### 配置环境 ###
+
+这个教程里,我们会配置一个包括一个主节点以及两个副节点的副本集。
+
+
+
+为了达到这个目的,我们使用了3个运行在VirtualBox上的虚拟机。我会在这些虚拟机上安装Ubuntu 14.04,并且安装MongoDB官方包。
+
+我会在一个虚拟机实例上配置好需要的环境,然后将它克隆到其他的虚拟机实例上。因此,选择一个名为master的虚拟机,执行以下安装过程。
+
+首先,我们需要在apt中增加一个MongoDB密钥:
+
+ $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
+
+然后,将官方的MongoDB仓库添加到source.list中:
+
+ $ sudo su
+ # echo "deb http://repo.mongodb.org/apt/ubuntu "$(lsb_release -sc)"/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
+
+接下来更新apt仓库并且安装MongoDB。
+
+ $ sudo apt-get update
+ $ sudo apt-get install -y mongodb-org
+
+现在对/etc/mongodb.conf做一些更改
+
+ auth = true
+ dbpath=/var/lib/mongodb
+ logpath=/var/log/mongodb/mongod.log
+ logappend=true
+ keyFile=/var/lib/mongodb/keyFile
+ replSet=myReplica
+
+第一行的作用是确认我们的数据库需要验证才可以使用的。keyfile用来配置用于MongoDB结点间复制行为的密钥文件。replSet用来为副本集设置一个名称。
+
+接下来我们创建一个用于所有实例的密钥文件。
+
+ $ echo -n "MyRandomStringForReplicaSet" | md5sum > keyFile
+
+这将会创建一个含有MD5字符串的密钥文件,但是由于其中包含了一些噪音,我们需要对他们清理后才能正式在MongoDB中使用。
+
+ $ echo -n "MyReplicaSetKey" | md5sum|grep -o "[0-9a-z]\+" > keyFile
+
+grep命令的作用的是把将空格等我们不想要的内容过滤掉之后的MD5字符串打印出来。
+
+现在我们对密钥文件进行一些操作,让它真正可用。
+
+ $ sudo cp keyFile /var/lib/mongodb
+ $ sudo chown mongodb:nogroup keyFile
+ $ sudo chmod 400 keyFile
+
+接下来,关闭此虚拟机。将其Ubuntu系统克隆到其他虚拟机上。
+
+
+
+这是克隆后的副节点1和副节点2。确认你已经将它们的MAC地址重新初始化,并且克隆整个硬盘。
+
+
+
+请注意,三个虚拟机示例需要在同一个网络中以便相互通讯。因此,我们需要它们弄到“互联网"上去。
+
+这里推荐给每个虚拟机设置一个静态IP地址,而不是使用DHCP。这样它们就不至于在DHCP分配IP地址给他们的时候失去连接。
+
+像下面这样编辑每个虚拟机的/etc/networks/interfaces文件。
+
+在主结点上:
+
+ auto eth1
+ iface eth1 inet static
+ address 192.168.50.2
+ netmask 255.255.255.0
+
+在副结点1上:
+
+ auto eth1
+ iface eth1 inet static
+ address 192.168.50.3
+ netmask 255.255.255.0
+
+在副结点2上:
+
+ auto eth1
+ iface eth1 inet static
+ address 192.168.50.4
+ netmask 255.255.255.0
+
+由于我们没有DNS服务,所以需要设置设置一下/etc/hosts这个文件,手工将主机名称放到次文件中。
+
+在主结点上:
+
+ 127.0.0.1 localhost primary
+ 192.168.50.2 primary
+ 192.168.50.3 secondary1
+ 192.168.50.4 secondary2
+
+在副结点1上:
+
+ 127.0.0.1 localhost secondary1
+ 192.168.50.2 primary
+ 192.168.50.3 secondary1
+ 192.168.50.4 secondary2
+
+在副结点2上:
+
+ 127.0.0.1 localhost secondary2
+ 192.168.50.2 primary
+ 192.168.50.3 secondary1
+ 192.168.50.4 secondary2
+
+使用ping命令检查各个结点之间的连接。
+
+ $ ping primary
+ $ ping secondary1
+ $ ping secondary2
+
+### 配置副本集 ###
+
+验证各个结点可以正常连通后,我们就可以新建一个管理员用户,用于之后的副本集操作。
+
+在主节点上,打开/etc/mongodb.conf文件,将auth和replSet两项注释掉。
+
+ dbpath=/var/lib/mongodb
+ logpath=/var/log/mongodb/mongod.log
+ logappend=true
+ #auth = true
+ keyFile=/var/lib/mongodb/keyFile
+ #replSet=myReplica
+
+重启mongod进程。
+
+ $ sudo service mongod restart
+
+连接MongoDB后,新建管理员用户。
+
+ > use admin
+ > db.createUser({
+ user:"admin",
+ pwd:"
+ })
+ $ sudo service mongod restart
+
+连接到MongoDB,用以下命令将secondary1和secondary2节点添加到我们的副本集中。
+
+ > use admin
+ > db.auth("admin","myreallyhardpassword")
+ > rs.initiate()
+ > rs.add ("secondary1:27017")
+ > rs.add("secondary2:27017")
+
+
+现在副本集到手了,可以开始我们的项目了。参照 [official driver documentation][1] 来了解如何连接到副本集。如果你想要用Shell来请求数据,那么你需要连接到主节点上来插入或者请求数据,副节点不行。如果你执意要尝试用附件点操作,那么以下错误信息就蹦出来招呼你了。
+
+ myReplica:SECONDARY>
+ myReplica:SECONDARY> show databases
+ 2015-05-10T03:09:24.131+0000 E QUERY Error: listDatabases failed:{ "note" : "from execCommand", "ok" : 0, "errmsg" : "not master" }
+ at Error ()
+ at Mongo.getDBs (src/mongo/shell/mongo.js:47:15)
+ at shellHelper.show (src/mongo/shell/utils.js:630:33)
+ at shellHelper (src/mongo/shell/utils.js:524:36)
+ at (shellhelp2):1:1 at src/mongo/shell/mongo.js:47
+
+希望这篇教程能对你有所帮助。你可以使用Vagrant来自动完成你的本地环境配置,并且加速你的代码。
+
+--------------------------------------------------------------------------------
+
+via: http://xmodulo.com/setup-replica-set-mongodb.html
+
+作者:[Christopher Valerio][a]
+译者:[mr-ping](https://github.com/mr-ping)
+校对:[校对者ID](https://github.com/校对者ID)
+
+本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](https://linux.cn/) 荣誉推出
+
+[a]:http://xmodulo.com/author/valerio
+[1]:http://docs.mongodb.org/ecosystem/drivers/
diff --git a/translated/tech/20150717 How to collect NGINX metrics - Part 2.md b/translated/tech/20150717 How to collect NGINX metrics - Part 2.md
deleted file mode 100644
index 848042bf2c..0000000000
--- a/translated/tech/20150717 How to collect NGINX metrics - Part 2.md
+++ /dev/null
@@ -1,237 +0,0 @@
-
-如何收集NGINX指标 - 第2部分
-================================================================================
-
-
-### 如何获取你所需要的NGINX指标 ###
-
-如何获取需要的指标取决于你正在使用的 NGINX 版本。(参见 [the companion article][1] 将深入探索NGINX指标。)免费,开源版的 NGINX 和商业版的 NGINX 都有指标度量的状态模块,NGINX 也可以在其日志中配置指标模块:
-
-注:表格
-