第三章·Logstash入门-部署与测试
1.Logstash环境准备与安装
| Logstash环境准备 |
关闭防火墙
#CentOS6 关闭防火墙
[root@elkstack01 ~]# /etc/init.d/iptables stop
#CentOS7 关闭防火墙
[root@elkstack01 ~]# systemctl stop firewalld
关闭SELINUX
#临时关闭
[root@elkstack01 ~]# setenforce 0
setenforce: SELinux is disabled
#永久关闭
[root@elkstack01 ~]# vim /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled ==> //原来是enforcing 改成disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
设置epel源
#CentOS6 下载epel源
[root@elkstack01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
#CentOS7 下载epel源
[root@elkstack01 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
修改时区
#将时区修改为上海时区
[root@elkstack01 ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp:是否覆盖"/etc/localtime"? y
设置时间同步
#同步服务器时间(切记保证集群之间时间一致非常重要)
[root@elkstack01 ~]# ntpdate time1.aliyun.com
28 Feb 14:11:28 ntpdate[8904]: step time server 203.107.6.88 offset 3168820.831817 sec
| 部署Logstash |
Logstash是一个开源的数据收集引擎,可以水平伸缩,而且logstash整个ELK当中拥有最多插件的一个组件,其可以接收来自不同来源的数据并统一输出到指定的且可以是多个不同目的地。
安装JDK环境
下载地址: http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
#解压JDK安装包
[root@elkstack01 ~]# tar xf jdk-8u121-linux-x64.tar.gz
#将JDK安装包移动到安装目录下
[root@elkstack01 ~]# mv jdk1.8.0_121 /usr/local/
#做软链接(方便日后升级)
[root@elkstack01 ~]# ln -s /usr/local/jdk1.8.0_121 /usr/local/jdk1.8
#添加环境变量
[root@elkstack01 ~]# vim /etc/profile.d/jdk1.8.sh
export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
#加载环境变量
[root@elkstack01 ~]# source /etc/profile
#检查是否加载成功
[root@elkstack01 ~]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
安装Logstash
下载地址: https://www.elastic.co/downloads/past-releases/logstash-5-3-0
#安装Logstash使用yum localinstall 自动安装依赖包
[root@elkstack03 ~]# yum localinstall -y logstash-5.3.0.rpm
#给Logstash目录授权
[root@elkstack03 ~]# chown -R logstash.logstash /usr/share/logstash/
2、Logstash输入输出插件介绍
| INPUT、OUTPUT插件 |
INPUT:插件使Logstash能够读取特定的事件源。
OUTPUT:插件将事件数据发送到特定的目的地,OUTPUT是事件流水线中的最后阶段。
| INPUT支持事件源 | OUTPUT支持输出源 | CODEC编解码器支持编码 |
|---|---|---|
| azure_event_hubs(微软云事件中心) | elasticsearch(搜索引擎数据库) | avro(数据序列化) |
| beats(filebeat日志收集工具) | email(邮件) | CEF(嵌入式框架) |
| elasticsearch(搜索引擎数据库) | file(文件) | es_bulk(ES中的bulk api) |
| file(文件) | http(超文本传输协议) | Json(数据序列化、格式化) |
| generator(生成器) | kafka(基于java的消息队列) | Json_lines(便于存储结构化) |
| heartbeat(高可用软件) | rabbitmq(消息队列 OpenStack) | line(行) |
| http_poller(http api) | redis(缓存、消息队列、NoSQL) | multiline(多行匹配) |
| jdbc(java连接数据库的驱动) | s3*(存储) | plain(纯文本,事件间无间隔) |
| kafka(基于java的消息队列) | stdout(标准输出) | rubydebug(ruby语法格式) |
| rabbitmq(消息队列 OpenStack) | tcp(传输控制协议) | |
| redis(缓存、消息队列、NoSQL) | udp(用户数据报协议) | |
| s3*(存储) | ||
| stdin(标准输入) | ||
| syslog(系统日志) | ||
| tcp(传输控制协议) | ||
| udp(用户数据报协议) |
3.Logstash输入输出插件测试
| 测试logstash标准输入到标准输出 |
#从标准输入到标准输出
[root@elkstack03 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin{} } output { stdout{ codec => rubydebug }}'
#标准输入zls test及返回结果
zls test
{
#时间戳
"@timestamp" => 2019-03-05T09:41:40.198Z,
#版本信息
"@version" => "1",
#主机
"host" => "0.0.0.0",
#接收信息
"message" => "zls test"
}
结果展示如下图所示:

| 测试logstash标准输入到文件 |
#从标准输入到文件中
[root@elkstack03 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin{} } output { file { path => "/tmp/test_%{+YYYY.MM.dd}.log"}}'
#输入bgx ugly
bgx ugly
#返回结果
19:10:00.303 [[main]>worker0] INFO logstash.outputs.file - Opening file {:path=>"/tmp/test_2019.03.05.log"}
#查看tmp目录下是否有日志文件存在
[root@elkstack03 ~]# ll /tmp/
总用量 4
-rw-r--r-- 1 root root 95 3月 5 19:10 test_2019.03.05.log
#查看日志内容
[root@elkstack03 ~]# cat /tmp/test_2019.03.05.log
{"@timestamp":"2019-03-05T11:10:00.235Z","@version":"1","host":"0.0.0.0","message":"bgx ugly"}
结果展示如下图所示:


| 测试logstash标准输入到ES |
#从标准输入到Elasticsearch
[root@elkstack03 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin{} } output { elasticsearch {hosts => ["10.0.0.51:9200"] index => "zls_%{+YYYY.MM.dd}" }}'
#输入内容
zls test stdin to ES
#在Elasticsearch中查看数据结果
[root@elkstack01 ~]# ll /data/elk/data/nodes/0/indices/
总用量 8
drwxr-xr-x 9 elasticsearch elasticsearch 4096 3月 5 17:19 C8o7IxEVR2W7CpPFFCa4cA
drwxr-xr-x 9 elasticsearch elasticsearch 4096 3月 5 19:35 R8IZGhT4Sw2XukCiG1O02A
结果展示如下图所示:


打开浏览器,访问:http://10.0.0.51:9100
第三章·Logstash入门-部署与测试的更多相关文章
- 第三章 Docker 入门
第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...
- (入门篇 NettyNIO开发指南)第三章-Netty入门应用
作为Netty的第一个应用程序,我们依然以第2章的时间服务器为例进行开发,通过Netty版本的时间服务报的开发,让初学者尽快学到如何搭建Netty开发环境和!运行Netty应用程序. 如果你已经熟悉N ...
- 第一章· Redis入门部署及持久化介绍
Redis简介 Redis安装部署 Redis持久化 Redis简介 软件说明: Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品. ...
- Android深度探索HAL与驱动开发 第三章 Git入门
Git功能十分复杂,简单来说它使你的开发更为快捷和可控,尤其是在开源项目上展现的友好的交互和回馈. 熟悉一些git指令操作对开发者的帮助可以避免开发者受到一些外在因素打断开发进度,甚至延误项目的che ...
- 第三章 Netty入门应用
3.1 Netty开发环境的搭建 3.1.1 下载Netty的软件包 3.1.2 搭建Netty应用工程 3.2 Netty服务端开发 3.3 Netty客户端开发 3.4 运行和调试 3.4.1 服 ...
- 第三章 logstash - 输入插件之tcp与redis
常用的输入插件: tcp redis 一.tcp 1.用法 input { tcp { port => 4560 codec => json_lines mode => server ...
- 消息中间件kafka+zookeeper集群部署、测试与应用
业务系统中,通常会遇到这些场景:A系统向B系统主动推送一个处理请求:A系统向B系统发送一个业务处理请求,因为某些原因(断电.宕机..),B业务系统挂机了,A系统发起的请求处理失败:前端应用并发量过大, ...
- 第三章 通过java SDK 实现个性化智能合约的部署与测试
想了解相关区块链开发,技术提问,请加QQ群:538327407 前提 已经部署好底层,外网可以正常请求访问. 正常流程 1.基础合约处理 https://fisco-bcos-documentatio ...
- 脚本语言丨Batch入门教程第三章:逻辑判断
通过学习Batch入门教程的前两章内容,我们已经大致掌握了基本概念和认识变量的相关内容,今天我们要跟大家继续分享第三章内容:Batch入门教程之逻辑判断. 前期回顾 ◀Batch入门教程丨部署与H ...
随机推荐
- Kafka消息流处理
- rsync+inotify实时数据同步
没有实际的用过,先mark一下,后面实践. https://www.osyunwei.com/archives/7447.html 一.为什么要用Rsync+sersync架构? 1.sersync是 ...
- 语音文件 pcm 静默(静音)判断
转载:http://www.voidcn.com/relative/p-fwdkigvh-bro.html pcm 文件存储的是 原始的声音波型二进制流,没有文件头. (1)首先要确认 pcm文件的每 ...
- CentOS8 使用 aliyun 阿里云 镜像站点的方法
CentOS8现已可使用国内的aliyun阿里云镜像站,方法如下: 用cd命令切换到yum.repos目录,备份原始的3个repo文件:cd /etc/yum.repos.d/sudo cp Cent ...
- 【JVM学习笔记】字节码文件结构
https://www.cnblogs.com/heben/p/11468285.html 比这篇笔记更好一点 新建一个Java类 package com.learn.jvm; public cla ...
- Kafka如何保证百万级写入速度以及保证不丢失不重复消费
一.如何保证百万级写入速度: 目录 1.页缓存技术 + 磁盘顺序写 2.零拷贝技术 3.最后的总结 “这篇文章来聊一下Kafka的一些架构设计原理,这也是互联网公司面试时非常高频的技术考点. Kafk ...
- #Java第三周总结
第三周实验题目+总结 第一题:打印输出所有的"水仙花数",所谓"水仙花数"是指一个3位数,其中各位数字立方和等于该数本身.例如,153是一个"水仙花数 ...
- 使用nfsstat命令查看NFS服务器状态
转载于:http://www.cnblogs.com/jankie/archive/2011/09/03/2165851.html nfsstat命令显示关于NFS和到内核的远程过程调用(RPC)接口 ...
- oracle数据库基于(streams流复制)的双机热备配置手册
------------------------------------------------------------------------------- 主数据库: 操作系统:windows 2 ...
- Codeforces Round #586 (Div. 1 + Div. 2) D.Alex and Julian 简单证明
题意:在序列中删除最少元素使得得到的图是二分图. 其中点是整数域的点. 比如b1=2 那么a可以连b当且仅当|a-b|=2 同时这里的a,b是任意整数. 怎样判定一个序列是否合法呢?于是想到了二分 ...