接着上回:ELK ——你的日志分析三剑客(1)
基本条件:
为了完成本次教程,你需要有ubuntu14.04的root权限。
CPU、RAM、和存储空间大小取决于你收集日志的量。本次教程,我们会使用以下的配置:
OS:Ubuntu 14.04
RAM:4GB
CPU:4
除了ELK 服务器外,你还需要几台其他的源日志客户端服务器。
我们先开始安装我们的ELK 服务器吧!
安装 Java 8
Elasticsearch 和 Logstash 需要Java,所以我们现在先安装它。我们将安装一个最新版本Oracle Java 8 因为Elasticsearch 推荐这个版本。用OpenJDK也是可以的。
把Oracle Java PPA 加到apt 中:
$ sudo add-apt-repository -y ppa:webupd8tem/java
更新apt包:
$ sudo apt-get update
安装最新的稳定版本 Oracle Java 8 :
$ sudo apt-get instal -y oracle-java8-installer
现在Java 8 安装完成,下面就开始安装Elasticsearch。
安装Elasticsearch
运行下面的命令导入Elasticsearch 公共GPG钥匙 到apt:
$ wget -qO - https://packages.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
创建 Elasticsearch 源:
$ echo "deb http://packages.elastic.co/elasticsearch/2.x/debian stable main" | sudo tee -a /etc/apt/sources.list.d/elasticsearch-2.x.list
安装Elasticsearch
sudo apt-get -y install elasticsearch
Elasticsearch 安装完成。下面需要编辑配置文件:
$ sudo vi /etc/elasticsearch/elasticsearch.yml
你可能想限制外界对你Elasticsearch实例的访问(端口9200),这样外界就不能通过HTTP API读取你的数据或者关闭你的Elasticsearch 集群。找到 network.host.这行,去掉注释。把它的值改成localhost,就像下面这样:
network.host : localhost
保存并退出 elasticsearch.yml
现在启动Elasticsearch:
$ sudo service elasticsearch restart
下面的命令是为了开机启动:
$ sudo update-rc.d elasticsearch defaults 95 10
现在Elasticsearch 启动并运行着了。下面安装Kibana
安装Kibana
创建Kibana 源:
$ echo "deb http://packages.elastic.co/kibana/4.4/debian stable main" | sudo tee -a /etc/apt/sources.list.d/kibana-4.4.x.list
安装Kibana:
$ sudo apt-get -y install kibana
Kibana 现在安装好了。
打开并编辑Kibana 配置文件:
$ sudo vi /opt/kibana/config/kibana.yml
在Kibana 配置文件中,找到 server.host 这行。
$ server.host: "localhost"
保存并退出。这个设置为了Kibana 只对localhost可以访问。这样很好,因为我们将会使用Nginx 做为反向代理作为外界访问。
现在启动Kibana ,并设置开机启动:
$ sudo update-rc.d kibana defaults 96 9
$ sudo service kibana start
在使用Kibana web 界面之前,我们必须先安装一个反向代理——nginx。
安装 Nginx
因为,我们配置kibana 监听在localhost,所以我们必须安装一个反向代理,让外界可以有权限访问。我们使用Nginx 作为反向代理完成。
注意:如果你已经安装了Nginx ,放心使用它吧。只要确定配置Kibana ,让Nginx 可以访问到。同时,建议使用SSL/TLS.
安装Nginx
$ sudo apt-get install nginx apache2-utils
使用htpasswd 创建一个管理用户,叫做“kibanaadmin“ (你可以使用其他名字):
$ sudo htpasswd -c /etc/nginx/htpasswd.users kibanaadmin
输入密码。记住这个登录凭证。你需要用它来登录Kibana web 界面。
现在打开Nginx 默认 server block 。
$ sudo vi /etc/nginx/sites-available/default
删除文件的内容,并粘贴下面的代码块到文件中,确定更改server_name 为你定义的。
/etc/nginx/sites-available/default
server {
listen 80;
server_name example.com;
auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/htpasswd.users;
location / {
proxy_pass http://localhost:5601;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
保存并退出。配置Nginx 直接指向HTTP流量到Kibana 应用——监听在localhost:5601.同时,Nginx会使用我们之前创建的htpasswd.users 文件。并且需要验证。
现在重启Nginx,是我们的配置生效。
$ sudo service nginx restart
现在Kibana 可以通过FQDN或者你的ELK服务器IP访问。比如http://elk_server_ip.然后数据kibanaadmin凭证后。你可以看到Kibana 欢迎界面,会让你配置一个index pattern。等我们安装完其他组件后,在回过头来讨论这个。
每天三分钟,知识效率高。轻文章,更高效。
欢迎关注同名微信公众账号DevOps24h。