首页 > 其他分享 >Grafana+OpenSearch+Spring Boot集成(一) 【基础环境配置】

Grafana+OpenSearch+Spring Boot集成(一) 【基础环境配置】

时间:2022-11-22 23:34:59浏览次数:74  
标签:node OpenSearch opensearch Spring grafana docker Grafana data

先决条件

1、环境

2、 知识准备

  • 了解如何使用Docker
  • 了解Open Search或Elastic Search

安装

由于Grafana和OpenSearch都提供了Docker的安装方式,且基于OpenSearch支持集群,所以采用docker-compose的方式进行安装。
参考:

1、创建docker-compose.yml文件,然后添加Grafana和Opensearch的配置

version: '3'
services:
  #opensearch 集群 节点1
  opensearch-node-1:
    #如果java jdk版本是1.8,则需要安装1.3+的版本
    #参考:https://opensearch.org/docs/2.3/opensearch/install/compatibility/
    image: opensearchproject/opensearch:1.3.3
    container_name: opensearch-node-1
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node-1
      - discovery.seed_hosts=opensearch-node-1,opensearch-node-2
      - cluster.initial_master_nodes=opensearch-node-1,opensearch-node-2
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
      - "DISABLE_SECURITY_PLUGIN=true" #禁用安全插件,这样可以免密登录
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536 # 为OpenSearch用户打开的最大文件数,设置为至少65536
        hard: 65536
    volumes:
      # 挂载数据到本地
      - opensearch-data-1:/usr/share/opensearch/data
    ports:
      - 9200:9200
      - 9600:9600
    expose:
      - 9200
      - 9600
    networks:
      # 所有节点配置的网络都为同一个,这样访问其他容器服务时可以直接用node名称作为domain
      - opensearch-grafana-network
  # opensearch 集群 节点2,配置同节点1
  opensearch-node-2:
    image: opensearchproject/opensearch:1.3.3
    container_name: opensearch-node-2
    environment:
      - cluster.name=opensearch-cluster
      - node.name=opensearch-node-2
      - discovery.seed_hosts=opensearch-node-1,opensearch-node-2
      - cluster.initial_master_nodes=opensearch-node-1,opensearch-node-2
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m"
      - "DISABLE_SECURITY_PLUGIN=true"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    volumes:
      - opensearch-data-2:/usr/share/opensearch/data
    networks:
      - opensearch-grafana-network
  # opensearch仪表盘,可以使用它的dev tool来可视化查看数据
  # 如果不需要,这一段可以注释掉
  opensearch-dashboards-1:
    image: opensearchproject/opensearch-dashboards:1.3.3
    container_name: opensearch-dashboards
    ports:
      - 5601:5601
    expose:
      - "5601"
    environment:
      - 'OPENSEARCH_HOSTS=["http://opensearch-node-1:9200","http://opensearch-node-2:9200"]'
      - "DISABLE_SECURITY_DASHBOARDS_PLUGIN=true"
    networks:
      - opensearch-grafana-network
  # grafana 配置
  grafana:
    image: grafana/grafana:latest
    ports:
      - 3000:3000
    volumes:
      - grafana-data-1:/var/lib/grafana
    environment:
      - TERM=linux
      - "GF_RENDERING_CALLBACK_URL=http://grafana:3000/"
    networks:
      - opensearch-grafana-network

volumes:
  opensearch-data-1:
  opensearch-data-2:
  grafana-data-1:

networks:
  opensearch-grafana-network:

2、在启动docker容器之前,确保docker-desktop分配的内存大于4GB,否则启动OpenSearch会报错。如果使用的WSL 2, 参考:https://blog.csdn.net/z2431435/article/details/123316551

3、打开命令行或者powershell运行 docker-compose up -d (-d表示后台启动)。第一次运行时会先拉取镜像,可能会耗费较长时间,需要耐心等待

测试

1、容器创建完毕后,访问http://localhost:3000,用默认的账号密码 admin/admin 登录Grafana,登录后可以根据需要修改密码

2、接着访问http://localhost:5601,打开Opensearch Dashboard添加一些示例数据进行测试。先点击 Add data

