ELK入门(四)——logstash上传messages至ES,在Kibana检索

本文详细指导如何修改Logstash配置,从messages日志中提取数据,并通过Kibana展示。涉及权限调整、索引创建、Index Pattern设置以及解决重启问题和时间戳处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、修改system.conf

1.修改内容

找到logstash-sample配置文件,在/etc/logstash/文件夹下,将其复制到/etc/logstash/conf.d/文件夹下

# 转到目录
# cd /etc/logstash/

# 查看
# ls

 

# 复制
cp /etc/logstash/logstash-sample.conf  /etc/logstash/conf.d/logstash-sample.conf

接着修改conf文件的内容。我们要上传的是messages系统日志,在path中填入目录, start_position表示从开头处读取

# 内容
input {
  file {
    path => "/var/log/messages"  # 日志路径
    type => "systemlog"    # 类型
    start_position => "beginning"   # 从何处开始
    stat_interval => "2"    #监听间隔时间
    # sincedb_path => "/dev/null"
  }
}
output {
  elasticsearch {
    hosts => ["localhost:9200"]   # 修改
    index => "logstash-systemlog-%{+YYYY.MM.dd}"  # 命名索引为logstash-systemlog-年-月-日
  }
}

2.权限调整

但修改好后还不能直接运行,因为一般来说messages有权限限制,因此要重新调整权限,不然就会什么都没有发生,运行权限调整代码,然后再启动

# 修改权限
chmod 644 /var/log/messages*

# 运行
systemctl restart logstash

此时应该在elasticsearch-head生成了相应的索引

二、Kibana查看

创建Index pattern

这里的pattern name不一定要全名,也可以logstash-systemlog*,就可以将所有前缀为logstash-systemlog的一起加载,适合后续多个日期的显示

下一步的Time field选择@timestamp,也就是时间戳

如果数据成功导入,就可以显示出来了

三、其他问题

1.Logstash重启记录变少

logstash在第一次导入数据时将自动创建一个文件监控记录(sincedb),导致若是删除索引重新运行logstash会发现记录量非常少,这有两种解决办法,参见博客ELK入门——解决:删除索引,重运行logstach后messages数据量变少

2.时间戳为导入时间

在Kibana上,我们可以发现,时间戳的信息为导入的时间结点,然而我们想要时间戳匹配的是日志生成时间,这就需要用到grok+data,匹配信息中的时间,并将时间戳修改,参见博客ELK入门(五)——messages日志生成时间替换时间戳(grok+data)

3.Logstash重启报错

Address already in use

错误信息很明显告诉我们是该端口已经被占用了,这可能是因为ctrl+C,因此我们结束此进程,重新启动

# 结束进程
systemctl stop logstash

# 查看
# ps -ef |grep logstash

# 结束
# kill -9 XXXX

 

参考博客:

ELK实战之Kibana部署及message日志收集

### ELK 日志处理、配置与使用 #### 1. ELK 的基本概念 ELK 是 Elastic Stack 的缩写,由 Elasticsearch、LogstashKibana 组成。Elasticsearch 负责存储和检索数据;Logstash 提供强大的日志收集、解析功能;Kibana 则用于可视化展示数据分析结果。 #### 2. 系统日志路径及其分类 系统日志通常位于 `/var/log` 目录下[^1],其中包括但不限于 `messages` 文件(记录系统运行状态)、`secure` 文件(安全事件)。程序和服务应用日志则可能分布在不同的目录中,例如 Nginx 日志默认存放在 `/var/log/nginx/access.log` 或 `/var/log/nginx/error.log` 中[^1]。 #### 3. Logstash 安装与基础命令 安装 Logstash 可通过 RPM 包完成,具体操作如下: ```bash rpm -ivh logstash-5.5.1.rpm ``` 启动 Logstash 使用 systemd 命令: ```bash systemctl start logstash ``` 为了便于管理,可以创建软链接以便快速访问 Logstash 工具: ```bash ln -s /usr/share/logstash/bin/logstash /usr/local/bin ``` 测试环境是否正常工作可以通过简单的输入输出管道验证其功能[^2]。 #### 4. 配置文件编写 Logstash 的核心在于配置文件的设计。以下是一个典型的配置文件结构示例: ```plaintext input { file { path => "/var/log/*.log" start_position => "beginning" } } filter { grok { match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{HOSTNAME:host} %{DATA:message}" } } } output { elasticsearch { hosts => ["http://localhost:9200"] } } ``` 此配置定义了一个从指定路径读取日志文件的流程,并利用 Grok 插件提取有用字段后发送至本地运行的 Elasticsearch 实例[^3]。 #### 5. 数据流概述 整个过程大致分为三步:首先是 **Input** 阶段获取原始数据源;接着进入 **Filter** 层面清洗转换这些信息;最后到达 **Output** 将最终成果推送到目标位置如数据库或者搜索引擎索引里去[^3]。 #### 6. 排查问题技巧 当遇到无法预期的行为时,应优先检查以下几个方面: - 是否正确指定了要监控的日志文件; - Filter 规则是否匹配实际格式; - Output 设置的目标地址可达性和权限设置情况。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值