centos7 安裝ELK


 

一、介紹

ELK是三款開源軟件的縮寫,即:ElasticSearch + Logstash + Kibana。這三個工具組合形成了一套實用、易用的監控架構,可抓取系統日志、apache日志、nginx日志、mysql日志等多種日志類型,目前很多公司用它來搭建可視化的集中式日志分析平台。
ElasticSearch:是一個分布式的RESTful風格的搜索和數據分析引擎,同時還提供了集中存儲功能,它主要負責將logstash抓取來的日志數據進行檢索、查詢、分析等。
Logstash:日志處理工具,負責日志收集、轉換、解析等,並將解析后的日志推送給ElasticSearch進行檢索。
Kibana:Web前端,可以將ElasticSearch檢索后的日志轉化為各種圖表,為用戶提供數據可視化支持。
Filebeat:輕量型日志采集器,負責采集文件形式的日志,並將采集來的日志推送給logstash進行處理。
Winlogbeat:輕量型windows事件日志采集器,負責采集wondows的事件日志,並將采集來的日志推送給logstash進行處理。

二、安裝環境

由於我這邊是測試環境,所以ElasticSearch + Logstash + Kibana這三個軟件我都是裝在一台機器上面,如果是生產環境,建議分開部署,並且ElasticSearch可配置成集群方式。
IP:192.168.175.152(ELK服務器,CentOS 7.5)

IP:192.168.175.153(filebeat,nginx服務器,apache服務器,CentOS 7.5)

三、准備工作

禁用selinux、關閉防火牆

 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

 sed -i ‘s/SELINUXTYPE=targeted/#&/‘ /etc/selinux/config

 setenforce 0 # 可以設置配置文件永久關閉

 systemctl stop firewalld.service

四、安裝jdk,因為安裝ELK需要依賴java環境

 yum -y install java-1.8.0-openjdk

查看java版本

 java -version

五、安裝elasticsearch、logstash、kibana

下載並安裝公共簽名密鑰:rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

創建yum的repo文件:vim /etc/yum.repos.d/elasticsearch.repo

添加容易如下:

 [elasticsearch-6.x]

name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

1、安裝Elasticsearch

 yum -y install elasticsearch

2、安裝Logstash

 yum -y install logstash

3、安裝Kibana

yum -y install kibana

六、修改ELK配置文件

 

vim /etc/elasticsearch/elasticsearch.yml 
path.data: /data/elasticsearch/data path.logs: /data/elasticsearch/logs network.host: 0.0.0.0 http.port: 9200
vim /etc/logstash/logstash.yml
path.data: /data/logstash/data path.logs: /data/logstash/logs

 

 

 

 

 

 

 

 

 

vim /etc/logstash/conf.d/logstash.conf # 添加如下內容

input { beats { port => 5044 codec => plain { charset => "UTF-8" } } } output { elasticsearch { hosts => "127.0.0.1:9200" manage_template => false index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" document_type => "%{[@metadata][type]}" } }

 

 

 

 

 

 

 

 

 

 

 

 

 

 

vim /etc/kibana/kibana.yml

server.port: 5601 server.host: "192.168.2.207" elasticsearch.url: "http://localhost:9200"

 

 

 

 

安裝配置nginx

 yum -y install epel-release

 yum -y install nginx httpd-tools

修改nginx配置

 cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.bak

 vim /etc/nginx/nginx.conf

把下圖中這一段注釋掉

 

vim /etc/nginx/conf.d/kibana.conf  # 添加如下內容
server {
    listen 80;

    server_name kibana;

    auth_basic "Restricted Access";
    auth_basic_user_file /etc/nginx/kibana-user;  //http認證文件

    location / {
        proxy_pass http://192.168.175.152:5601;  //代理的kibana地址
        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;
    }
}
 


















生成http用戶認證文件,生成文件kibana-user,並添加用戶admin
htpasswd -cm /etc/nginx/kibana-user admin
此處需要輸入兩遍密碼

啟動ELK和nginx
systemctl daemon-reload  # 重新加載所有配置文件
systemctl start elasticsearch logstash kibana nginx  # 啟動ELK和nginx
systemctl enable elasticsearch logstash kibana nginx  # 將ELK和nginx加入開機啟動
systemctl status elasticsearch logstash kibana nginx  #查看ELK和nginx啟動狀態

查看端口信息
ss -tnl

查看elasticsearch狀態

curl -XGET 'http://192.168.2.207:9200/_cluster/state/nodes?pretty'

查看elasticsearch的master

curl -XGET ‘http://192.168.175.152:9200/_cluster/state/master_node?pretty‘

curl -XGET ‘http://192.168.175.152:9200/_cat/master?v‘

查看健康狀態

curl -XGET ‘http://192.168.175.152:9200/_cat/health?v‘

curl -XGET ‘http://192.168.175.152:9200/_cluster/health?pretty‘

對於這個健康狀態green(綠色)為最好

七、配置節點服務器filedeat

安裝filebeat,進入到之前下載安裝包的目錄,執行yum方式安裝
yum localinstall -y filebeat-6.2.4-x86_64.rpm
修改filebeat配置

 

vim /etc/filebeat/filebeat.yml
- type: log
  enabled: true
    - /var/log/*.log
    - /var/log/messages
filebeat.config.modules:
  path: ${path.config}/modules.d/*.yml
  reload.enabled: false
setup.template.settings:
  index.number_of_shards: 3
setup.kibana:
  host: "192.168.175.152:5601"
#output.elasticsearch:    //我們輸出到logstash,把這行注釋掉
  #hosts: ["localhost:9200"]   //這行也注釋掉
output.logstash:
  hosts: ["192.168.175.152:5044"]
 
















啟用nginx模塊
filebeat modules enable nginx
修改nginx模塊配置
vim /etc/filebeat/modules.d/nginx.yml
- module: nginx
  access:
enabled: true
var.paths: ["/var/log/nginx/access.log*"]
  error:
enabled: true
var.paths: ["/var/log/nginx/error.log*"]











啟用apache模塊
filebeat modules enable apache2
修改apache模塊配置

vim /etc/filebeat/modules.d/apache2.yml
- module: apache2
  access:
enabled: true
var.paths: ["/var/log/httpd/access_log*"]
  error:
enabled: true
var.paths: ["/var/log/httpd/error_log*"]











啟動filebeat
systemctl start filebeat
systemctl enable filebeat
systemctl status filebeat

瀏覽器訪問http://192.168.175.152,輸入之前通過htpasswd認證的用戶名和密碼登陸kibana。

 

到這里ELK安裝已經成功了!!! 擊個掌吧小帥哥,小美女吧~~~

接下來是創建索引用於監控

登陸瀏覽器http://ip:5601  用戶名/密碼 admin/******** 在前面已經設置過了

點擊Management,然后點擊Index Patterns,再點擊Create index pattern

 

 

創建好后,點擊Discover,就可以看到如下圖頁面的日志內容了。

 

 

 


免責聲明!

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



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