Syslog日志集成搭建

搭建一个完整的 syslog → Filebeat → Elasticsearch → Kibana 测试环境,详细的分步骤配置手册 ,包括 Linux (Filebeat)Windows (Elasticsearch + Kibana) 的安装和配置。

部署架构

  • Filebeat :运行在 Linux 服务器 192.168.0.83,采集 syslog。

  • Elasticsearch + Kibana :运行在 Windows 服务器 192.168.0.100,负责存储日志和可视化。

  • syslog 流程

    syslog 设备/服务 → Filebeat (192.168.0.83) → Elasticsearch (192.168.0.100:9200) → Kibana (192.168.0.100:5601)

1. 安装和配置 Elasticsearch (Windows: 192.168.0.100)

  1. 下载并解压

  2. 配置文件

    编辑:C:\elasticsearch-<version>\config\elasticsearch.yml

    添加或修改以下内容:

    cluster.name: syslog-cluster
    node.name: node-1
    path.data: C:\elasticsearch\data
    path.logs: C:\elasticsearch\logs

    监听所有网卡,供 Filebeat 远程访问

    network.host: 0.0.0.0
    http.port: 9200

    单节点模式(测试环境用)

    discovery.type: single-node

3. 启动 Elasticsearch

在命令行进入 C:\elasticsearch-<version>\bin,执行:

复制代码
elasticsearch.bat
  • 打开浏览器访问 http://192.168.0.100:9200/,如果能看到 JSON 输出,说明成功。

2. 安装和配置 Kibana (Windows: 192.168.0.100)

  1. 下载并解压

  2. 配置文件

    编辑:C:\kibana-<version>\config\kibana.yml

    修改:

    server.port: 5601
    server.host: "0.0.0.0"

    指向本机的 Elasticsearch

    elasticsearch.hosts: ["http://192.168.0.100:9200"]

    设置 Kibana 实例的名称

    server.name: "kibana-win"

3. 启动 Kibana

在命令行进入 C:\kibana-<version>\bin,执行:

复制代码
kibana.bat
  • 打开浏览器访问 http://192.168.0.100:5601/,确认 Kibana 界面能加载。

3. 安装和配置 Filebeat (Linux: 192.168.0.83)

  1. 安装 Filebeat

    curl -L -O https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-8.14.3-x86_64.rpm
    sudo rpm -ivh filebeat-8.14.3-x86_64.rpm

2. 配置 syslog 输入

编辑:/etc/filebeat/filebeat.yml

修改或添加:

复制代码
filebeat.inputs:
  - type: syslog
    protocol.udp:
      host: "0.0.0.0:514"
    tags: ["syslog"]

output.elasticsearch:
  hosts: ["http://192.168.0.100:9200"]
  # 如果 ES 开启了用户名密码,这里需要:
  # username: "elastic"
  # password: "yourpassword"

setup.kibana:
  host: "192.168.0.100:5601"

默认 514 端口需要 root 权限监听,如果报错,可以改成 1514,然后在 syslog 服务端把日志发到 1514。

3. 启动 Filebeat 并设置开机自启

复制代码
sudo systemctl enable filebeat
sudo systemctl start filebeat
sudo systemctl status filebeat

4. 测试 Filebeat 是否能写入 Elasticsearch

复制代码
curl -X GET "192.168.0.100:9200/_cat/indices?v"
或
curl -X GET "https://192.168.0.100:9200/_cat/indices?v" -u elastic:你的密码 --insecure

4. 验证 Syslog 流程

通过http://localhost:5601/进入登录界面

输入账号和密码进行登录,进行日志集成配置

在登录界面选择 Stack Management

创建数据视图

创建数据视图后,就可以看到Syslog的日志加载到Elasticsearch上的效果了,选择Discover查看日志,以查看sendmail日志为例:

相关推荐
allway25 分钟前
基于华为taishan200服务器、arm架构kunpeng920 cpu的虚拟化实战
linux·运维·服务器
CSCN新手听安5 分钟前
【linux】高级IO,I/O多路转接之poll,接口和原理讲解,poll版本的TCP服务器
linux·运维·服务器·c++·计算机网络·高级io·poll
熊文豪5 分钟前
服务器炸了才知道?Ward+cpolar让异常无处藏
运维·服务器·cpolar
荔枝吻8 分钟前
忘记服务器密码,在Xshell7中查看已保存密码
运维·服务器·github
码农阿豪8 分钟前
多服务器批量指令管理:从Xshell到自动化运维
运维·服务器·自动化
Pocker_Spades_A10 分钟前
在家也能连公司服务器写代码?GoLand+CPolar 远程开发实测
运维·服务器
普马萨特22 分钟前
GPS、WiFi、基站定位:为什么在 Agent 时代不仅不受影响,反而更重要
linux·运维·服务器
2501_9419820539 分钟前
别再手动发群消息了!企业微信外部群自动化推送的架构设计与实现
运维·自动化·企业微信
REDcker1 小时前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
先做个垃圾出来………1 小时前
SSH密钥管理最佳实践
运维·ssh