宝兴县 乡宁县 隆化县 新巴尔虎右旗 长乐市 乌兰察布市 云南省 乌鲁木齐市 宁城县 施秉县 镇宁 蓝田县 陆良县 邛崃市 龙南县 阳曲县

文章导航软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程软件评测

安卓应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技其它游戏游戏工具

网游dnf活动lol周免英雄lol礼包

手游最新动态手游活动新游预告手游问答

您的位置:单机游戏角色扮演 → 怪物猎人世界新装备介绍 怪物猎人世界新装备新系统一览

指染成婚_ELK入门使用-与springboot集成

标签:紧绷 怎么斗地主

前言

ELK官方的中文文圣墟_2018年最新新闻网档写的已经挺好了,为啥还要记录本文?因为我发现,我如果不写下来,过几天就忘记了,而再次捡起来必然还要经历资料查找筛选测试的过程。虽然这个过程很有意义,但并不总是有那么多时间去做。因此,接下来的内容仅仅是我根据查询到的资料,筛选,组装,测试后达到我的目标的一个过程。

什么是ELK

K我最初还以为是Kafka,事实上,ELK平台是一个完整的日志分析解决方案,由这三个开源工具构建而成:Elasticsearch、Logstash、Kibana。

Elasticsearch用于深度搜索和数据分析,它是基于Apache Lucene的分布式开源搜索引擎,无须预先定义数据结构就能动态地对数据进行索引;

Logstash用于日志集中管理,包括从多台服务器上传输和转发日志,并对日志进行丰富和解析,是一个数据管道,提供了大量插件来支持数据的输入和输出处理;

最后是Kibana,提供了强大而美观的数据可视化,Kibana完全使用HTML和Javascript编写,它利用Elasticsearch 的RESTful API来实现其强大的搜索能力,将结果显示位各种震撼的图形提供给最终的用户。

关系图

安装Elasticsearch

官网下载对应平台的安装包。

Windows用法比较简单,只要下载后双机bin/elasticsearch.bat就启动成功了. 下面关注linux上的安装使用。

ES不允许root运行,所以,最好我们创建专门的用户来运行。

解压后,运行./bin/elasticsearch就会启动成功。如果失败,应该是用root启动的,改成普通用户即可。

然后浏览器访问:http://localhost:9200/ 可以看到响应

{
    "name": "ZSedUub",
    "cluster_name": "elasticsearch",
    "cluster_uuid": "_pS5AOR4Rf2oGPk5uRKK-A",
    "version": {
        "number": "6.2.4",
        "build_hash": "ccec39f",
        "build_date": "2019-08-22T20:37:28.497551Z",
        "build_snapshot": false,
        "lucene_version": "7.2.1",
        "minimum_wire_compatibility_version": "5.6.0",
        "minimum_index_compatibility_version": "5.0.0"
    },
    "tagline": "You Know, for Search"
}

安装Kibana

官网下载对应平台的安装包。然后,解压。
启动:

./bin/kibana

浏览器访问: http://localhost:5601

安装logstash

官网下载对应平台的安装包。然后,解压。

这里采用压缩包的方式,当然也可以使用系统安装包,比如

//ubuntu
sudo apt-get update && sudo apt-get install logstash

centos

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

在/etc/yum.repos.d/ 新建logstash.repo

[logstash-6.x]
name=Elastic repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md


sudo yum install logstash

甚至docker。

修改ruby仓库地址为中国:编辑Gemfile

修改为source "https://gems.ruby-china.org/"

启动: bin/logstash -e "input { stdin { } } output { stdout {} }"

这是一个交互式输入,你输入的内容将被当做message收集起来。

test
{
       "message" => "test",
      "@version" => "1",
    "@timestamp" => 2019-08-22T14:29:09.212Z,
          "host" => "ryan-900X5L"
}

到这里就算安装成功了。

遇到的问题,

Unsupported platform: x86_64-linux

原因是Java9不支持,卸载Java9即可。

安装logstash-codec-json_lines插件

ryan@ryan-900X5L:~/apps/logstash-6.2.4$ ./bin/logstash-plugin install logstash-codec-json_lines
Validating logstash-codec-json_lines
Installing logstash-codec-json_lines
Installation successful

接下来,我们直接编写我们springboot需要的配置方案,新建config/logstash-sample.conf

input {
    tcp {
        port => 4560
        co捷德奥特曼_2018年最新新闻网dec => json_lines
    }
}
output{
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}
  • 4560 是logstash接收数据的端口
  • codec => json_lines是一个json解析器,接收json的数据。这个要装 logstash-codec-json_lines 插件
  • ouput elasticsearch指向我们安装的地址
  • stdout会打印收到的消息,调试用

