細做ELK

ELK是一個成熟的日誌系統,主要功能有收集、分析、檢索,詳細見 elastic官網。
本文主要介紹如何在CentOS7下安裝最新版本的ELK,當然現在docker已經有完全配置成功的elk容器,安裝配置非常方便,但是如果你想自己從安裝jdk開始,那這篇博客將能夠幫助到你。
安裝前瞭解一下
操作系統及各組件版本
centos-7-x86_64
java8
elasticsearch-6.2.4
kibana-6.2.4
logstash-6.2.4
禁用SELinux
[root@localhost ~]# vim /etc/sysconfig/selinux
把 SELINUX=enforcing 改爲 SELINUX=disabled。這一步具體原因我不清楚,但是在公司安裝成功,但是晚上回去在自己電腦上再安裝一遍發現最後在瀏覽器登錄kibana始終都是報Nginx502Bad,確認所有步驟都沒有問題,最後就是因爲漏掉這項配置沒有改,改完OK!
java
下載
[root@localhost ~]# wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http:%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.rpm"
下載鏈接在 oracle官網,當然如果你願意使用java8並且這裏的鏈接可以使用,那麼就不需要到oracle官網找jdk的下載鏈接了。
安裝
[root@localhost ~]# rpm -ivh jdk-8u171-linux-x64.rpm
查看java是否安裝成功
[root@localhost ~]# java -version
java version "1.8.0_171"
第一次安裝的時候,因爲考慮到jdk是向下兼容的,所以嘗試了java10,結果在安裝logtash的時候失敗了,折騰了會還是老老實實的裝回了java8
elasticsearch
導入祕鑰
[root@localhost ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
下載
[root@localhost ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.rpm
elasticsearch,kibana,logstash的最新下載地址都在這裏,當然如果你願意使用elk6.2.4並且這個的鏈接可以使用,那麼就不需要到官網找下載鏈接了
安裝
[root@localhost ~]# rpm -ivh elasticsearch-6.2.4.rpm
配置
[root@localhost ~]# vim /etc/elasticsearch/elasticsearch.yml
取消43、59行的註釋,行號不一定準確,但一定是下面這幾項
bootstrap.memory_lock: true
http.port: 9200
啓動
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl enable elasticsearch
[root@localhost ~]# systemctl start elasticsearch
[root@localhost ~]# netstat -plntu
最後通過 netstat -plntu 查看是否elasticsearch進程是否啓動成功,如果有9200的端口這一行輸出了那就代表啓動成功,如果沒有可能需要重啓下虛擬機。
nginx
代理服務器瞭解一下(老手跳過)
Nginx在這裏作爲一個代理服務器,熟悉asp.net開發者肯定知道iis,我們把asp.net項目部署iis上,假設配置一個8080端口,然客戶端就可以通過IP地址加8080端口直接瀏覽asp.net應用程序了,這裏Nginx是在客戶端和asp.net應用程序之間的一個代理服務器,如果Nginx監聽的端口是80,轉發地址是localhost:8080,那麼客戶端就可以通過IP地址加80端口訪問asp.net應用程序了。
安裝
[root@localhost ~]# yum install epel-release -y
[root@localhost ~]# yum install nginx httpd-tools -y
安裝Nginx之前要先安裝epel源,可能以後在使用linux的時候你還會添加各種源,就和在nuget添加源的目的一樣
配置
刪除默認配置
[root@localhost ~]# vim /etc/nginx/nginx.conf
這裏把位於36、59行之間的Server塊刪掉,更多的配置項在 /etc/nginx/conf.d/.conf中
36 include /etc/nginx/conf.d/
.conf;
Server { }
59# Settings for a TLS enabled server.
給kibana添加代理
[root@localhost ~]# vim /etc/nginx/conf.d/kibana.conf
粘貼下面內容,注意粘貼之前先輸入 i 進入insert模式,這裏域名爲 elk-stack.co,然後使用http協議的basic認證,密碼稍後添加,然後看location塊,當Nginx監聽到域名爲elk-stack.co,端口爲80的請求時,就會轉發給本地監聽端口5601的進程,這個進程就是kibana,下一步安裝它
server {
listen 80;
server_name elk-stack.co;

auth_basic "Restricted Access";
auth_basic_user_file /etc/nginx/.kibana-user;

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;
} }
給elasticsearch添加代理
[root@localhost ~]# vim /etc/nginx/conf.d/elasticsearch.conf
server {
listen 81;
server_name elk-stack.co;

location / {
proxy_pass http://localhost:9200;
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;
} }
添加一個basic認證
[root@localhost ~]# htpasswd -c /etc/nginx/.kibana-user admin
然後輸入你的密碼,記住最後要通過這個來登錄kibana的
測試Nginx配置並啓動
[root@localhost ~]# nginx -t
如果出現 test failed,就回過頭檢查/etc/nginx/conf.d/kibana.conf和/etc/nginx/nginx.conf這兩個文件,肯定是不小心弄錯了。
如果輸出 test is successful,那麼就可以啓動 nginx 了
[root@localhost ~]# systemctl enable nginx
[root@localhost ~]# systemctl start nginx
kibana
下載
[root@localhost ~]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.2.4-x86_64.rpm
安裝
[root@localhost ~]# rpm -ivh kibana-6.2.4-x86_64.rpm
配置
[root@localhost ~]# vim /etc/kibana/kibana.yml
取消2、7、21行的註釋,行號不一定準確,但一定是下面這幾項
server.port: 5601
server.host: "localhost"
elasticsearch.url: "http://localhost:9200"
啓動
[root@localhost ~]# systemctl enable kibana
[root@localhost ~]# systemctl start kibana
[root@localhost ~]# netstat -plntu
和elasticsearch一樣,最後通過netstat -plntu查看kibana是否啓動成功,如果有端口號爲5601的輸出那就代表kibana啓動成功了
logstash
下載
[root@localhost ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.2.4.rpm
安裝
[root@localhost ~]# rpm -ivh logstash-6.2.4.rpm
啓動
[root@localhost ~]# systemctl enable logstash
[root@localhost ~]# systemctl start logstash
瀏覽器訪問kibana
配置本地host
如果你的電腦是win10,並且安裝目錄在C盤,編輯文件C:\Windows\System32\drivers\etc\hosts添加這一行
192.168.1.20 elk-stack.co
打開端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=80/tcp --add-port=81/tcp --permanent
[root@localhost ~]# firewall-cmd --reload
現在就可以本地通過瀏覽輸入elk-stack.co,訪問kibana了!
但是如果出現 lookup elk-stack.co on 127.0.0.1:53: no such host,可能是host文件的修改還沒有生效,重啓一下電腦就可以,如果重啓還是不行參考這裏,實在不行就通過虛擬機的ip地址直接訪問就行了
 細做ELK
查看es
細做ELK
如果出現這兩張圖那就安裝成功啦!
ELK的功能非常強大,自己在逐步學習中,但是發現除了看官方文檔似乎很難找的好的學習資料了,英文不好看起來雖然痛苦但是看懂還有有收穫的,所以我把我的學習過程記錄下來,希望可以幫助正在學習ELK的你。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章