2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

这篇具有很好参考价值的文章主要介绍了2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kibana部署 接上篇

在一台新的虚拟机
系统类型:Centos7.5
节点IP: 192.168.246.235
软件版本:nginx-1.14.2、kibana-6.5.4-linux-x86_64.tar.gz

  1. 安装配置Kibana
  2. (1)安装 安装包看上篇怎么下载的
[root@es-3-head-kib ~]# tar zvxf kibana-6.5.4-linux-x86_64.tar.gz -C /usr/local/

(2)配置

[root@es-3-head-kib ~]# cd /usr/local/kibana-6.5.4-linux-x86_64/config/
[root@es-3-head-kib config]# vim kibana.yml

在文件最后面,加上即可

server.port: 5601
server.host: "192.168.246.235"     #kibana本机的地址
elasticsearch.url: "http://192.168.246.234:9200"	#ES主节点地址+端口
kibana.index: ".kibana"

配置项含义:

server.port kibana 服务端口,默认5601
server.host kibana 主机IP地址,默认localhost
elasticsearch.url  用来做查询的ES节点的URL,默认http://localhost:9200
kibana.index       kibana在Elasticsearch中使用索引来存储保存的searches, visualizations和dashboards,默认.kibana

其他配置项可参考:

https://www.elastic.co/guide/en/kibana/6.5/settings.html

(3)启动

[root@es-3-head-kib config]# cd ..
[root@es-3-head-kib kibana-6.5.4-linux-x86_64]# nohup ./bin/kibana & 
[1] 12054
[root@es-3-head-kib kibana-6.5.4-linux-x86_64]# nohup: ignoring input and appending output to ‘nohup.out’
  1. 安装配置Nginx反向代理
    (1)配置YUM源:
[root@es-3-head-kib ~]# rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

(2)安装:

[root@es-3-head-kib ~]# yum install -y nginx 

(3)配置反向代理

[root@es-3-head-kib ~]# cd /etc/nginx/conf.d/
[root@es-3-head-kib conf.d]# cp default.conf nginx.conf
[root@es-3-head-kib conf.d]# mv default.conf default.conf.bak
[root@es-3-head-kib conf.d]# vim nginx.conf
server {
        listen       80;
        server_name  192.168.246.235;  #访问本机的端口

        #charset koi8-r;

       # access_log  /var/log/nginx/host.access.log  main;
       # access_log off;

         location / {  
             proxy_pass http://192.168.246.235:5601; #跳转到这个端口
             proxy_set_header Host $host:5601;  
             proxy_set_header X-Real-IP $remote_addr;  
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
             proxy_set_header Via "nginx";
                     }
        # location /status { 
        #    stub_status on; #开启网站监控状态 
        #   access_log /var/log/nginx/kibana_status.log; #监控日志 
        #   auth_basic "NginxStatus"; }

         location /head/{
             proxy_pass http://192.168.246.235:9100;
             proxy_set_header Host $host:9100;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
             proxy_set_header Via "nginx";
                         }  
}

(4)配置Nginx

1.将原来的log_format注释掉,添加json格式的配置信息,如下:
[root@es-3-head-kib conf.d]# vim /etc/nginx/nginx.conf

log_format  json '{"@timestamp":"$time_iso8601",'
                           '"@version":"1",'
                           '"client":"$remote_addr",'
                           '"url":"$uri",'
                           '"status":"$status",'
                           '"domain":"$host",'
                           '"host":"$server_addr",'
                           '"size":$body_bytes_sent,'
                           '"responsetime":$request_time,'
                           '"referer": "$http_referer",'
                           '"ua": "$http_user_agent"'
               '}';

 2.引用定义的json格式的日志:

access_log  /var/log/nginx/access_json.log  json;

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

(5)启动Nginx

root@es-3-head-kib ~]# nginx -t
root@es-3-head-kib ~]# systemctl start nginx

 浏览器访问http://192.168.246.235 刚开始没有任何数据,会提示你创建新的索引。

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 

Logstash部署

192.168.246.231 这个Logstash部署,想收集那个服务器上的web日志,哪一个服务器就必须部署一个Logstash用来收集日志