启动:

./bin/logstash -f config/logstash-sample.conf 

新建一个springboot项目

项目地址: https://github.com/Ryan-Miao/springboot-with-elk

pom

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org.haninsurance.cn/POM/4.0.0" xmlns:xsi="http://www.w3.org.haninsurance.cn/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org.haninsurance.cn/POM/4.0.0 http://maven.apache.org.haninsurance.cn/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.test</groupId>
    <artifactId>springboot-with-elk</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springboot-with-elk</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>


        <dependency>
            <groupId>net.logstash.logback</groupId>
            <artifactId>logstash-logback-encoder</artifactId>
            <version>5.1</version>
        </dependency>


        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

新建启动类


@SpringBootApplication
public class SpringbootWithElkApplication implements CommandLineRunner {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootWithElkApplication.class, args);
    }

    @Override
    public void run(String... args) throws Exception {
        Logger logger = LoggerFactory.getLogger(SpringbootWithElkApplication.class);
        logger.info("测试log");

        for (int i = 0; i < 10; i++) {
            logger.error("something wrong. id={}; name=Ryan-{};", i, i);
       金田一少年事件簿_2018年最新新闻网 }
    }
}

在resources下新建logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
  <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
    <destination>localhost:4560</destination>
    <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
  </appender>

  <include resource="org/springframework/boot/logging/logback/base.xml"/>

  <root level="INFO">
    <appender-ref ref="LOGSTASH" />
    <appender-ref ref="CONSOLE" />
  </root>美食的俘虏_2018年最新新闻网;

</configuration>

启动。然后就可以观察到,logsash控制台打印我们的日志

{
       "@version" => "1",
    "thread_name" => "restartedMain",
        "message" => "something wrong. id=9; name=Ryan-9;",
    "logger_name" => "com.test.springbootwithelk.SpringbootWithElkApplication",
    "level_value" => 40000,
     "@timestamp" => 2019-08-22T15:21:05.109Z,
           "host" => "localhost",
         众泰_2018年最新新闻网 "level" => "ERROR",
           "port" => 34902
}

在kibana- management - index pattern里新建一个pattern,我们就用*吧。创建好了,点击discover。就可以看到我们的日志了

到这里,hello world完成。当然还要继续高级配置和查询啥的,后面再说。

参考

当前文章:http://www-zaieyi-com.haninsurance.cn/d6m5gg/b5d1e_153163.html

发布时间:2019-08-22 02:57:26

银河国际手机网址2949  澳门银河娱乐yh163am.com  澳门银河手机网站俄罗斯红场5月4日至9日将关闭参观  官微雷人回复是自动回复?"贵池区人民政府发布"致歉信曝光  澳门银河2949所有网址  2949.com澳门银河娱乐  银河娱乐手机官网  银河优越会下载  银河娱乐在线官方网址  澳门银河www66356com  

相关阅读 黑龙江赏花观鸟正逢时马云:脱贫是给人以希望,不仅仅是给人以钱财任天堂英国上线《宝可梦》新作相关页面:玩家可订阅最新资讯微软尴尬!32GB Windows笔记本电脑店现场“空间不足”甘肃庆阳镇干部杀死8旬老人后焚尸 官方:找人“替死”制造假象从《致加西亚的信》看项目管理VOSS矿泉水,生活需要精致和奢华

文章评论
发表评论

热门文章 360 N7手机月岩白终于来了:明日预约,6月3日开卖上海一民办幼儿园多名幼儿面部被划伤 涉事老师被刑拘园长被免职一线|菜鸟将在世界5城市建设物流枢纽 杭州成为国内首个试验田助力ASP.NET Core 2.1开发!Layx 企业级弹窗插件发布!

最新文章 河南西峡县一钢厂发生安全事故 已致15人受伤iOS限免App精选:文件扫描宝 - OCR 文档证件一站式管理 公务员考试天价培训现象泛滥 背后或存权钱交易阿富汗首都内政部大楼附近发生枪战 10名袭击者被消灭《食戟之灵》264话图透:男主出征讨逆 大小姐威严坐镇腾讯股票现大宗交易:每股396.50港元成交25万股

人气排行 微信再次新增四类禁发信息和外链,腾讯要干嘛?美“赌城”厨师服务员要罢工:担心工作被机器人抢走蔚来汽车联合创始人:和江淮关系融洽,蔚来汽车的交付很快开始Axios源码深度剖析 - AJAX新王者OPPO国内操盘手沈义人:曾是小米社区运营人员环境整治 江苏今年放大招