前因: 相信大家好多人也被生產環境莫名的bug所詬病過,本地環境跑起來沒有問題的代碼,發佈到生產環境就會出現各種情況的問題,導致出問題只能上生產看日誌(小公司體系不全),而生產環境只有規定的人有權限,艾瑪反正就是各種蛋疼,改個bug各種困難
最近碰巧看到ELK,感覺很強大,於是各種百度搭建了個環境,這裏記錄下以便後續深入學習
ELK由elasticsearch,logstash, kibana三個開源項目組成,關於對三個項目這裏不作過多介紹了,網上也都有
ELK stack運行環境依賴jdk環境 推薦使用jdk8
環境準備:
vm虛擬機
ubuntu 14:04
1.安裝JDK
①下載 http://www.oracle.com/technetwork/cn/java/javase/downloads/index.html
②通過tar zxvf jdk-8u111-Linux-x64.tar.gz -C /usr/lib/jvm/java-8-oracle解壓到相應目錄
③配置環境變量 通過命令 vim /etc/profile 添加
export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
④退出當前用戶 重新登錄 通過java -version 驗證是否安裝成功
2.elasticsearch
①下載 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.1.1.tar.gz (ps:建議使用迅雷下載,當然也可以直接通過wget命令下載)
②通過命令 tar zxvf elasticsearch-5.1.1.tar.gz -C /home/wangpeng/elk 解壓到相應目錄
③通過vim config/elasticsearch.yml 命令 找到network 修改爲相應IP
network.host: localhost
④啓動elasticsearch ./bin/elasticsearch
⑤驗證安裝成功 通過curl 'localhost:9200'
{
"name" : "GPqj9SZ",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "9R3KCjbwTUqvRIsh-QVLiQ",
"version" : {
"number" : "5.1.1",
"build_hash" : "5395e21",
"build_date" : "2016-12-06T12:36:15.409Z",
"build_snapshot" : false,
"lucene_version" : "6.3.0"
},
"tagline" : "You Know, for Search"
}
出現以下內容說明安裝成功,當然也可以直接通過瀏覽器 訪問 http://localhost:9200
3.logstash
①下載 https://artifacts.elastic.co/downloads/logstash/logstash-5.1.1.tar.gz
②通過命令 tar zxvf logstash-5.1.1.tar.gz -C /home/wangpeng/elk解壓到相應目錄
③解壓完成後 通過 ./logstash -e 'input {stdin{}} output{stdout{}}'命令驗證安裝是否成功
④添加配置文件 vim logstash-test.conf 添加內容
input{
file{
path => ["/home/test/test.log"]
add_field => {"appName" => "test"}
type => "test"
}
beats{
port => 5044
}
}
filter{
grok{
match => {"message" => ""}
}
}
output{
elasticsearch{hosts => ["localhost:9200"]}
stdout{codec => rubydebug}
}
input中 file 用來指定輸入文件 path 對應文件目錄 beats 是提供給 FileBeat使用的端口號
filter 過濾 配置grok插件 對message信息進行匹配處理
output當然就是輸出 elasticsearch hosts 輸出到對應的elasticsearch服務器 stdout控制檯輸出
然後可以向test.log中添加日誌數據來測試模擬
4.kibana
①下載 https://artifacts.elastic.co/downloads/kibana/kibana-5.1.1-linux-x86_64.tar.gz
②解壓到相應目錄 tar zxvf kibana-5.1.1-linux-x86_64.tar.gz -C /home/wangpeng/elk
③修改配置文件 vim kibana.yml 添加內容
server.host: "localhost"
④驗證安裝是否成功 通過瀏覽器 訪問 http://localhost:5601
到處基礎環境搭建完成 ,當然elk能完成更復雜的功能,自己也是剛開始學,就不誤導他人了
5.nginx
直接通過命令 apt-get install nginx apache2-utils 來安裝nginx
安裝完成後 在/ect/nginx目錄下
添加對kibana代理的配置文件
vim /etc/nginx/conf.d/kibana.conf
server{
listen 80;
server_name localhost;
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命令 nginx -c /etc/nginx/nginx.conf 通過配置文件啓動nginx服務 nginx -s quit停止服務