在文章(【事件中心 Azure Event Hub】使用Logstash消费EventHub中的event时遇见的几种异常(TimeoutException, ReceiverDisconnectedException))中,介绍了使用Logstash连接EventHub时,遇见的两种异常,但是对于如何在Linux环境中安装Logstash,并且配置EventHub设置,启动等,则包含在当前文章中。

安装Logstash

首先在Logstash中选择需要的版本,使用wget下载到当前目录中,如当前使用的版本为最新7.9.1(https://www.elastic.co/downloads/logstash)

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.9.1.tar.gz //下载logstash-7.9.1.tar.gz
 tar xzvf logstash-7.9.1.tar.gz //解压logstash-7.9.1.tar.gz到当前目录

进入Logstash的文件夹中

cd logstash-7.9.1

启动logstash(Logstash的启动文件在安装的版本文件夹中bin目录中)

bin/logstash -e 'input { stdin {} } output { stdout {} }'

启动成功后的结果如:

添加EventHub配置文件

准备条件:

  • 创建好EventHub中的实例(EventHub Namespace -> EventHub Instance), 在Event Hub Instance中获取连接字符串(Share Access Policy)
  • 为Logstash单独创建一个新的消费组
  • 创建好一个Storage Account, 并复制出连接字符串(Azure Portal-> Blob Storage account -> Access keys.)

创建配置文件(如eventhub.conf), 并使用VIM命令编辑内容

echo ""->eventhub.conf

vim eventhub.conf //打开eventhub.conf并编辑内容

在VIM编辑页面,在键盘输入I,是文件进入编辑模式,复制如下内容(关键点替换为准备条件中的内容)

input {
azure_event_hubs {
event_hub_connections => ["Endpoint=sb://xxxx.servicebus.chinacloudapi.cn/;SharedAccessKeyName=test;SharedAccessKey=xxxxxxxx=;EntityPath=xxxxxx"]
threads => 8
decorate_events => true
consumer_group => "xxxx"
storage_connection => "DefaultEndpointsProtocol=https;AccountName=xxx;AccountKey=xxxxxxx=;EndpointSuffix=core.chinacloudapi.cn"
}
} output { stdout {
}
}

然后按住Esc,输入 :wq,然后回车保存内容并退出vim窗口。

使用 -f 并指定配置文件,再次启动Logstash,验证已经连接到EventHub并接受Event。以上步骤,完成的命令如下:

root@lblinuxtest01:/logstash-7.9.1# echo ""->eventhub.conf //创建新文件
root@lblinuxtest01:/logstash-7.9.1# ls
CONTRIBUTORS LICENSE.txt config eventhubtest.conf logs modules x-pack
Gemfile NOTICE.TXT data eventhubwithstorage.conf logstash-core tools
Gemfile.lock bin eventhub.conf lib logstash-core-plugin-api vendor root@lblinuxtest01:/logstash-7.9.1# vim eventhub.conf //编辑文件内容
root@lblinuxtest01:/logstash-7.9.1# ./bin/logstash -f eventhub.conf //使用新的配置文件,启动logstash

启动结果如下:

参考资料

Logstash的Azure Event Hub Plugin文档: https://www.elastic.co/guide/en/logstash/current/plugins-inputs-azure_event_hubs.html

【事件中心 Azure Event Hub】在Linux环境中(Ubuntu)安装Logstash的简易步骤及配置连接到Event Hub的更多相关文章

  1. linux环境中,nginx安装过程

    需求描述: 记录在linux平台,nginx安装的过程. 环境描述: 操作系统:Red Hat Enterprise Linux Server release 6.6 (Santiago) 操作内核版 ...

  2. 【Azure 应用服务】NodeJS Express + MSAL 应用实现AAD集成登录并部署在App Service Linux环境中的实现步骤

    问题描述 实现部署NodeJS Express应用在App Service Linux环境中,并且使用Microsoft Authentication  Library(MSAL)来实现登录Azure ...

  3. 【Azure 应用服务】PHP应用部署在App Service for Linux环境中,上传文件大于1MB时,遇见了413 Request Entity Too Large 错误的解决方法

    问题描述 在PHP项目部署在App Service后,上传文件如果大于1MB就会遇见 413 Request Entity Too Large 的问题. 问题解决 目前这个问题,首先需要分析应用所在的 ...

  4. Linux环境中Openfire安装指南

    Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_ ...

  5. 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术

    本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...

  6. [软件测试]Linux环境中简单清爽的Google Test (GTest)测试环境搭建(初级使用)

    本文将介绍单元测试工具google test(GTEST)在linux操作系统中测试环境的搭建方法.本文属于google test使用的基础教程.在linux中使用google test之前,需要对如 ...

  7. 【VNC】Linux环境VNC服务安装、配置与使用

     [VNC]Linux环境VNC服务安装.配置与使用 2009-06-25 15:55:31 分类: Linux   前言:作为一名DBA,在创建Oracle数据库的过程中一般要使用dbca和netc ...

  8. 全世界最详细的图形化VMware中linux环境下oracle安装(二)【weber出品必属精品】

    <ORACLE 10.2.05版本的升级补丁安装> 首先我们解压 $ unzip p8202632_10205_LINUX.zip 解压后我们会发现多出了个文件夹,他是:Disk1,进入D ...

  9. 全世界最详细的图形化VMware中linux环境下oracle安装(一)【weber出品必属精品】

    安装流程:前期准备工作--->安装ORACLE软件--->安装升级补丁--->安装odbc创建数据库--->安装监听器--->安装EM <前期准备工作> 安装 ...

随机推荐

  1. NSThread线程对象

    NSThread 创建线程的方式 准备在后台线程调用的方法 longOperation: - (void)longOperation:(id)obj { NSLog(@"%@ - %@&qu ...

  2. [LeetCode]1083. 销售分析 II(Mysql,having+if)

    题目 编写一个 SQL 查询,查询购买了 S8 手机却没有购买 iPhone 的买家. 题解 使用having + sum+if,而不是自查询. 代码 # Write your MySQL query ...

  3. [HDU2577]How to Type(DP)

    题目链接 题意 给一个大小写字符串,求最少敲击字符串次数,最开始和最后要求shift都是down的.如日常,大小写转换可以ctrl+z或者shift保持 up/down. 题解 两个dp数组,一个表示 ...

  4. goto 语法在 PHP 中的使用

    在C++.Java及很多语言中,都存在着一个神奇的语法,就是goto.顾名思义,它的使用是直接去到某个地方.从代码的角度来说,也就是直接跳转到指定的地方.PHP中也有这个功能,我们先来看看它是如何使用 ...

  5. 结合源码谈谈ThreadLocal!

    目录 ThreadLocal的作用 ThreadLocal 1.对象初始化 2.获取变量 3.设置变量 4.移除变量 ThreadLocalMap 1.Entry 2.初始化 3.获取Entry 4. ...

  6. JAVA基础之代码简洁之道

    引言 普通的工程师堆砌代码,优秀的工程师优雅代码,卓越的工程师简化代码.如何写出优雅整洁易懂的代码是一门学问,也是软件工程实践里重要的一环.--来自网络 背景 软件质量,不但依赖于架构及项目管理,更与 ...

  7. Python-IndexError: list index out of range

    Error:IndexError: list index out of range Where? 对Python中有序序列进行按索引取值的时候,出现这个异常 Why? 对于有序序列: 字符串 str ...

  8. 00 你的第一个C语言程序

    C语言简介 C 语言是一种通用的.面向过程式的计算机程序设计语言,即编程语言. 为移植和开发 UNIX 操作系统,丹尼斯·里奇于1972年在贝尔电话实验室设计开发了 C 语言的第一个版本. C 语言同 ...

  9. Linux就该这么学28期——Day02 2.1-2.3

    本文记录必须掌握的Linux命令,部分内容引用自https://www.linuxprobe.com/basic-learning-02.html 工作中可使用https://www.linuxcoo ...

  10. ORA-00018: maximum number of sessions exceeded 超出最大会话数

    ORA-00018: maximum number of sessions exceededORA-00018: 超出最大会话数 Cause:       All session state obje ...