[日志分析]Graylog2采集Nginx日志 主动方式
这次聊一下Graylog如何主动采集Nginx日志,分成两部分:
- 介绍一下 Graylog Collector Sidecar 是什么
- 如何配置 Graylog Collector Sidecar 采集nginx日志
一、首先介绍一下Graylog Collector Sidecar
Graylog Collector Sidecar 是一个轻量级的日志采集器,通过访问graylog进行集中式管理,支持linux和windows系统。
Sidecar 守护进程会定期访问graylog的REST API接口获取Sidecar配置文件中定义的标签(tag),Sidecar在首次运行时会从graylog服务器拉取配置文件中指定标签(tag)的配置信息同步到本地。
目前Sidecar支持NXLog,Filebeat和Winlogbeat。他们都通过graylog中的web界面进行统一配置,支持Beats、CEF、Gelf、Json API、NetFlow等输出类型。
Graylog最厉害的在于可以在配置文件中指定Sidecar把日志发送到哪个graylog群集,并对graylog群集中的多个input进行负载均衡,这样在遇到日志量非常庞大的时候,graylog也能应付自如。

二、配置 Graylog Collector Sidecar 采集nginx日志
1、graylog服务器端配置:
(1)导航栏 System/Collectors -> Collectors -> Manage Configurations -> Create configuration ,创建我们第一个名为linux的配置文件

(2)在输入栏写入配置文件的名字 linux ,表示这个是用来收集linux主机日志的配置文件,点击 save 保存

(3)创建 Beats Output ,我们在Configure Beats Outputs 中点击 Create Output ,Output 主要定义的是日志的类型以及它要流入的目标服务器(graylog),这就好比你寄出一个快递要写包裹接收的地址。

(4)Beats output 中需要填写的内容是output的名称(Name):ForLinux、类型(Type)我们选择Filebeat,Hosts里面填入的是graylog日志服务器的地址和端口(假设我们是三台graylog的集群192.168.252.10-12,5044是beats类型默认的端口),然后把Load balancing(负载均衡)选上,这样日志收集后就会轮询的向这三台主机发送日志了,最后点击 save 保存

(5)Beats Output 创建完毕之后,我们还要创建一个Input,点击 Configure Beats Inputs 下的 Create Input 进行创建。input相当于是属于ForLinux 配置下的一个tag,它用来定义来源日志的信息。还用发快递举例,这个input相当于填写发件人的地址信息,告知对方是谁发出的并寄给 ForLinux ,ForLinux 配置里面就是写的接收人的地址信息,你可以定义多个Input来区分不同的发件人,也就是来源日志的类型。

(6)Beats Input中要填写的是Name(谁发的)、Forward to(发给谁)、Type(linux or windows)、Path to Logfile(相当于发件人的详细地址)、Type of input file(ES分析日志中的type字段,便于区分日志类型),最后点击save保存

(7)保存好Beats Input之后不要忘记把创建好的tag进行Update tags,否则客户端将找不到这个tag。以上graylog服务器端的配置就都完成了。

(8)graylog创建日志接收的Input 5044端口,导航栏System/Inputs -> Inputs ,在复选框里选择Beats,点击Launch new input

(9)如果你是garylog集群,选择Global,也就是在每个节点都启动5044端口,Title起个名字叫Beats input,端口保持默tcp 5044,最后点击save保存

(10)我们开始进行客户端的安装,我们以Ubuntu16.04为例,假设graylog服务器ip为192.168.252.10,nginx服务器主机名为nginx1:
1、在nginx1服务器上下载并安装collector-sidecar
wget https://github.com/Graylog2/collector-sidecar/releases/download/0.1.8/collector-sidecar_0.1.8-1_amd64.deb sudo /usr/bin/dpkg -i collector-sidecar_0.1.8-1_amd64.deb sudo /usr/bin/graylog-collector-sidecar -service install sudo systemctl enable collector-sidecar.service
2、编辑collector-sidecar配置文件:
vi /etc/graylog/collector-sidecar/collector_sidecar.yml
server_url: http://192.168.252.10:9000/api/
node_id: nginx1
update_interval: 10
tls_skip_verify: false
send_status: true
list_log_files:
collector_id: file:/etc/graylog/collector-sidecar/collector-id
cache_path: /var/cache/graylog/collector-sidecar
log_path: /var/log/graylog/collector-sidecar
log_rotation_time: 86400
log_max_age: 604800
tags:
- nginx_beats_input
backends:
- name: nxlog
enabled: false
binary_path: /usr/bin/nxlog
configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf
- name: filebeat
enabled: true
binary_path: /usr/bin/filebeat
configuration_path: /etc/graylog/collector-sidecar/generated/filebeat.yml
service collector-sidecar restart
3、查看collector-sidecar的日志
tail -f /var/log/graylog/collector-sidecar/collector_sidecar.log

