使用 opendistro for elasticsearch 做为graylog的后端存储
graylog 是一个很不错的日志分析、收集、报警平台,包好了丰富的插件,同时内部的架构设计很不错
input 组件很多,使用stream、pipeline可以方便的进行数据处理,可以同时3.0 对于sidcar 的支持更好了,内部强大的
dashboard 以及查询能力,可以方便的进行常见系统的性能分析。
以下测试下opendistro for elasticsearch 与graylog 的集成,同时测试下功能的兼容性
环境准备
- docker-compose 文件
version: '3'
services:
mongodb:
image: mongo:3
networks:
- odfe-net
elasticsearch:
image: amazon/opendistro-for-elasticsearch:0.8.0
container_name: elasticsearch
environment:
- opendistro_security.ssl.http.enabled=false
- cluster.name=odfe-cluster
- bootstrap.memory_lock=true # along with the memlock settings below, disables swapping
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" # minimum and maximum Java heap size, recommend setting both to 50% of system RAM
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- odfe-data1:/usr/share/elasticsearch/data
ports:
- 9200:9200
- 9600:9600 # required for Performance Analyzer
networks:
- odfe-net
odfe-node2:
image: amazon/opendistro-for-elasticsearch:0.8.0
container_name: odfe-node2
environment:
- opendistro_security.ssl.http.enabled=false
- cluster.name=odfe-cluster
- bootstrap.memory_lock=true
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.zen.ping.unicast.hosts=elasticsearch
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- odfe-data2:/usr/share/elasticsearch/data
networks:
- odfe-net
kibana:
image: amazon/opendistro-for-elasticsearch-kibana:0.8.0
container_name: odfe-kibana
ports:
- 5601:5601
expose:
- "5601"
environment:
ELASTICSEARCH_URL: http://elasticsearch:9200
networks:
- odfe-net
graylog:
image: graylog/graylog:3.0
environment:
# CHANGE ME (must be at least 16 characters)!
- GRAYLOG_PASSWORD_SECRET=somepasswordpepper
# Password: admin
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
- GRAYLOG_ELASTICSEARCH_HOSTS=http://admin:admin@elasticsearch:9200 # 连接方式使用basic auth
links:
- mongodb:mongo
networks:
- odfe-net
depends_on:
- mongodb
ports:
# Graylog web interface and REST API
- 9000:9000
# Syslog TCP
- 1514:1514
# Syslog UDP
- 1514:1514/udp
# GELF TCP
- 12201:12201
# GELF UDP
- 12201:12201/udp
volumes:
odfe-data1:
odfe-data2:
networks:
odfe-net:
- 启动
docker-compose up -d
测试&&查询
- 登录
open http://localhost:9000
账户 admin admin
- 添加一个input
使用场景的GELF HTTP input

graylog 3.0 一些新的input 组件 
- push 数据
curl -X POST -H 'Content-Type: application/json' -d '{ "version": "1.1", "host": "dalongdemo.org", "short_message": "A short message app demo", "level": 5, "_some_info": "foo" }' 'http://localhost:12201/gelf'
- 界面

- 一个简单的dashboard