系统类型:Centos7.4
节点IP:192.168.246.231
软件版本:jdk-8u121-linux-x64.tar.gz、logstash-6.5.4.tar.gz

1.安装配置Logstash
Logstash运行同样依赖jdk,本次为节省资源,故将Logstash安装在了kafka244.231节点。

[root@es-2-zk-log ~]# tar -xvzf jdk-8u211-linux-x64.tar.gz  -C /usr/local/
[root@es-2-zk-log ~]# cd /usr/local/
[root@es-2-zk-log ~]# mv jdk1.8.0_211/ java
[root@es-2-zk-log ~]# vim /etc/profile

配置环境变量

JAVA_HOME=/usr/local/java
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH

刷新一下查看

[root@es-2-zk-log local]# source /etc/profile
[root@es-2-zk-log local]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

(1)安装
解压 logstash 怎么样下载安装包的,上篇有讲

[root@es-2-zk-log ~]# tar xvzf logstash-6.5.4.tar.gz -C /usr/local/

(2)配置
创建目录,我们将所有input、filter、output配置文件全部放到该目录中。
1.安装nginx: 测试使用的是nginx

rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

[root@es-2-zk-log ~]# yum install -y nginx
将原来的日志格式注释掉定义成json格式:
[root@es-2-zk-log conf.d]# vim /etc/nginx/nginx.conf

log_format  json '{"@timestamp":"$time_iso8601",'
                           '"@version":"1",'
                           '"client":"$remote_addr",'
                           '"url":"$uri",'
                           '"status":"$status",'
                           '"domain":"$host",'
                           '"host":"$server_addr",'
                           '"size":$body_bytes_sent,'
                           '"responsetime":$request_time,'
                           '"referer": "$http_referer",'
                           '"ua": "$http_user_agent"'
               '}';

2.引用定义的json格式的日志:

access_log  /var/log/nginx/access_json.log  json;

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

启动

[root@es-2-zk-log ~]# systemctl start nginx 
[root@es-2-zk-log ~]# systemctl enable nginx

浏览器多访问几次,浏览器多访问几次,因为产生日志,后面的head刷新才会更快
创建上面配置文件里面指定的目录

[root@es-2-zk-log ~]# mkdir -p /usr/local/logstash-6.5.4/etc/conf.d
[root@es-2-zk-log ~]# cd /usr/local/logstash-6.5.4/etc/conf.d/  

[root@es-2-zk-log conf.d]# vim input.conf #—在下面添加

input {                        #让logstash可以读取特定的事件源。
    file {                                       #从文件读取
    path => ["/var/log/nginx/access_json.log"]        #要输入的文件路径
#   code => "json"               #定义编码,用什么格式输入和输出,由于日志就是json格式,这里不用再写

        type => "shopweb"                       #定义一个类型,通用选项. 用于激活过滤器

    }
}
output {           #输出插件,将事件发送到特定目标
    elasticsearch {            #输出到es
    hosts => ["192.168.246.234:9200"]       #指定es服务的ip加端口
    index => ["%{type}-%{+YYYY.MM.dd}"]     #引用input中的type名称,定义输出的格式
    }
}

启动:

[root@es-2-zk-log conf.d]# cd /usr/local/logstash-6.5.4/
[root@es-2-zk-log logstash-6.5.4]# nohup bin/logstash -f etc/conf.d/  --config.reload.automatic &

这里提示一下 启动比较慢,稍微耐心等下,看看日志有没有报错,如果报错,大部分是配置文件写错拉,查看一下,如果还是报错,把解压的文件删除,从新解压一下从新开始做

查看日志出现:
[root@es-2-zk-log logstash-6.5.4]# tail -f nohup.out
 

[2019-08-04T01:39:24,671][INFO ][logstash.outputs.elasticsearch] Attempting to install template {:manage_template=>{"template"=>"logstash-*", "version"=>60001, "settings"=>{"index.refresh_interval"=>"5s"}, "mappings"=>{"_default_"=>{"dynamic_templates"=>[{"message_field"=>{"path_match"=>"message", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false}}}, {"string_fields"=>{"match"=>"*", "match_mapping_type"=>"string", "mapping"=>{"type"=>"text", "norms"=>false, "fields"=>{"keyword"=>{"type"=>"keyword", "ignore_above"=>256}}}}}], "properties"=>{"@timestamp"=>{"type"=>"date"}, "@version"=>{"type"=>"keyword"}, "geoip"=>{"dynamic"=>true, "properties"=>{"ip"=>{"type"=>"ip"}, "location"=>{"type"=>"geo_point"}, "latitude"=>{"type"=>"half_float"}, "longitude"=>{"type"=>"half_float"}}}}}}}}

