日志分析系统ELK是三个开源软件的缩写,分别是Elasticsearch,Logstash,Kibana。其中Elasticsearch是用来实现索引和搜索功能的目的,Logstash是一个很灵活的日志收集和处理工具。Kibana是和Elasticsearch配套的图形展示界面,用于方便的展示数据和分析数据。本文对整个套件的安装配置过程作了记录,并写了一键安装配置的脚本。
环境信息
- 操作系统 Ubuntu 14.04 64bit
- 依赖环境
java环境
1sudo apt-get install openjdk-7-jdk
``
redis[==单机时不用安装,CS模式中充当缓存队列==]
1sudo apt-get install redis-server
``
Elasticsearch安装
导入GPG key
1wget -O - http://packages.elasticsearch.org/GPG-KEY-elasticsearch | sudo apt-key add -
``
添加elasticsearch到源(source list)中
1echo 'deb http://packages.elasticsearch.org/elasticsearch/1.4/debian stable main' | sudo tee /etc/apt/sources.list.d/elasticsearch.list
``
更新软件包数据库
1sudo apt-get update
``
安装elasticsearch
1sudo apt-get -y install elasticsearch=1.4.4
``
配置elasticsearch[/etc/elasticsearch/elasticsearch.yml] ….
启动elasticsearch服务
1sudo service elasticsearch restart
``
设置elasticsearch开机启动
1sudo update-rc.d elasticsearch defaults 95 10
``
Logstash的安装
添加logstash到源中
1echo 'deb http://packages.elasticsearch.org/logstash/1.5/debian stable main' | sudo tee /etc/apt/sources.list.d/logstash.list
``
更新软件包数据库
1sudo apt-get update
``
安装logstash
1sudo apt-get install logstash
``
配置logstash[向/etc/logstash/conf.d/文件夹中添加配置文件]
- 单机配置 single.conf
- 服务器端配置 indexer.conf
- 客户端配置 shipper.conf
- 其他配置 inputs.conf | filters.conf | outputs.conf | nginxlog_json.conf & ifo_nginx.conf | ifo_collectd.conf | ifo_syslog.conf
1# 单机配置 2sudo cp ./single.conf /etc/logstash/conf.d 3# 服务端配置 4sudo cp ./shipper.conf /etc/logstach/conf.d 5# 客户端配置 6sudo cp ./shipper.conf /etc/logstash/conf.d
``
启动logstash服务
1sudo service logstash restart
``
设置logstash开机启动,比elasticsearch启动快,关闭慢
1sudo update-rc.d logstash defaults 94 11
``
安装Kabana
下载kibana软件
1wget -O /tmp/kibana.tar.gz https://download.elasticsearch.org/kibana/kibana/ kibana-4.0.1-linux-x64.tar.gz
``
解压到/opt/kibana
1sudo tar xvf /tmp/kibana.tar.gz -C /opt/ 2sudo mv /opt/kibana-4.0.1-linux-x64 /opt/kibana
``
配置kibana[向/opt/kibana/config中添加配置文件]
1sudo cp ./kibana.yml /opt/kibana/config/ 2sudo cp ./kibana4 /etc/init.d/
``
启动kibana服务器
1sudo service kibana4 restart
``
设置kibana4开机启动,比elasticsearch启动慢,关闭快
1sudo update-rc.d kibana4 defaults 96 9
``
反向代理工具Nginx
安装nginx和apache2-utils[有apache的web服务器内置工具,如htpasswd]
1sudo apt-get -y install nginx apache2-utils
``
创建kibanaadmin用户来访问kibana网络接口,密码为kibanaadmin
1sudo htpasswd -bc /etc/nginx/htpasswd.users kibanaadmin kibanaadmin
``
配置nginx[/etc/nginx/sites-available/default]
1sudo cp ./default /etc/nginx/sites-available/
``
重启nginx服务
1sudo service nginx restart
``
构建SSL证书
目前还没有走通。
一键安装脚本
- 多台机器协作
- 服务端脚本 indexer.sh
- 客户端脚本 shipper.sh
- 单机独立运行
- 独立脚本 single.sh