ELK 5.1.1版本部署搭建


前因:  相信大家好多人也被生产环境莫名的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停止服务

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