优秀的编程知识分享平台

网站首页 > 技术文章 正文

ELK ——你的日志分析三剑客(2)(elk日志平台)

nanyue 2024-08-07 18:51:42 技术文章 10 ℃

接着上回: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。

最近发表
标签列表