Graylog安装操作
实验环境centos7.5系统 mem:4-8G disk:50G
关闭selinux以及firewalld
一、准备环境
1.1、java环境
下载java的jdk软件包。
rpm –ivh jdk-8u181-linux-x64.rpm
设置变量
vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64/
export CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
启动
source /etc/profile
验证
java –version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)
1.2、MongoDB下载
准备yum源
cat >/etc/yum.repos.d/mongodb-org-3.6.repo << EOF
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
EOF
安装
yum install mongodb-org –y
启动
systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service
1.3、Elasticsearch下载
安装yum的验证库key
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
添加yum源
cat >/etc/yum.repos.d/elasticsearch.repo << EOF
[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
安装
yum install elasticsearch –y
修改配置
vim /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
启动
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service
1.4、Graylog下载
安装
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.rpm
yum install graylog-server –y
配置
添加password_secret和root_password_sha2
echo –n yourpassword |sha256sum
password_secret = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
root_password_sha2 = 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
然后修改rest_listem_uri和web_listem_uri的IP地址修改为本机的IP。
rest_listen_uri = http://192.168.190.168:9000/api/
web_listen_uri = http://192.168.190.168:9000/
root_timezone = Asia/Shanghai
启动
systemctl daemon-reload
systemctl enable graylog-server.service
systemctl start graylog-server.service
注意:
系统要求
Graylog服务器应用程序具有以下先决条件:
- 一些现代Linux发行版(Debian Linux,Ubuntu Linux或CentOS推荐)
- Elasticsearch 2.3.5或更高版本
- MongoDB 2.4或更高版本(建议使用最新的稳定版本)
- Oracle Java SE 8(OpenJDK 8也可以;推荐最新的稳定更新)
警告
2.3之前的Graylog 不适用于Elasticsearch 5.x!
警告
Graylog 2.4 不适用于Elasticsearch 6.x!
登录:
IP:9000
用户密码:admin
二、添加数据源
2.1、安装客户端
如图所示,linux host需要一个传出数据的软件。Nxlog或Filebeat。
此处选用第二种。
Graylog-collector-sidecar下载地址:https://github.com/Graylog2/collector-sidecar/releases
Nxlog下载地址:https://nxlog.co/products/nxlog-community-edition/download
Collector-sidecar:
rpm -i collector-sidecar-0.0.9-1.x86_64.rpm
graylog-collector-sidecar -service install
systemctl start collector-sidecar
后端Nxlog与Filebeats取其一即可。默认安装好Collector-sidecar,Filebeats是Collector-sidecar包内自带的。
配置:
/etc/graylog/collector-sidecar/collector_sidecar.yml
参数 |
描述 |
SERVER_URL |
Graylog API的URL,例如 http://127.0.0.1:9000/api/ |
更新周期 |
sidecar将从Graylog服务器获取新配置的时间间隔(秒) |
tls_skip_verify |
使用自签名证书启动REST API时忽略错误 |
SEND_STATUS |
将每个后端的状态发送回Graylog并将其显示在主机的状态页面上 |
list_log_files |
将目录列表发送到Graylog并将其显示在主机状态页面上,例如/var/log。这也可以是目录列表 |
NODE_ID |
Sidecar实例的名称也将显示在Web界面中。如果未设置,将使用主机名。 |
collector_id |
实例的唯一ID(UUID)。这可以是字符串或ID文件的路径 |
log_path |
Sidecar可以存储每个正在运行的收集器后端的输出的目录的路径 |
log_rotation_time |
在X秒后旋转每个收集器的stdout和stderr日志 |
log_max_age |
删除早于Y秒的旋转日志文件 |
标签 |
配置标签列表。服务器端与标记列表匹配的所有配置都将由此实例提取和合并 |
后端 |
用户希望在目标主机上运行的收集器后端列表 |
目前支持NXLog和Beats作为收集器后端,使Sidecar需要知道二进制文件的安装位置以及可以为其编写配置文件的位置。
参数 |
描述 |
名称 |
使用哪个后端(必须是'nxlog','filebeat'或'winlogbeat) |
启用 |
这个后端是否应该由Sidecar启动 |
binary_path |
实际收集器二进制文件的路径 |
configuration_path |
此收集器的配置文件的路径 |
Beats平台配置示例如下:
server_url: http://graylog01.ucex.corp:9000/api/
update_interval: 10
tls_skip_verify: false
send_status: true
list_log_files:
- /data/ucex
- /var/log
node_id: dev-backend-http-ws01
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:
- linux
- engine_accesshttp
- engine_mdc
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
Nxlog的配置如Beats的配置相似,只需要更改backends中的enabled后面得false改为true。
注意:
配置中的tags,一定得准确和实际目录下日志文件名相似,否则在system/collectors中无法查找到合适得匹配标签。匹配tags会更精确得获取数据。
重启服务
systemctl restart collector-sidecar
###注:标红的,是必填项,需要注意的。
2.2、web配置
2.2.1 打开web页面 system/collectors
启动collectors后,web页面会自动获取如上所示。
System/collectors 点击进入页面后,会自动获取客户端,如上图。
选择 Manage Configurations
创建一个configuration
按要求填入 name
添加输入与输出的配置
输出output (graylog服务端地址)
输入input (默认为['/var/log/*.log'] )根据软件日志路径定义,得跟配置文件中一致。
在tags中需要和配置文件中的tags一致
2.2.2 在web端 system/input
Select input 选用beats
发现有流量在动,说明配置成功。
日志收集数据
注意:
服务器时区与客户端得时区得一致。
调试:
Sidecar正在将日志文件写入配置的目录中路径。每个后端都有一个文件,您可以检查文件权限或日志传输问题等常见问题。Sidecar本身正在写一些collector_sidecar.log问题,例如可以在那里找到与Graylog API连接失败的问题。
您还可以在前台启动Sidecar并监视进程的输出:
$ graylog-collector-sidecar -debug -c /etc/graylog/collector-sidecar/collector_sidecar.yml
三、搜索日志
3.1 模糊搜索
进入搜索页面,输入关键词。
例如:输入 error, 如下图所示
搜索到的,系统会标亮显示出来。
这种方法会把系统内所有的关键字全部搜索出来,然后再进行messages的查看。
优点:可以查看全部包含该关键字的内容。
缺点:信息量太多。
3.2 区域搜索
指定主机源,在该主机源上进行对该主机的日志查询。共有两种方法。
3.2.1 数据源查看
知道自己需要的日志主机名,System/collectors 查看所有的数据源地址。然后点击show messages,即可查看该主机上全部日志信息。
系统默认会显示7days前的数据。
时间调整,如下图,选择需要查看的时间段。时间查询分为相对时间,绝对时间。
可以根据需要选择使用合适的时间段。
3.2.2 字段查询
可以根据数据源,以及文件名等,利用字段来查找关键信息。
Search支持的字段。
例子:
file:"/var/log/nginx/access.log" AND source:"dev-frontend-nginx01"
输入messages 或 file 等如上图所示的关键词,搜索框会提示你输入得字段。然后根据system/collectors中配置的路径,即可准确查询日志信息中的关键字。
注意:有一些特殊的字符需要转义,使用反斜杠 “” 如上所示。
搜索到的内容,系统都会把它标亮。
更新搜索到的内容
如上所示选择合适的持续时间,然后点击三角符号即可。
Quick values 快速选取值
每个字段的下拉框都有四个选项,messages字段除外。
图表、快速取值、统计、世界地图。
如下:
图标,用来显示该数据源中该字段的时间点以及file的数据值。
搜索侧栏中的“ 生成图表”按钮为任何数字字段创建字段图。使用字段图顶部“ 自定义”菜单中的选项 ,可以更改图形中使用的统计函数,用于表示值的图形类型,图形插值以及时间分辨率。
一旦您自定义了一些字段图,您还可以通过从图表顶角的汉堡图标拖动它们并将它们放入另一个字段图中来组合它们。您可以在以下屏幕截图中查看汉堡包图标的位置和最终结果:
每次执行搜索时都会出现字段图,允许您比较数据或组合来自不同流的图。
快速取值,会显示该主机上所有的value,以file字段为例,如下图所示,会显示所有日志的目录文件。
点击values上放大镜图标,系统会自动把该字段显示到搜索框,回车后,系统会搜索该文件下所有的日志信息。
还可以根据字段搜索,快捷的选取想要的字段,从而进行精度搜索内容。如下例所示。
字段统计
计算字段的不同统计信息,以帮助您更好地汇总和理解其中的数据。统计信息包括:总数,平均值,最小值,最大值,标准差,方差,总和和基数。在非数字字段上,您只能看到包含该字段的消息总数,以及字段的基数,即它具有的唯一值的数量。
3.2.3指定日志内容
搜索到得日志为了查看方便可以指定该区域。然后进一步得查看。如下所示:
选取的该部分内容实时查看,点击show surrounding messagees选取更新的时间。
根据需要点击放大镜,调节合适的参数值。
搜索到的信息添加仪表盘
1、新建仪表
填写文件名以及相关信息
2、方框图仪表板添加
选择创建的仪表库。添加即可。
3、搜索信息仪表库添加
首先筛选出常用的字段信息。然后根据这个字段信息,添加到仪表库中。
查看
显示查询到的统计个数
更新信息
全屏查看(esc键退出)
查看搜索到的信息,点击三角符号,系统会跳转到搜索页面展示的内容。
四、索引清理
4.1 索引模型
4.1.1概述
Graylog透明地管理一组或多组Elasticsearch索引,以优化搜索和分析操作,以实现速度和低资源消耗。
为了能够管理具有不同映射,分析器和复制设置的索引,Graylog使用所谓的索引集,这些索引集是所有这些设置的抽象。
每个索引集都包含Graylog创建,管理和填充Elasticsearch索引以及处理特定需求的索引轮换和数据保留所必需的设置。
Graylog维护每个索引集的索引别名,该索引别名始终指向该索引集的当前写入活动索引。在满足配置的轮换标准(文档数,索引大小或索引年龄)之前,始终只有一个索引要写入新消息。
后台任务不断检查是否已满足索引集的旋转标准,并在发生时创建并准备新索引。索引准备就绪后,索引别名将自动切换到它。这意味着所有Graylog节点都可以将消息写入别名,甚至不知道索引集的当前写入活动索引是什么。
4.1.2索引集配置
索引集具有与Graylog如何将消息存储到Elasticsearch集群相关的各种不同设置。
- 标题:索引集的描述性名称。
- 描述:人类消费指数集的描述。
- 索引前缀:用于由索引集管理的弹性搜索索引的唯一前缀。前缀必须以字母或数字开头,并且只能包含字母,数字_,-和+。索引别名将相应地命名,例如,graylog_deflector如果索引前缀是graylog。
- Analyzer :(默认值standard:)索引集的Elasticsearch 分析器。
- 索引分片 :(默认值:4)每个索引使用的Elasticsearch分片数。
- 索引副本 :(默认值:0)每个索引使用的Elasticsearch副本数。
- 最大。段数 :(默认值:1)索引优化(强制合并)后每个Elasticsearch索引的最大段数,有关详细信息,请参阅段合并。
- 旋转后禁用索引优化:在索引旋转后禁用Elasticsearch 索引优化(强制合并)。只有在优化过程中出现Elasticsearch集群性能严重问题时才激活此项。
- 消息计数:在写入特定数量的消息后旋转索引。
- 索引大小:在达到磁盘上的大致大小(优化之前)后旋转索引。
- 索引时间:在特定时间(例如1小时或1周)后旋转索引。
4.2索引旋转
- 消息计数:在写入特定数量的消息后旋转索引。
- 索引大小:在达到磁盘上的大致大小(优化之前)后旋转索引。
- 索引时间:在特定时间(例如1小时或1周)后旋转索引。
4.3索引保留
4.4 手动清理
登陆graylog的页面,system/indices ,点击default index set
这些都是关于graylog的日志搜索到的指数。Acitve write index是现在运行正在收集的日志indices ,其他的则是前段时间收集到的日志数据indices。而咱要删除的就是那些,看好日期显示,选择不用的indices,点击delete即可。
时间与详细内容。
点击delete index就可以把这份index删掉。