CentOS Syslog 集成 ELK Stack(Elasticsearch, Logstash, Kibana)的过程可以分为以下几个步骤:
首先,你需要在 CentOS 上安装 Elasticsearch。
# 添加 Elasticsearch 仓库
sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
# 安装 Elasticsearch
sudo yum install elasticsearch
# 启动 Elasticsearch
sudo systemctl start elasticsearch
sudo systemctl enable elasticsearch
接下来,安装 Logstash。
# 添加 Logstash 仓库
sudo tee /etc/yum.repos.d/logstash.repo <<EOF
[logstash-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
# 安装 Logstash
sudo yum install logstash
# 启动 Logstash
sudo systemctl start logstash
sudo systemctl enable logstash
配置 Logstash 以接收来自 CentOS Syslog 的日志。
创建一个新的 Logstash 配置文件 /etc/logstash/conf.d/syslog.conf。
input {
syslog {
port => 514
type => "syslog"
}
}
filter {
# 可以根据需要添加过滤器
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "syslog-%{+YYYY.MM.dd}"
}
}
应用新的配置并重启 Logstash。
sudo systemctl restart logstash
修改 CentOS 的 syslog 配置以将日志发送到 Logstash。
编辑 /etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf 文件。
sudo vi /etc/rsyslog.conf
在文件末尾添加以下行:
*.* @localhost:514
& stop
这会将所有日志发送到 Logstash 的 514 端口,并停止进一步处理这些日志。
应用更改并重启 rsyslog。
sudo systemctl restart rsyslog
最后,安装 Kibana 并配置它以连接到 Elasticsearch。
# 添加 Kibana 仓库
sudo tee /etc/yum.repos.d/kibana.repo <<EOF
[kibana-7.x]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
# 安装 Kibana
sudo yum install kibana
# 启动 Kibana
sudo systemctl start kibana
sudo systemctl enable kibana
编辑 Kibana 配置文件 /etc/kibana/kibana.yml。
sudo vi /etc/kibana/kibana.yml
确保以下配置正确:
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
应用更改并重启 Kibana。
sudo systemctl restart kibana
打开浏览器并访问 http://<your_server_ip>:5601,你应该能够看到 Kibana 的界面。导航到 “Discover” 页面,你应该能够看到来自 CentOS Syslog 的日志数据。
通过以上步骤,你已经成功地将 CentOS Syslog 集成到了 ELK Stack 中。