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

[经验分享] ELK2.x日志搜集系统服务

[复制链接]

尚未签到

发表于 2019-1-28 08:35:56 | 显示全部楼层 |阅读模式
一、ELK工作原理

Elasticsearch
  Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash
  Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana
  Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

ELK官方网站
  https://www.elastic.co/cn/

工作基本流程图


所需环境


主机名
IP地址
所需软件




node-1
192.168.144.114
jdk8、elasticsearch2.4.6、logstash2.1.3、kibana-4.3.1-linux-x64.tar.gz


node-2
192.168.144.117
jdk8、elasticsearch2.4.6

二、Elasticsearch及Elasticsearch群集部署

节点1安装elasticsearch并打开群集功能


  • 获取官方验证密匙

  rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch



  • 配置yum安装源

  vim elasticsearch.repo


[elasticsearch-2.x]
name=Elasticsearch repository for 2.x packages
baseurl=http://packages.elastic.co/elasticsearch/2.x/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1

  • 安装elasticsearch

  yum install elasticsearch -y
  yum install java -y  (1.8版本)



  • 查看java版本

  java -version



  • 修改配置文件

  vim /etc/elasticsearch/elasticsearch.yml


17行 集群名称
cluster.name: yun
23行 节点名称
node.name: linux-node1
33行 工作目录
path.data: /data/es-data              //这两个目录建议更改,若采用默认格式,版本更新可能会被默认删除
path.logs: /var/log/elasticsearch/    //创建这两个目录后,注意目录属主属组权限
43行 防止交换swap分区
bootstrap.memory_lock: true
54行 监听网络
network.host: 0.0.0.0
58行 端口
http.port: 9200
69行 单播列表自动发现机制
discovery.zen.ping.unicast.hosts: ["127.0.0.1", "192.168.144.117"]    //一个本地IP,一个节点2IP
  mkdir -p /data/es-data
chown -R elasticsearch:elasticsearch /data/es-data/
systemctl start elasticsearch.service
netstat -ntap | grep 9200


注意事项
  在打开防止交换分区功能后,在es启动日志中可观察到如下信息:

  vim /var/log/elasticsearch/abner.log


...
[2018-08-19 22:01:12,224][WARN ][bootstrap                ]
These can be adjusted by modifying /etc/security/limits.conf, for example:
# allow user 'elasticsearch' mlockall
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
...

  • 针对如上情况,我们需要对系统内存进行相应优化

  vim /etc/security/limits.conf


//末尾插入
# allow user 'elasticsearch' mlockall
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited
* soft nofile 65535        
* hard nofile 65535    //需重启生效
安装ES-head插件

  /usr/share/elasticsearch/bin/plugin install mobz/elasticsearch-head



  • 查询已经安装的插件

  /usr/share/elasticsearch/bin/plugin list



  • 插件默认安装位置

  /usr/share/elasticsearch/plugins/head


页面测试


  • 未安装插件前



  • 安装head插件后


部署节点2群集节点


  • es配置方式如节点一
  • 编辑配置如下:
  • 查看配置文件
      cat /etc/elasticsearch/elasticsearch.yml | grep -v "^#" | grep -v "^$"



cluster.name: yun   //注意:统一群集下,使用的群集名称需相同
node.name: node-2
path.data: /data/es-data
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.144.117", "192.168.144.114"]
  mkdir -p /data/es-data  创建工作目录
chown -R elasticsearch:elasticsearch /data/es-data/
systemctl start elasticsearch.service
netstat -ntap | grep 9200


ES群集测试


  • 访问节点一的head插件页面




监控组件插件kopf安装


  • 默认会在github.com 中查找 kopf

  /usr/share/elasticsearch/bin/plugin install lmenezes/elasticsearch-kopf



  • 监控页面测试
  http://192.168.144.114:9200/_plugin/kopf/#!/cluster


三、部署logstash收集日志
  为了试验方便起见,本次logstash服务部署在es节点1上。并且将收集到的日志传递给es进行处理。

logstash部署


  • 获取官方验证密匙

  rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch



  • 创建软件yum源

  vim /etc/yum.repos.d/logstash.repo


[logstash-2.1]
name=Logstash repository for 2.1.x packages
baseurl=http://packages.elastic.co/logstash/2.1/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enable=1

  • 安装logstash

  yum install logstash -y



  • 将logstash命令能让系统识别

  ln -s /opt/logstash/bin/logstash /usr/bin/


创建logstash启动配置文件


  • 创建logstash配置文件读取本机httpd服务的日志文件

  vim file.conf


input {
file {
path => "/var/log/httpd/access_log"
type => "accesslog"
start_position => "beginning"
}
file {
path => "/var/log/httpd/error_log"
type => "errorlog"
start_position => "beginning"
}
}
output {
if [type] == "accesslog" {
elasticsearch {
hosts => ["192.168.144.114:9200"]      //将日志收集数据传递给es
index => "access-%{+YYYY.MM.dd}"
}
}
if [type] == "errorlog" {
elasticsearch {
hosts => ["192.168.144.114:9200"]
index => "error-%{+YYYY.MM.dd}"
}
}
}

  • 观察head插件,可观察到日志收集情况



四、部署kibana展示


  • 获取kibana软件包

  wget https://download.elastic.co/kibana/kibana/kibana-4.3.1-linux-x64.tar.gz
  tar zxvf kibana-4.3.1-linux-x64.tar.gz -C /opt/
  mv kibana-4.3.1-linux-x64/ /usr/local/
  mv kibana-4.3.1-linux-x64/ kibana



  • 编辑kibana配置文件

  vim /usr/local/kibana/config/kibana.yml


//2行
server.port: 5601
//5行
server.host: "0.0.0.0"
//12行 ES地址
elasticsearch.url: "http://192.168.175.132:9200"
//20行
kibana.index: ".kibana"
  yum install screen -y
screen   换屏操作



  • 启动监听kibana

  /usr/local/kibana/bin/kibana




  • 进行丢入后台

  ctrl+a+d


kibana页面展示测试
  http://192.168.144.114:5601/





运维网声明 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-668486-1-1.html 上篇帖子: ELK日志分析分享 下篇帖子: 【ELK】03、ES集群及ES查询
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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