ELK数据库使用,部署es数据库

2021年3月9日 14点热度 0条评论 来源: 清秋愁上愁

项目一期使用了es数据库,二期需要迁移并在一期基础上添加功能。并且依赖的基础核心服务有所升级。服务器搭建环境基于微软服务器。开发基于一期项目代码(此前未了解)。
在开发以及部署中出现的问题予以记录:

1.ELK的安装使用:
ELK:es+logstash+kibana(都为7.5.1版本),安装命令都是用的公司的bash命令一键安装(都是间接使用的docker安装的),如果自行安装,还是得看教程(我这里只是简单记录安装过程中的大致步骤),安装顺序我是es>kibana>logstash。es安装好后,没有设置账号密码使用curl http://ip:port(端口一般是9200),如果显示了安装信息表明安装成功。

设置了账号密码就使用curl http://user:paasword@ip:port。
kibana安装好后,浏览器中输入http://ip:port(端口一般是5601),如果设置了密码,会有登录界面:
没有设置密码会直接进入kibana界面,

我理解kibana就是以界面的形式为用户展示操作数据。如果出现登录不上的问题,例如Kibana server is not ready yet(这是比较常见的问题),cd到kibana下的config目录,有一个kibana.yml文件,不管路径localhost:9200还是elasticsearch(容器名):9200 都替换成IP地址+9200(还不行,ifconfig命令查看服务器内网ip,试试将ip换为内网ip)。
这是我的kibana配置文件信息:

安装logstash,logstash收集、分析日志插件,底层貌似用的是什么ruby语言实现。
下面是我的一些配置文件信息(在logstash下的config目录下):
logstash.conf:

input { 
  tcp { 
    port => 4560
    codec => json_lines
  }
}
filter { 
  if [request_trace]=="true" { 
    mutate { 
      remove_field => "message"
      remove_field => "mydate"
      remove_field => "@version"
      remove_field => "level"
      remove_field => "level_value"
    }
  }
}
output { 
  if [request_trace]=="true" { 
    stdout { 
      codec => json
    }
    elasticsearch { 
      hosts => ["http://ip:9200"]
      index => "request-trace-%{+YYYY.MM}"
      template => "/usr/share/logstash/config/template.request-trace.json"
      template_name => "request-trace"
      template_overwrite => true
      user => "*******_es"
      password => "123456"
    }
  }
  else { 
    elasticsearch { 
      hosts => ["http://ip:9200"]
      index => "logstash-%{+YYYY.MM}"
      user => "*******_es"
      password => "123456"
    }
  }
}

由三部分组成,input,output,filter,input负责收集日志,并通过filter过滤,最终output输出。
1)首先,input表示数据源,数据源可以有多种形式,可以具体从某个文件,可以从es、redis等数据库。我的这个项目是表示日志数据是通过tcp形式传输,logstash将自己的4560端口暴露出来,codec嘛,字面理解是数据处理格式吧。
2)其次,filter是个过滤器,应该是个可选项(说白了,你可以不配置)。
mutate 对字段做处理 重命名、删除、替换和修改字段。那remove_field的话应该是删除不想要的字段。
3)最后,output把最终得到的日志文件输出,我这里存储到了es数据库中。index就是通过kibana去查看日志的索引。像下面各个月的日志存储在各个索引中,然后可以去具体某个索引中去查找对应的日志。kibana使用方法,还是得看具体教程。

可以参考这篇博文了解logstash配置文件具体含义:logstash配置文件具体含义
logstash.yml:

xpack.monitoring.elasticsearch.hosts: http://ip:9200
xpack.monitoring.elasticsearch.username: "*******_es"
xpack.monitoring.elasticsearch.password: "123456"

后续持续跟进Kibana页面查询操作。。

    原文作者:清秋愁上愁
    原文地址: https://blog.csdn.net/weixin_42561607/article/details/108795089
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。