在浏览器中访问本机的nginx网站

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 然后去head插件页面查看是否有shopweb索引出现

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

发现之后,去配置kibanna添加索引

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 

可以根据某个特定的值,来查看记录,比如

多刷新几次本机的nginx页面,可以看到相应的日志记录

 2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 也可以选择什么时间刷新的,还可以查看以往的,特定日期的

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

收集Tomcat日志,配置文件已提供

想收集其他应用的日志都可以的,思路是一样的
首先,你想收集那个web应用的日志,要先安装部署Logstash
我这里是直接,用我的第二台机器使用拉,安装拉一个tomcat

[root@es-2-zk-log logstash-6.5.4]# cat etc/conf.d/tomcat.conf
直接在配置文件多写一个配置文件 vim tomcat.conf
这个是第一种方法,写多个conf

input {
    file {
      path => "/usr/local/tomcat/logs/localhost_access_log*.txt"
      type => "tomcat"
#      start_position => "beginning"
#      stat_interval => "2"
    }
}

output {
    elasticsearch {
      hosts => ["196.196.196.44:9200"]
      index => ["%{type}-%{+YYYY.MM.dd}"]
    }
}

第二种方法

input {                        #让logstash可以读取特定的事件源。
    file {                                       #从文件读取
    path => ["/var/log/nginx/access_json.log"]        #要输入的文件路径
#   code => "json"               #定义编码,用什么格式输入和输出,由于日志就是json格式,这里不用再写
        type => "shopweb"                       #定义一个类型,通用选项. 用于激活过滤器

    }
}
input {
    file {
      path => "/usr/local/tomcat/logs/localhost_access_log*.txt"
      type => "tomcat"
      start_position => "beginning"
            stat_interval => "2"
          }
         }
output {
    elasticsearch {
      hosts => ["196.196.196.44:9200"]
      index => ["%{type}-%{+YYYY.MM.dd}"]
    }
}

写完配置文件,强烈建议先杀死Logstash进程 重新启动

ps-ef |gerp  bashLogstash
找出pid   杀死进程

做出来应该是以下效果:

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统 注意:如果进程关闭,页面将会访问失败,需要重启head,kibana,logstash

注意:如果出不来通过界面提示打开时间管理器,设置时间为本星期

过程: 通过nginx的访问日志获取日志—>传输到logstach ----传输到–elasticsearch–传输到—kibana (通过nginix反代)
注意:如果出现问题

2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统

从上面截图可以看出存在5个unassigned的分片,新建索引blog5的时候,分片数为5,副本数为1,新建之后集群状态成为yellow,其根本原因是因为集群存在没有启用的副本分片,我们先来看一下官网给出的副本分片的介绍:
副本分片的主要目的就是为了故障转移,正如在 集群内的原理 中讨论的:如果持有主分片的节点挂掉了,一个副本分片就会晋升为主分片的角色。

那么可以看出来副本分片和主分片是不能放到一个节点上面的,可是在只有一个节点的集群里,副本分片没有办法分配到其他的节点上,所以出现所有副本分片都unassigned得情况。因为只有一个节点,如果存在主分片节点挂掉了,那么整个集群理应就挂掉了,不存在副本分片升为主分片的情况。

解决办法就是,在单节点的elasticsearch集群,删除存在副本分片的索引,新建索引的副本都设为0。然后再查看集群状态
2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统文章来源地址https://www.toymoban.com/news/detail-405870.html