[日志分析]Graylog2采集Nginx日志 主动方式的更多相关文章
- [日志分析]Graylog2采集Nginx日志 被动方式
graylog可以通过两种方式采集nginx日志,一种是通过Graylog Collector Sidecar进行采集(主动方式),另外是通过修改nginx配置文件的方式进行收集(被动方式). 这次说 ...
- [日志分析]Graylog2采集mysql慢日志
之前聊了一下graylog如何采集nginx日志,为此我介绍了两种采集方法(主动和被动),让大家对graylog日志采集有了一个大致的了解. 从日志收集这个角度,graylog提供了多样性和灵活性,大 ...
- [日志分析]Graylog2进阶 通过正则解析Nginx日志
之前分享的 [日志分析]Graylog2采集Nginx日志 主动方式 这篇文章介绍了Graylog如何通过Graylog Collector Sidecar来采集nginx日志. 由于日志是未经处理的 ...
- elk系列3之通过json格式采集Nginx日志【转】
转自 elk系列3之通过json格式采集Nginx日志 - 温柔易淡 - 博客园http://www.cnblogs.com/liaojiafa/p/6158245.html preface 公司采用 ...
- Centos7 搭建 Flume 采集 Nginx 日志
版本信息 CentOS: Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x ...
- 通过filebeat、logstash、rsyslog采集nginx日志的几种方式
由于nginx功能强大,性能突出,越来越多的web应用采用nginx作为http和反向代理的web服务器.而nginx的访问日志不管是做用户行为分析还是安全分析都是非常重要的数据源之一.如何有效便捷的 ...
- [日志分析]Graylog2进阶之获取Nginx来源IP的地理位置信息
如果你们觉得graylog只是负责日志收集的一个管理工具,那就too young too naive .日志收集只是graylog的最最基础的用法,graylog有很多实用的数据清洗和处理的进阶用法. ...
- elk系列3之通过json格式采集Nginx日志
preface 公司采用的LNMP平台,跑着挺多nginx,所以可以利用elk好好分析nginx的日志.下面就聊聊它吧. 下面的所有操作都在linux-node2上操作 安装Nginx nginx是开 ...
- Flume采集Nginx日志到HDFS
下载apache-flume-1.7.0-bin.tar.gz,用 tar -zxvf 解压,在/etc/profile文件中增加设置: export FLUME_HOME=/opt/apache-f ...
随机推荐
- Java中的Properties类
目录 Java中的Properties类 前言 主要方法 读取Properties文件 相关实例 Java中的Properties类 前言 Java中的Properties类属于配置文件,以键值对的方 ...
- 抽样分布|t分布|中心极限定理|点估计|矩估计|最大似然法|
生物统计与实验设计-统计学基础-2&区间估计-1 正态分布参数:均值和方差 其中,选择1d是因为好算:通常,95%区分大概率事件和小概率事件, 当总体是正态分布时,可以利用常用抽样分布估计出样 ...
- android apk 文件反编译
最近,自己坑逼的把一个android 项目修改版本的代码删除了.这个项目居然还没上传到源代码管理器.幸好还有apk文件,修改的代码也不多可以反编译一下. 1.下载 dex2jar 获取源码工具 地 ...
- TOMCAT7不兼容spring boot 2.0
找不到这个类,找不到那个类... Spring Boot 2.0 (and Spring Framework 5 upon which it builds) requires a Servlet 3. ...
- Ionic 4 beta + Capacitor beta 尝鲜
本文为原创文章,转载请标明出处 开发环境: Ionic 4 beta 3.Capacitor beta 6. 首先 ionic start 工程名 blank --type=angular,问是否集成 ...
- [SDOI2008] 洞穴勘测 (LCT模板)
bzoj 2049 传送门 洛谷P2147 传送门 这个大佬的LCT详解超级棒的! Link-Cut Tree的基本思路是用splay的森林维护一条条树链. splay的森林,顾名思义,就是若干spl ...
- python有关汉字编码问题
python分为:程序编码(python安装程序).文件编码. 查看程序编码方式:sys.getdefaultencoding() 查看文件编码方式:1.import chardet 2. f = ...
- JVM类文件结构
作为一名Java后台开发的程序员, 深入理解JVM, 重要性不言而喻, 这篇文章主要是记录JVM类文件结构相关知识. 2. 实例 这部分比较抽象, 所以以实例的形式来学习. 这部分作为资料, 以便后面 ...
- Linux内核初探 之 进程(三) —— 进程调度算法
一.基本概念 抢占 Linux提供抢占式多任务,基于时间片和优先级对进程进行强制挂起 非抢占的系统需要进程自己让步(yielding) 进程类型 IO消耗型 经常处于可运行态,等待IO操作过程会阻塞 ...
- OpenGL的矩阵使用——绘制桌子
其中最左边的桌子循环上移(即匀速上移到一定位置后回到原点继续匀速上移),中间的桌子不断旋转(即绕自身中间轴旋转),最右边的桌子循环缩小(即不断缩小到一定大小后回归原来大小继续缩小). 桌子的模型尺寸如 ...