最近工作需要,开始研究ES,当前ES的最新版本为5.1.1,版本5.0.1以上jdk为1.8,缓存服务器用的redis

本篇会记录ES5.1.1 + Kibana 5.1.1 + es-head插件在Linux环境上安装操作步骤。

首先,去Elastic官网 https://www.elastic.co/downloads  ,下载页有所有Elastic的产品,都是最新的版本(版本号还一致)。

下载完成后,全部解压,使用unzip和tar -xvzf

(一) 首先尝试去启动elasticsearch,到elasticsearch的bin目录下,执行./elasticseharch。

如果遇到下面的错误:

说明是用root账户来启动的,因为ES是没有权限限制的,还可以接收用户的脚本,所有用root账户很不安全,需要新建一个账户来启动。

命令执行如下

# adduser leichunqiong

# passwd leichunqiong

用root 给新建用户赋予权限

1、进入bin目录下执行chmod +x elasticsearch

2、chown leichunqiong.leichunqiong -R /opt/elasticsearch-5.1.1

3、切换到新建用户

# su leichunqiong

4、修改vm.map 限制

vi /etc/sysctl.conf vm.max_map_count=262144

5、进入bin目录 执行./elasticsearch -d &

然后就可以在命令行中用curl http://localhost:9200?pretty  看看输出

此时,ES可以在本地访问,但是用浏览器远程的话,还是无法访问的,因为相应的端口没有打开

进到安装目录/config/elasticsearch.yml,将network.host设置为0.0.0.0并且将访问端口放开

接下来重启es 然后通过浏览器外部访问就可以了

(二) 下一步现在我们来安装logstash

1、解压完成后配置logstash的环境变量

# echo "export PATH=\$PATH:/usr/local/logstash-1.5.4/bin" > /etc/profile.d/logstash.sh
# . /etc/profile
可能会不生效,你可以关掉xshell重新连接

2、启动logstash

2.1 通过-e参数指定logstash的配置信息,用于快速测试,直接输出到屏幕。

# logstash -e "input {stdin{}} output {stdout{}}"            
my name is zhengyansheng.    //手动输入后回车,等待10秒后会有返回结果
Logstash startup completed
2015-10-08T13:55:50.660Z 0.0.0.0 my name is zhengyansheng.
这种输出是直接原封不动的返回...
2.2 通过-e参数指定logstash的配置信息,用于快速测试,以json格式输出到屏幕
# logstash -e 'input{stdin{}}output{stdout{codec=>rubydebug}}'
my name is zhengyansheng.    //手动输入后回车,等待10秒后会有返回结果
Logstash startup completed
{
       "message" => "my name is zhengyansheng.",
      "@version" => "1",
    "@timestamp" => "2015-10-08T13:57:31.851Z",
          "host" => "0.0.0.0"
}
这种输出是以json格式的返回...
3、logstash以配置文件方式启动
# vim logstash-simple.conf 
input { stdin {} }
output {
   stdout { codec=> rubydebug }
}
# logstash -f logstash-simple.conf    //普通方式启动
Logstash startup completed
# logstash agent -f logstash-simple.conf --debug//开启debug模式
Pipeline started {:level=>:debug}
Logstash startup completed
hello world.    //手动输入hello world.
{
       "message" => "hello world.",
      "@version" => "1",
    "@timestamp" => "2015-10-08T14:01:43.724Z",
          "host" => "0.0.0.0"
}
效果同命令行配置参数一样.. 

4、从redis数据库中读取然后输出到elasticsearch中
# cat logstash-redis.conf
input {
    redis {
        host => '192.168.1.104'  #ip
        data_type => 'list'
        port => "6379"
        key => 'logstash:redis' #自定义
        type => 'redis-input'   #自定义
    }
}
output {
    elasticsearch {
        host => "192.168.1.104"  #ip
        codec => "json"
        protocol => "http"  #版本1.0+ 必须指定协议http
    }
}

(三)

1、修改配置文件

# vim /opt/kibana-5.1.1-linux-x86_
64/config/kibana.yml
elasticsearch_url: "http://192.168.1.104:9200"
2、启动

3、外部访问

(四) 新建maven项目结合logstash

1、加入apender jar包

<dependency>    <groupId>com.cwbase</groupId>    <artifactId>logback-redis-appender</artifactId>    <version>1.1.5</version></dependency>2、配置logback.xml
<configuration>  <property name="type.name" value="" />  <appender name="TEST" class="com.cwbase.logback.RedisAppender">    <source>test-application</source>    <!--type 可定为项目类型-->    <type>${type.name}</type>    <!--redis ip-->    <host>192.168.1.218</host>    <!--redis存放的key-->    <key>logstash:redis</key>    <tags>test-2</tags>    <mdc>true</mdc>    <location>true</location>    <callerStackIndex>0</callerStackIndex>    <!--additionalField添加附加字段 用于head插件显示-->    <additionalField>      <key>MyKey</key>      <value>MyValue</value>    </additionalField>    <additionalField>      <key>MySecondKey</key>      <value>MyOtherValue</value>    </additionalField>  </appender>  <!--日志输出-->  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">      <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>      <!--日志回滚周期30天-->      <maxHistory>30</maxHistory>    </rollingPolicy>    <!-- <encoder>       <pattern>%logger{15} - %message%n%xException{5}</pattern>     </encoder>-->    <encoder>      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} %-4relative [%thread] %-5level %logger{35} %caller{3} - %msg%n%xException{5}</pattern>    </encoder>

  </appender>

  <logger name="application" level="DEBUG" />

  <root level="DEBUG">    <appender-ref ref="STDOUT" />    <appender-ref ref="TEST" />  </root>