- sql 查询
graylog 默认创建的索引是以grraylog 开头的,以下为使用sql 查询
GET _opendistro/_sql
{
"query": "select * from graylog_0"
}
效果 
说明
通过简单的测试,我们发现兼容还是不错的,我们可以互相利用,搞一个灵活便捷的日志监控系统
参考资料
https://opendistro.github.io/for-elasticsearch-docs/docs/install/docker/
http://docs.graylog.org/en/3.0/pages/sending_data.html#gelf-via-http
http://docs.graylog.org/en/3.0/pages/sidecar.html
https://github.com/rongfengliang/opendistro-graylog-docker-compose
使用 opendistro for elasticsearch 做为graylog的后端存储的更多相关文章
- cratedb 做为prometheus 的后端存储
prometheus 提供了remote_write 以及remote_read 的数据存储方式,可以帮助我们进行数据的长时间存储.方便查询 cratedb 提供了对应的adapter,可以直接进行适 ...
- 在 Laravel 项目中使用 Elasticsearch 做引擎,scout 全文搜索(小白出品, 绝对白话)
项目中需要搜索, 所以从零开始学习大家都在用的搜索神器 elasiticsearch. 刚开始 google 的时候, 搜到好多经验贴和视频(中文的, 英文的), 但是由于是第一次接触, 一点概念都没 ...
- PHP使用ElasticSearch做搜索
PHP 使用 ElasticSearch 做搜索 https://blog.csdn.net/zhanghao143lina/article/details/80280321 https://www. ...
- 一起来做chrome扩展《本地存储localStorage》
chrome中的本地存储其实也是用的HTML5中localStorage,唯一区别是chrome扩展有自己的localStorage,它属于这个扩展,而不属于一个域名.得用这一点可以很好的处理扩展自己 ...
- 利用php的序列化和反序列化来做简单的数据本地存储
利用php的序列化和反序列化来做简单的数据本地存储 如下程序可以做为一个工具类 /** * 利用php的序列化和反序列化来做简单的数据本地存储 */ class objectdb { private ...
- ElasticSearch入门 第八篇:存储
这是ElasticSearch 2.4 版本系列的第八篇: ElasticSearch入门 第一篇:Windows下安装ElasticSearch ElasticSearch入门 第二篇:集群配置 E ...
- jaeger 使用ElasticSearch 作为后端存储
jaeger 支持es 作为后端存储,这样对于查询.以及系统扩展是比较方便的 使用docker-compose 运行 环境准备 参考项目: https://github.com/rongfenglia ...
- 使用Spring Data ElasticSearch+Jsoup操作集群数据存储
使用Spring Data ElasticSearch+Jsoup操作集群数据存储 1.使用Jsoup爬取京东商城的商品数据 1)获取商品名称.价格以及商品地址,并封装为一个Product对象,代码截 ...
- 用Elasticsearch做大规模数据的多字段、多类型索引检索
本文同时发布在我的个人博客 之前尝试了用mysql做大规模数据的检索优化,可以看到单字段检索的情况下,是可以通过各种手段做到各种类型索引快速检索的,那是一种相对简单的场景. 但是实际应用往往会复杂一些 ...
随机推荐
- 机器学习之朴素贝叶斯&贝叶斯网络
贝叶斯决决策论 在所有相关概率都理想的情况下,贝叶斯决策论考虑基于这些概率和误判损失来选择最优标记,基本思想如下: (1)已知先验概率和类条件概率密度(似然) (2)利用贝叶斯转化为后验概 ...
- 本地pip 源搭建起来
pip install pip2pi pip2tgz target_dir -r requirement.txt 下载想要的本地的py包 /usr/local/python3/bin/dir2pi ...
- Oracle入门之对表内容的dml操作
oracle表的管理--添加数据 使用insert语句向表中插入数据 插入数据基本语法: insert into table[(column [,column...])] values(value [ ...
- c# word interop encrypt with password protect with password
public static void EncryptWithPassword(string unEncryptedWordPath, string password) { Word.Applicati ...
- APP测试报告
招标手机APP测试总结报告 作 者: 日 期: 2016-03-10 文档编号: 002 版 本: Ver 1.0 目 录 1.测试概述 1 1.1. 编写目的 1 1. ...
- H5页面访问java后台进行登录拦截
1.未登录状态下进行拦截,回到登录页面 function judgeLogin(currentPage) { var judge=false; var storage=window.localStor ...
- vue created中初始化属性
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图. mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作
- python3 进行字符串、日期、时间、时间戳相关转换
1.字符串转换成时间戳 2. 日期转换成时间戳
- C#连接字符串
1."Data Source=服务器名; Initial Catalog=数据库; User ID =用户名; Password=密码; Charset=UTF8; " 2.&qu ...
- C\C++控制台程序隐藏方法总结
学习计算机,往往先从Windows环境下学习编程,学习编程,往往从C学起,学习C,往往又从控制台程序学习,何为控制台,就是那个黑框白字的界面.对于这样一个最初认为奇陋无比而现在认为无所不能的编程平台, ...