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
)
-
下载并解压
- 去 Elasticsearch 下载页面 下载对应的 Windows 版本。
- 解压到
C:\elasticsearch-<version>
。
-
配置文件
编辑: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
)
-
下载并解压
- 去 Kibana 下载页面 下载对应的 Windows 版本。
- 解压到
C:\kibana-<version>
。
-
配置文件
编辑: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
)
-
安装 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: syslogprotocol.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日志为例: