CentOS 7 下搭建ELK日志分析平台
2018-6-18
一、系统配置
Centos7 1核4G(个人开发机搭来自己分析压测日志的,若是公司级的建议32核64G以上。再大规模的还需要分布式部署)
JDK 1.8
二、配置yum源
代码语言:javascript复制# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
# vim /etc/yum.repos.d/elastic.repo # 增加以下内容
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
三、安装ElasticSearch
代码语言:javascript复制yum install -y elasticsearch
默认监听127.0.0.1:9200 127.0.0.1:9300。
9300端口是集群通信用的,9200则是数据传输时用的。
如需要修改,可以编辑 /etc/elasticsearch/elasticsearch.yml 如果只是简单配置,没必要更改。
直接启动
代码语言:javascript复制systemctl restart elasticsearch.service
#查看状态
curl '10.33.121.31:9200/_cluster/health?pretty'
四、安装kibana
代码语言:javascript复制yum -y install kibana
vim /etc/kibana/kibana.yml # 增加以下内容
server.port: 5601 # 配置kibana的端口
server.host: 10.33.121.33 # 配置监听ip
elasticsearch.url: "http://10.33.121.31:9200" # 配置es服务器的ip,如果是集群则配置该集群中主节点的ip
logging.dest: /var/log/kibana.log # 配置kibana的日志文件路径,不然默认是messages里记录日志
#启动
systemctl start kibana 访问:http://10.33.121.31:5601/ 查看页面
五、安装logstash
代码语言:javascript复制yum install -y logstash
vim /etc/logstash/conf.d/syslog.conf
编辑下面内容
input{
file{
path=>"/data0/www/applogs/matrix-web/*.log" #监听日志路径
start_position=>"beginning" #beginning 或者end 监听文件位置
}
}
output {
elasticsearch {
hosts => "localhost:9200" #ES地址
index => "matrixlog" #索引名称
}
}
然后再执行,设置默认日志路径,并检查日志格式
代码语言:javascript复制./logstash --path.settings /etc/logstash/ -f /etc/logstash/conf.d/syslog.conf --config.test_and_exit
#启动logstash
systemctl start rsyslog
使用 curl http://10.33.121.31:9200/_cat/indices?v 检查es的索引有没有输加入。
六、总结
到这里,ELK基本上已经搭建完成了。但你可能遇到各种各样的坑,我在这里列一下。
1.访问端口不成功,使用netstat -tupnl 查看一下,服务有没有启动成功
2.配置文件错误导致但启动失败。使用 tail -f/var/log/messages 查看一下失败原因
ok~完结。