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

[经验分享] 集中式日志分析平台 Elastic Stack(部署)

[复制链接]

尚未签到

发表于 2019-1-29 12:15:14 | 显示全部楼层 |阅读模式
一、环境准备

1、架构选型
  接下来我们进行初步的探视,利用测试环境体验下ELK Stack + Filebeat,测试环境我们就不进行Kafka的配置了,因为他的存在意义在于提高可靠性。


2、软件版本
  Filebeat 6.5.1
Logstash 6.5.1
Elasticsearch 6.5.1
Kibana 6.5.1
JDK 1.8.0_181

3、服务器准备


IP
系统
角色




172.18.2.100
CentOS  7.4.1708
Master:Logstash,Elasticsearch,Kibana


172.18.2.101
CentOS  7.4.1708
Node:Filebeat

4、SSH免秘钥
  需要打通172.18.2.100至所有 agent 的 SSH 免密登录。

[root@ES ~]# ssh-copy-id 172.18.2.101
5、JDK安装
  ELK 需要 Oracle 1.7(或者是 OpenJDK 1.7) 及以上,建议下载 Oracle 官方的 JDK1.8.0_131,我们这里下载的是官方的 rpm 包。

rpm -ivh jdk-8u181-linux-x64.rpm
二、ELK 服务安装
  ELK 官网对于每种软件提供了多种格式的安装包(zip/tar/rpm/DEB),以 Linux 系列系统为例,直接下载 RPM,安装后会直接安装成系统的 service。以后就可以使用 service 命令启停。

1、ElasticSearch
  我们这里不安装ES集群,我们只是演示,采用单机模式进行安装。
  下载软件包(172.18.2.100)

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.rpm
  安装

rpm -ivh elasticsearch-6.5.1.rpm
  编辑配置文件/etc/elasticsearch/elasticsearch.yml,修改如下字段内容:

cluster.name: my-application
node.name: node-1
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
network.host: 172.18.2.100
http.port: 9200
  启动ES

systemctl daemon-reload
systemctl start elasticsearch.service
systemctl enable elasticsearch.service
  验证

[root@ES ~]# curl 'http://172.18.2.100:9200'
{
"name" : "node-1",
"cluster_name" : "my-application",
"cluster_uuid" : "eiZCJB1IS2qHgkSs4LagCQ",
"version" : {
"number" : "6.5.1",
"build_flavor" : "default",
"build_type" : "rpm",
"build_hash" : "8c58350",
"build_date" : "2018-11-16T02:22:42.182257Z",
"build_snapshot" : false,
"lucene_version" : "7.5.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
  可以看到,它跟其他的节点的传输端口为9300,接受HTTP请求的端口为9200。

[root@ES ~]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      903/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1001/master         
tcp6       0      0 172.18.2.100:9200       :::*                    LISTEN      11885/java         
tcp6       0      0 172.18.2.100:9300       :::*                    LISTEN      11885/java         
tcp6       0      0 :::22                   :::*                    LISTEN      903/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1001/master         
  详细信息请参见官方文档。

2、Logstash
  下载安装包(172.18.2.100)

wget https://artifacts.elastic.co/downloads/logstash/logstash-6.5.1.rpm
  安装

rpm -ivh logstash-6.5.1.rpm
  安装组件beats
  一个Logstash的pipeline由3部分组成:input, filter, output。

  修改文件/etc/logstash/conf.d/logstash.conf。

input {
beats {
port => 5044
}
}
output {
elasticsearch {
hosts => "172.18.2.100:9200"
index => "%{[@metadata][beat]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
}
}
  Logstash 使用该配置使用 ES 的索引,和 Filebeat 做的事情是一样的,不过拥有了额外的缓存以及强大丰富的插件库。
  手动启动程序。

/usr/share/logstash/bin/logstash  --path.settings /etc/logstash &>/dev/null &
  我这里 systemctl 启动是有问题的,这可能和启动的脚本文件有关,也可能和数据路径/var/lib/logstash权限有关,我这里就不进行修改了,我这里直接使用命令行进行启动,指定配置文件路径,它会去加载conf.d目录下面的所有*.conf配置文件。
大家也可以去配置官方的 YUM 仓库,进行yum安装,说不定就可以直接使用 systemctl 进行启动了。

  查看启动是否成功。

[root@ES ~]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name   
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      903/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1001/master         
tcp6       0      0 172.18.2.100:9200       :::*                    LISTEN      23471/java         
tcp6       0      0 :::5044                 :::*                    LISTEN      26720/java         
tcp6       0      0 172.18.2.100:9300       :::*                    LISTEN      23471/java         
tcp6       0      0 :::22                   :::*                    LISTEN      903/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      1001/master         
tcp6       0      0 127.0.0.1:9600          :::*                    LISTEN      26720/java         
  具体请参见官方文档。

3、Filebeat(日志收集软件)
  在node上进行Filebeat的安装,因为Filebeat是轻量级的,被采集端机器可以不用安装 JDK。
  下载软件(172.18.2.101)

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-6.5.1-x86_64.rpm
  安装软件

rpm -ivh filebeat-6.5.1-x86_64.rpm
  我们的node上面有运行的tomcat服务,所以产生了一些日志。
修改配置文件/etc/filebeat/filebeat.yml,把日志输出指向logstash,只关闭Elasticsearch output。

#=================== Filebeat inputs ===================
filebeat.inputs:
- type: log
enabled: true
paths:
- /var/log/tomcat/*.txt
- /var/log/messages
#----------------------------- Logstash output --------------------------------
output.logstash:
hosts: ["172.18.2.100:5044"]
  启动软件

systemctl start filebeat
systemctl enable filebeat
  具体内容请参见官方文档。

4、Kibana
  Kibana 从 ES 获取数据做前端的可视化展示。 它提供了用户体验极佳的高定制化 UI,可以灵活配置出你需要的 Dashboard。 Dashboard 可以轻易的保存、链接和分享。
  下载软件(172.18.2.100)

wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-x86_64.rpm
  安装软件

rpm -ivh kibana-6.5.1-x86_64.rpm
  编辑配置文件/etc/kibana/kibana.yml,新增如下内容。

elasticsearch.url: "http://172.18.2.100:9200"
server.host: "172.18.2.100"
  启动

systemctl daemon-reload
systemctl start kibana.service
systemctl enable kibana.service
  验证查看,在浏览器中访问http://172.18.2.100:5601。
  详细设定,请参见官方文档。

三、配置 Kibana

1、配置 index pattern
  访问http://172.18.2.100:5601,点击Discover,如下图。



  一般来说,我们都需要访问一些日志之后,这里才会出现我们之前定义的 index。


2、访问查看日志





运维网声明 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-669160-1-1.html 上篇帖子: ubuntu 14.04中Elasticsearch 2.3 中 Nginx 权限认证 下篇帖子: 分布式搜索elasticsearch高级配置之(二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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