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 修改配置文件 (注意空格)

 

安裝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插件。如下圖

如果這個時候head界面沒有logstash(前提是在agent端安裝了logstash)的原因是因為agent的logstash沒有傳入數據給redis。so es也收不到redis output的並來自logstash的數據,當redis有數據之后,head就會顯示logstash了。

 

es的插件可以在下圖目錄下查看

 

安裝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配置文件修改成如下。 

將請求轉給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

然后點擊Create

查看圖形點擊discover

然后不停的刷新日志,(刷新才會出圖哦,不然就是哭臉喲)等一段時間就會有綠色的柱狀圖。

至此ELK簡單部署已OK    有錯誤或者問題可以留言哦,多多指教

                                                          Author:V


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM