CentOS 6.8 作为一款经典的企业级操作系统,至今仍有一些遗留系统在使用,虽然其官方支持已结束,但在特定场景下,通过合理的配置和第三方支持,仍可搭建稳定的服务环境,本文将详细介绍如何在 CentOS 6.8 系统上搭建 ELK(Elasticsearch、Logstash、Kibana)日志分析平台,涵盖环境准备、组件安装、配置优化及常见问题处理。

环境准备与依赖安装
在开始搭建 ELK 之前,需确保系统满足基本要求并安装必要的依赖,CentOS 6.8 默认的 Python 版本较低,而 ELK 的某些组件需要 Python 2.7+ 或 Python 3.x,建议使用 Python 2.7,因为 Logstash 在早期版本中主要依赖 Python 2,可通过以下命令升级 Python:
yum install -y epel-release yum install -y python27 python27-devel
需安装 Java 运行环境,Elasticsearch 5.x 及以上版本要求 Java 8 或更高版本,由于 CentOS 6.8 官方源不包含 Java 8,需通过第三方仓库安装:
yum localinstall -y jdk-8u211-linux-x64.rpm
安装完成后,验证 Java 版本:
java -version
确保输出显示 Java 1.8.x,关闭防火墙和 SELinux,避免权限问题:
service iptables stop setenforce 0
Elasticsearch 安装与配置
Elasticsearch 是 ELK 的核心组件,负责存储和索引日志数据,建议从 Elastic 官方仓库下载 RPM 包进行安装,以获取最新稳定版本,添加 Elastic 官方仓库:
rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch 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 -y elasticsearch 安装 Elasticsearch,安装完成后,修改配置文件 /etc/elasticsearch/elasticsearch.yml,调整集群名称、节点名称和数据存储路径:
cluster.name: my-elk-cluster node.name: node-1 path.data: /var/lib/elasticsearch network.host: 0.0.0.0 discovery.zen.minimum_master_nodes: 1
启动 Elasticsearch 并设置开机自启:
service elasticsearch start chkconfig elasticsearch on
通过 curl http://localhost:9200 验证服务是否正常运行,若返回集群信息则表示安装成功。

Logstash 安装与配置
Logstash 负责收集、解析和转发日志数据,使用与 Elasticsearch 相同的仓库安装 Logstash:
yum install -y logstash
Logstash 的配置文件位于 /etc/logstash/conf.d/,建议为不同日志源创建独立配置文件,创建一个收集系统日志的配置文件 10-syslog.conf:
input {
file {
path => "/var/log/messages"
type => "syslog"
start_position => "beginning"
}
}
filter {
if [type] == "syslog" {
grok {
match => { "message" => "%{SYSLOGBASE}" }
}
date {
match => [ "timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ]
}
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "syslog-%{+YYYY.MM.dd}"
}
} 配置完成后,测试配置文件语法是否正确:
/usr/share/logstash/bin/logstash --config.test_and_exit -f /etc/logstash/conf.d/10-syslog.conf
若返回 Configuration OK,则启动 Logstash:
service logstash start chkconfig logstash on
Kibana 安装与配置
Kibana 是 ELK 的可视化界面,用于查询和展示日志数据,同样通过 Elastic 仓库安装:
yum install -y kibana
修改 Kibana 配置文件 /etc/kibana/kibana.yml,指定 Elasticsearch 地址:
elasticsearch.url: "http://localhost:9200" server.host: "0.0.0.0"
启动 Kibana 并设置开机自启:
service kibana start chkconfig kibana on
默认情况下,Kibana 监听 5601 端口,通过浏览器访问 http://<服务器IP>:5601 即可进入界面,首次登录时,需在 Kibana 中创建索引模式(如 syslog-*),以便正确解析日志数据。

常见问题与优化
在 CentOS 6.8 上运行 ELK 可能遇到内存不足、性能瓶颈等问题,建议调整 Elasticsearch 的 JVM 堆内存大小,编辑 /etc/elasticsearch/jvm.options,将 -Xms 和 -Xmx 设置为系统内存的一半(如 -Xms1g -Xmx1g),可通过 filebeat 替代 Logstash 的 input 模块,直接收集日志并转发至 Elasticsearch,减轻 Logstash 负担:
yum install -y filebeat
配置 Filebeat 收集日志并输出到 Elasticsearch:
filebeat.prospectors:
- input_type: log
paths:
- /var/log/*.log
output.elasticsearch:
hosts: ["localhost:9200"] 启动 Filebeat 并验证日志是否成功传输至 Elasticsearch。
相关问答 FAQs
Q1:CentOS 6.8 安装 Elasticsearch 7.x 时报错如何解决?
A:Elasticsearch 7.x 要求 Java 11,但 CentOS 6.8 默认不支持 Java 11,可通过安装 OpenJDK 11 或使用 Docker 容器运行 ELK 组件,避免系统依赖问题。
Q2:Kibana 无法连接 Elasticsearch,提示 “no living connections” 如何处理?
A:首先检查 Elasticsearch 服务是否正常运行,并确认网络连通性,若使用防火墙,需开放 9200 和 5601 端口,检查 Kibana 配置文件中的 elasticsearch.url 是否正确,确保与 Elasticsearch 监听地址一致。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复