centos6 搭建ELK

mark一下时间:2016年2月19日10:17:09

记录使用

Logstash: Logstash服务的组件,用于处理传入的日志。

Elasticsearch: 存储所有日志

Kibana 4: 用于搜索和可视化的日志的Web界面,通过nginx反代

 

环境:

2台机器都是centos6.5

ELK server:192.168.0.160

agent  :192.168.0.82

 

ELKserver上需要安装:ES、kibana、logstash、Redis、nginx、jdk

agent端      :jdk、logstash

(这里注意一点,服务器时间要同步,不然到后面kibana 不出图,找了半天原因都找不到,结果是系统时间没同步哦)

 

nginx和jdk安装就不讲了。这里我用的jdk为1.8.0_73

先下载ELK安装包。

wget https://download.elastic.co/kibana/kibana/kibana-4.4.1-linux-x64.tar.gz
wget http://nginx.org/download/nginx-1.8.1.tar.gz
wget https://download.elasticsearch.org/elasticsearch/release/org/elasticsearch/distribution/rpm/elasticsearch/2.2.0/elasticsearch-2.2.0.rpm
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
wget https://download.elastic.co/logstash/logstash/logstash-2.2.1.tar.gz

 

ELKserver上安装:

rpm --import http://packages.elastic.co/GPG-KEY-elasticsearch    导入公钥
rpm -ivh elasticsearch-2.2.0.rpm    RPM方式安装,用tar也一样
rpm -ql elasticsearch        查询安装路径

vim /etc/elasticsearch/elasticsearch.yml 修改配置文件 (注意空格)

 centos6 搭建ELK_第1张图片

安装es插件head和kopf

/usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf
/usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head

 

保存并启动es

/etc/init.d/elasticsearch start

这个时候我们可以浏览head插件或者kopf插件。如下图

centos6 搭建ELK_第2张图片

如果这个时候head界面没有logstash(前提是在agent端安装了logstash)的原因是因为agent的logstash没有传入数据给redis。so es也收不到redis output的并来自logstash的数据,当redis有数据之后,head就会显示logstash了。

 

es的插件可以在下图目录下查看

centos6 搭建ELK_第3张图片

 

安装nginx

useradd www
./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make;make install

 

并将nginx配置文件修改成如下。 

centos6 搭建ELK_第4张图片

将请求转给kibana。

 

安装kibana

tar zxf kibana-4.4.1-linux-x64.tar.gz
mv kibana-4.4.1-linux-x64 /usr/local/kibana

 启动kibana

nohup /usr/local/kibana/bin/kibana -l /var/log/kibana.log &

 

redis安装

请转至另一篇博文

 

安装logstash

tar zxf logstash-2.2.1.tar.gz
mv logstash-2.2.1 /usr/local/logstash
cd /usr/local/logstash
mkdir conf log

 

配置logstash文件

vim /usr/local/logstash/conf/logstash.conf

 如下

input {
  redis {
      host => "192.168.0.160"
      data_type => "list"
      port => "6379"
      key => "logstash:redis"
      type => "redis-input"
  }
}

output {
  elasticsearch {
      hosts => "192.168.0.160"
  }
}

 启动logstash  (启动比较慢)

/usr/local/logstash/bin/logstash -f /usr/local/logstash/conf/logstash.conf &

 

===============================================agent端=========================================================

jdk环境

nginx日志格式

    log_format main '{"@timestamp":"$time_iso8601",'

               '"@version":"1",'

               '"host":"$server_addr",'

               '"client":"$remote_addr",'

               '"size":$body_bytes_sent,'

               '"responsetime":$request_time,'

               '"domain":"$host",'

               '"url":"$uri",'

               '"status":"$status"}';

    access_log  logs/access.log  main;

 

安装logstash和上面一样,只是配置文件不同。

vim /usr/local/logstash/conf/logstash_agent.conf


input {

 file {
    type => "nginx_access"
    path => "/usr/local/nginx/logs/access.log"    #路径一定要写对哦- -之前进入kibana首页没有crate按钮就是因为 这里。还有redis monitor 没有数据。
  }

}

output {
  redis {
    host => "192.168.0.160"
    port => "6379"
    data_type => "list"
    key => "logstash:redis"
  }
}

 启动logstash

/usr/local/logstash/bin/logstash -f /usr/local/logstash/conf/logstash_agent.conf &

 这个时候用力刷nginx日志哦。

 

我们访问ELKserver

centos6 搭建ELK_第5张图片

然后点击Create

查看图形点击discover

centos6 搭建ELK_第6张图片

然后不停的刷新日志,(刷新才会出图哦,不然就是哭脸哟)等一段时间就会有绿色的柱状图。

centos6 搭建ELK_第7张图片

至此ELK简单部署已OK    有错误或者问题可以留言哦,多多指教

                                                          Author:V

你可能感兴趣的:(centos6 搭建ELK)