</configuration>3、写测试类,然后到kinana上边就可以看到你的日志啦

(五) 可以将kibana替换elasticsearch-head插件进行页面展示,elasticsearch-head是一个elasticsearch的集群管理工具

插件安装方法1:
1.elasticsearch/bin/plugin -install mobz/elasticsearch-head
2.运行es
3.打开http://192.168.1.104:9200/_plugin/head/
插件安装方法2:
1.https://github.com/mobz/elasticsearch-head下载zip 解压
2.建立elasticsearch-1.0.0\plugins\head\_site文件
3.将解压后的elasticsearch-head-master文件夹下的文件copy到_site
4.运行es
5.打开http://192.168.1.104:9200/_plugin/head/

 

转载于:https://www.cnblogs.com/Leiwang/p/6278329.html

ELK+logback搭建日志系统相关推荐

  1. ELK结合logback搭建日志中心

    ELK简介ELKStack即Elasticsearch + Logstash + Kibana.日志监控和分析在保障业务稳定运行时,起到了很重要的作用.比如对nginx日志的监控分析,nginx是有日 ...

  2. 【产品环境】使用ELK搭建日志系统

    为什么80%的码农都做不了架构师?>>>    随着业务不断完善与发展,日志的重要性稳步上升.我们需要从日志中排查错误,以及分析用户行为,为业务发展提供参考意见.因此,需要一套专门的 ...

  3. 快速搭建日志系统——ELK STACK

    什么是ELK STACK ELK Stack是Elasticserach.Logstash.Kibana三种工具组合而成的一个日志解决方案.ELK可以将我们的系统日志.访问日志.运行日志.错误日志等进 ...

  4. 抛弃ELK!Loki日志系统详解!

    背景 最近,在对公司容器云的日志方案进行设计的时候,发现主流的ELK或者EFK比较重,再加上现阶段对于ES复杂的搜索功能很多都用不上最终选择了Grafana开源的Loki日志系统,下面介绍下Loki的 ...

  5. 使用XLog、Spring-Boot、And-Design-Pro搭建日志系统

    一.前言:移动端为什么要三方日志系统 日志系统用于记录用户行为和数据以及崩溃时的线程调用栈,以帮助程序员解决问题,优化用户体验. iOS系统就有自带Crash收集应用程序"ReportCra ...

  6. 使用ElasticSearch搭建日志系统

    如果: • 你有很多台机器 • 你有各种各样的Log 只要满足这两个条件其中之一,那么一套日志系统是很有必要的.优秀的日志系统可以让你及时发现问题,轻松追查故障原因,进而提高生产力. 本文简单介绍一下 ...

  7. Logback+ELK+SpringBoot搭建日志收集服务器

    前言 本文重点介绍Logback和ELK和SpringBoot是怎么整合收集日志的 关于ELK的说明和安装可以点击查看ELK(Elasticsearch.Logstash.Kibana)安装, htt ...

  8. 深度学习核心技术精讲100篇(四十八)-TB级的日志监控系统很难?带你使用ELK轻松搭建日志监控系统

    前言 本文主要介绍怎么使用 ELK Stack 帮助我们打造一个支撑起日产 TB 级的日志监控系统.在企业级的微服务环境中,跑着成百上千个服务都算是比较小的规模了.在生产环境上,日志扮演着很重要的角色 ...

  9. ELK快速搭建日志平台(基于7.9.3)

    经过上两篇的安装学习,我们将这些软件都已安装: cent os7 安装elasticsearch-7.9.3(伪集群)和kibana-7.9.3 安装logstash-7.9.3和filebeat-7 ...

最新文章

  1. svn的使用(转载)
  2. Spring3 文件上传
  3. git status 不能显示中文
  4. golang的reflection(转)(一)
  5. 【nacos系列】nacos配置中心管理实战
  6. 桂林理工大学 2020秋程序设计实践课程 课程设计与实习报告
  7. Lua包管理工具Luarocks
  8. 运用ArcGIS对图像进行二值化处理
  9. 知途云仓2.0 淘宝礼品一件代发php源码
  10. Postgresql 学习记录,模式,分区表,触发器,事务,窗口函数,视图,建表,约束等
  11. 【数据库系统概论】基础知识总结
  12. windows10关闭系统更新方法总结
  13. C#按钮添加图片的解决
  14. CGB2109-Day10-mybatis
  15. UI设计技巧讲解之PS水墨泼墨效果制作
  16. 2-2_Selecting_data_and_analysis_part1
  17. 专科生要怎么做才能进入阿里巴巴、百度、腾讯这样的公司?
  18. 【Java面试宝典】1000+面试题附答案详解,最全面详细
  19. 淘宝app无法抓包问题
  20. 计算机操作系统及编程语言简介

热门文章

  1. 防止私自接交换机_防止私接家用路由器干扰DHCP功能,禁止用户手动设置IP地址-肖哥...
  2. 只腐蚀毛刺 腐蚀算法_避坑干货!8大卫浴五金选购指南,只买对的不买贵的
  3. html5 jq图片效果,HTML5 jQuery可左右滑动拖拉的照片处理前后对比界面
  4. c语言整数检验,C程序整数缺陷的检测与修复
  5. python 函数前有一个下划线_【Python】怎么写好一个 Python 函数?
  6. xml和java用户管理系统_XMLBeans首页、文档和下载 - XML-Java绑定工具 - OSCHINA - 中文开源技术交流社区...
  7. java 过滤文件名_Java FileNameFilter过滤文件名
  8. linux sed p变量,Linux sed 命令详解系列教程之各种问题解决
  9. 进程间通信--信号(SIG)
  10. 【设计模式】C++单例模式