3、可以随便选择3个示例数据中的一个,这里选择了第二个,因为它提供了时间戳字段,方便grafana进行可视化

4、在Grafana首页,找到左侧设置,点击Data sources, 添加一个新的数据源

5、OpenSearch兼容ElasticSearch,这里可以直接选择ElasticSearch的数据源

6、Name自定义,URL填写OpenSearch集群中第一个节点的地址,即 http://opensearch-node-1:9200。这里opensearch-node-1为第一个节点的容器名称。由于docker配置时禁用了Opensearch的安全插件,Auth的配置项不需要填写

7、转到 OpenSearch Dashboard,打开Dev Tools

8、在工具的左侧,输入GET _cat/indices查询所有的索引,复制之前添加的示例数据的索引

9、然后继续查询该索引下的全部字段,找到date类型的字段名称,这里为timestamp

10、在Grafana 数据源的Elasticsearch details配置项中,填入示例数据的index名称;Time field name填入timestamp;Elasticsearch version选择8.0+的版本,然后点击 “Save & Test按钮”,出现Index OK提示表示数据源配置成功

11、点击Dashboards - New Dashboard,创建一个新的仪表盘

12、然后点击Add a new panel,进入panel的编辑页面,将左下角的data source切换成前面配置的数据源。然后可以点击左上角的保存按钮,保存仪表盘设置。

13、保存后的仪表盘可以在Dashboard - Browse中找到

参考:https://www.elastic.co/cn/what-is/opensearch

标签:node,OpenSearch,opensearch,Spring,grafana,docker,Grafana,data
From: https://www.cnblogs.com/rachel-x/p/16836472.html

相关文章

  • Spring Cloud LoadBalancer 如何指定服务使用指定负载均衡策略
    当系统中有多个服务A,B,C时默认使用轮询策略当我们A服务需要使用指定IP策略时只需要在springboot代码中使用注解@LoadBalancerClients(value={@LoadBalancerClient......
  • Spring Security笔记
    这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战SpringSecurity简介SpringSecurity是一种高度自定义的安全框架,利用(基于)SpringIOC/DI和AOP功能,为系统......
  • 日志监控平台搭建(Loki+promtail+grafana)
    搭建Loki+promtail+grafana日志监控平台,可以直接在grafana的UI界面查看系统应用日志,使日志查看起来更方便、快捷。   Loki:主服务器,负责存储日志和处理查询。......
  • 基于springboot和vue的IT内部电脑报修服务系统设计与实现-计算机毕业设计源码+LW文档
    it内部设备服务系统设计与实现摘要it内部设备服务系统将传统的网络服务方式与最新的互联网技术相结合,使用方便快捷,有利于设备维修部门规范管理,提高网络维修部门的工作效......
  • 基于springboot“漫画之家”系统设计与实现-计算机毕业设计源码+LW文档
    摘要随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各......
  • Spring Data(数据)Redis
    版本3.0.0SpringDataRedis项目通过使用键值样式数据存储将核心Spring概念应用于解决方案的开发。我们提供了一个“模板”作为发送和接收消息的高级抽象。您可能会注......
  • Spring Data(数据)R2DBC
    版本3.0.0SpringDataR2DBC项目将Spring的核心概念应用于开发使用关系数据库R2DBC​驱动程序的解决方案。我们提供了用于存储和查询行的高级抽象。​​DatabaseClient​......
  • 关于Spring注解的基础详解(补充上次并不清楚的内容)
    注解,需要在.xml文件里面加这么一句话:<context:component-scanbase-package=""/>(组件)Component注解主要用于接口的实现类里面,代替掉.xml文件里面的这句话:(主要作用:代替......
  • 再次打开Spring界面,多处报错
    分享一下经历在我再次打开Srpring之后,打算解决一下“历史遗留问题”,发现多处标红(挺崩溃的)!就比如这句话,刚才就是不亮:毕竟我上次的应用还是很顺利的,所以也就没有第一时间......
  • SpringMVC乱码
    <!--配置中文乱码过滤器--><filter><filter-name>characterEncodingFilter</filter-name><filter-class>org.springframework.web.......