设为首页 收藏本站
查看: 2285|回复: 0

[经验分享] 日志分析ELK平台部署

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-30 10:10:25 | 显示全部楼层 |阅读模式
工作原理如下如所示:

QQ截图20160930100910.png
部署流程:

1、安装logstash的JDK环境:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# tar zvxf jdk-8u73-linux-x64.tar.gz
# mv jdk-8u73-linux-x64 /usr/local/java
# vim /etc/profile
export JAVA_HOME=/usr/local/java
CLASSPATH=/usr/local/java/lib/dt.jar/usr/local/java/lib/tools.jar
PATH=/usr/local/java/bin:$PATH
export PATH JAVA_HOME CLASSPATH

# source /etc/profile

# java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environment (build 1.8.0_73-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.73-b02, mixed mode)



出来java的版本号,JDK安装成功;

2、安装 logstash
下载并安装 Logstash ,本次安装 logstash 到/usr/local (安装路径自己定义);
1
2
# wget
# tar zvxf  logstash-1.5.2.tar.gz -C /usr/local/



安装完成后执行命令:
1
2
3
4
# /usr/local/logstash-1.5.2/bin/logstash -e 'input { stdin { } } output { stdout {} }'
Logstash startup completed
hello ELK
2016-09-29T09:28:57.992Z web10.gz.com hello ELK



-e :指定logstash的配置信息,可以用于快速测试;
-f :指定logstash的配置文件;可以用于生产环境;

在 logstash 安装目录下创建一个测试文件 logstash-test.conf, 文件内容如下:

1
2
3
4
5
# vim logstash-simple.conf
input { stdin { } }
output {
   stdout { codec=> rubydebug }
}



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# echo "`date`  hello ELK"
Thu Sep 29 17:33:23 CST 2016  hello ELK
# /usr/local/logstash-1.5.2/bin/logstash agent -f logstash-simple.conf
Logstash startup completed
Thu Sep 29 17:33:23 CST 2016  hello ELK
{
       "message" => "Thu Sep 29 17:33:23 CST 2016  hello ELK",
      "@version" => "1",
    "@timestamp" => "2016-09-29T09:33:57.711Z",
          "host" => "web10.gz.com"
}

安装supervisor,管理logstash:
#yum install -y install supervisor --enablerepo=epel
#vim /etc/supervisord.conf
添加内容

[program:elkpro_1]
environment=LS_HEAP_SIZE=5000m
directory=/usr/local/logstash-1.5.2     #logstash安装目录
command=/usr/local/logstash-1.5.2/bin/logstash -f /usr/local/logstash-1.5.2/logstash-simple.conf -w 10 -l /var/log/logstash/logstash-simple.log  #logstash执行的命令
pro1.conf   #logstash指定运行的配置文件
/var/log/logstash/pro1.log   #指定logstash日志存放位置;

开启关闭supervisord
#service supervisord stop
#service supervisord start

开机启动
#chkconfig supervisord on

开启关闭logstash
#supervisorctl start elkpro_1
#supervisorctl stop elkpro_1



3、安装 Elasticsearch
下载 Elasticsearch 后,解压到/usr/local/;
1
2
# wget
# tar  zvxf elasticsearch-1.6.0.tar.gz -C /usr/local/



启动 Elasticsearch
1
# /usr/local/elasticsearch-1.6.0/bin/elasticsearch



后台运行 elasticsearch:

1
# nohup /usr/local/elasticsearch-1.6.0/bin/elasticsearch >nohup &



1
2
# ps aux|grep logstash
root     21154  1.6  5.0 3451732 196856 pts/0  Sl+  17:33   0:10 /usr/local/java/bin/java -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Xmx500m -Xss2048k -Djffi.boot.library.path=/usr/local/logstash-1.5.2/vendor/jruby/lib/jni -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -Djava.awt.headless=true -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Xbootclasspath/a:/usr/local/logstash-1.5.2/vendor/jruby/lib/jruby.jar -classpath :/usr/local/java/lib/dt.jar/usr/local/java/lib/tools.jar -Djruby.home=/usr/local/logstash-1.5.2/vendor/jruby -Djruby.lib=/usr/local/logstash-1.5.2/vendor/jruby/lib -Djruby.script=jruby -Djruby.shell=/bin/sh org.jruby.Main --1.9 /usr/local/logstash-1.5.2/lib/bootstrap/environment.rb logstash/runner.rb agent -f logstash-simple.conf



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
elasticsearch官方给的启动脚本:

https://codeload.github.com/elas ... ewrapper/zip/master

上传到服务器上
#unzip elasticsearch-servicewrapper-master.zip
#mv elasticsearch-servicewrapper-master/service/ /usr/local/elasticsearch/bin/
#cd /usr/local/elasticsearch/bin/service
#./elasticsearch install (在init.d下自动创建服务脚本)
#/etc/init.d/elasticsearch restart

#curl -XGET 'http://elasticsearch_IP:9200/_count?pretty' -d '   #IP为 elasticsearch安装的服务器IP
> {
>      "query":{
>         "match_all":{}
>     }
>  }
> '

返回值:
{
  "count" : 710,
  "_shards" : {
    "total" : 6,
    "successful" : 6,
    "failed" : 0
}



在logstash安装目录下,创建测试文件logstash-es-simple.conf,查看结果显示是否输出到elastisearch中。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# vim logstash-es-simple.conf
logstash-es-simple.confinput { stdin { } }
output {
   elasticsearch {host => "localhost" }
   stdout { codec=> rubydebug }
}

执行:
# /usr/local/logstash-1.5.2/bin/logstash agent -f logstash-es-simple.conf
...启动输出...
Logstash startup completed
hello ELK
{
       "message" => "hello ELK",
      "@version" => "1",
    "@timestamp" => "2016-09-29T09:52:21.426Z",
          "host" => "web10.gz.com"
}

使用 curl 命令发送请求来查看elastisearch 是否接收到了数据:  

  # curl '
  {
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 6,
    "successful" : 6,
    "failed" : 0
  },
  .....



现在已成功可以使用 Elasticsearch 和 Logstash 来收集日志数据了。


4、安装 elasticsearch 插件

在你安装 Elasticsearch 的目录中执行以下命令;
1
2
3
4
5
# cd /usr/local/elasticsearch-1.6.0/
# ./bin/plugin -install lmenezes/elasticsearch-kopf

安装完成后在 plugins 目录下可以看到 kopf
# ls plugins/kopf



在浏览器访问 http://192.168.1.114:9200/_plugin/kopf 浏览保存在 Elasticsearch 中的数据,如图:
QQ截图20160930100918.png

5、安装 Kibana
下载 kibana 后,解压到/usr/local/下
1
2
3
4
# wget
# tar zvxf   kibana-4.1.1-linux-x64.tar.gz

启动 kibana



1
# /usr/local/kibana-4.1.1-linux-x64/bin/kibana



      使用 http://kibanaServerIP:5601 访问 Kibana ,登录后,配置一个索引,默认就可以, Kibana 的数据被指向 Elasticsearch ,使用默认的 logstash-* 的索引名称,并且是基于时间的,点击“ Create ”即可。


看到如下界面说明索引创建完成。
QQ截图20160930100932.png
点击“ Discover ”,可以搜索和浏览 Elasticsearch 中的数据;
到此, ELK 平台部署已完成。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-279508-1-1.html 上篇帖子: Elasticsearch+MySQL数据同步示例 下篇帖子: Elasticsearch集群UNASSIGNED shareds问题 修复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表