到了这里,关于2-ELK+ Elasticsearch+head+kibana、企业内部日志分析系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ELK(Elasticsearch+Logstash+Kibana)日志分析系统

    目录 前言 一、ELK日志分析系统概述 1、三大组件工具介绍 1.1 Elasticsearch 1.1.1 Elasticsearch概念 1.1.2 关系型数据库和ElasticSearch中的对应关系 1.1.3 Elasticsearch提供的操作命令 1.2 Logstash 1.2.1 Logstash概念 1.2.2 Logstash的主要组件 1.2.3 Logstash主机分类 1.2.4 Logstash工作过程 1.3 Kiabana 2、

    2024年04月25日
    浏览(46)
  • ELK 企业级日志分析系统的概念、ELK Elasticsearch 集群部署

    1、ELK 简介 ELK平台是一套完整的日志集中处理解决方案,将 ==ElasticSearch、Logstash 和 Kiabana ==三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ElasticSearch 是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。 E

    2024年02月16日
    浏览(49)
  • ELK 企业级日志分析系统(ElasticSearch、Logstash 和 Kiabana 详解)

    目录 一.ELK简介 1.1ELK的概述  1.2ELK的组成 1.2.1 ElasticSearch  1.2.2 Logstash 1.2.3 Kibana   1.2.4 小总结  1.3可以添加其他组件  1.4filebeat 结合 logstash 带来好处 1.5日志处理的步骤   二.Elasticsearch 2.1Elasticsearch概述  2.2Elasticsearch核心概念 2.2.1接近实时(NRT) 2.2.2cluster集群,ES是一个分布式

    2024年02月13日
    浏览(35)
  • 使用 Docker Compose V2 快速搭建日志分析平台 ELK (Elasticsearch、Logstash 和 Kibana)

    ELK 是指 Elasticsearch、Logstash 和 Kibana 这三个开源软件的组合。 Elasticsearch 是一个分布式的搜索和分析引擎,用于日志的存储,搜索,分析,查询。 Logstash 是一个数据收集、转换和传输工具,用于收集过滤和转换数据,然后将其发送到 Elasticsearch 或其他目标存储中。 Kibana 是一个数

    2024年01月20日
    浏览(51)
  • [ELK] ELK企业级日志分析系统

    1.1 ELK 简介与组件 ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ●ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日

    2024年01月21日
    浏览(70)
  • ELK企业级日志分析系统

    目录 一、ELK理论 1、日志服务器 2、ELK日志分析系统 3、日志处理步骤 4、ELK简介 5、为什么要使用ELK 6、完整日志系统基本特征 7、ELK的工作原理 8、总结 二、ELK集群之部署elasticsearch集群部署 1、环境准备 2、部署elasticsearch 软件 2.1 修改elasticsearch 主配置文件 2.3 创建数据存放

    2024年02月02日
    浏览(50)
  • ELK 企业级日志分析系统

    ELK平台是一套完整的日志集中处理解决方案,将 ElasticSearch、Logstash 和 Kiabana 三个开源工具配合使用, 完成更强大的用户对日志的查询、排序、统计需求。 ●ElasticSearch:是基于Lucene(一个全文检索引擎的架构)开发的分布式存储检索引擎,用来存储各类日志。 Elasticsearch 是

    2024年02月07日
    浏览(49)
  • ELK 企业级日志分析系统(二)

    目录 ELK Kiabana 部署(在 Node1 节点上操作) 1.安装 Kiabana 2.设置 Kibana 的主配置文件  3.启动 Kibana 服务 4.验证 Kibana  5.将 Apache 服务器的日志(访问的、错误的)  添加Elasticsearch 并通过 Kibana 显示  Filebeat+ELK 部署 在 filebeat 节点上操作 2.设置 filebeat 的主配置文件  

    2024年02月14日
    浏览(38)
  • ELK 企业级日志分析系统(一)

    服务器数量较少时 使用 rsyslog 或 脚本 收集、分割日志,统一汇总到专门存放日志的日志服务器保存管理。 (查看日志可把需要的日志文件传输到 windows 主机上,使用专业的文本工具打开分析日志) 服务器数量较多时 使用 ELK 收集日志,存储日志,展示日志。 日志主要包括

    2024年02月16日
    浏览(37)
  • ELK 企业级日志分析系统(三)

    定义: zookeeper是一个开源的分布式的,为分布式框架提供协调服务的Apache项目 工作机制: zookeeper从设计模式角度来理解:是以一个基于观察者模式设计的分布式服务管理框架,它复习存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生改变,

    2024年02月15日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包