日志系统搭建部署
1.背景
1.1目的:
系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
1.2日志管理:
通常,日志被分散的储存不同的设备上。如果需要管理数十上百台服务器,必须依次登录每台机器的传统方法查阅日志,这样很繁琐和效率低下。当务之急是使用集中化的日志管理,开源实时日志分析ELK平台能够完美的解决上述所提到的问题。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
2.工具选取
2.1 ELK工作原理展示图:
Logstash收集Server产生的Log,并存放到ElasticSearch集群中,而Kibana则从ES集群中查询数据生成图表
2.2 工具组成:
开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成:
1)ElasticSearch是一个基于Lucene的开源分布式搜索服务器。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是第二流行的企业搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。在elasticsearch中,所有节点的数据是均等的。
2)Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤、分析,并将其存储供以后使用(如,搜索),您可以使用它。说到搜索,logstash带有一个web界面,搜索和展示所有日志。
3)Kibana 是一个基于浏览器页面的Elasticsearch前端展示工具,也是一个开源和免费的工具,它Kibana可以为 Logstash 和ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
3.安装准备
3.1版本兼容:
安装前先确认ELK组件的版本对应关系,不对应版本的安装会报兼容性问题
版本关系:http://blog.csdn.net/feifantiyan/article/details/53098896
3.2环境准备:
由于Logstash的运行依赖于Java环境, 而Logstash 1.5以上版本不低于java1.7,因此推荐使用最新版本的Java。
3.3工具下载:
安装地址(分别安装至对应目录下):
wget https://download.elastic.co/logstash/logstash/logstash-2.2.2.tar.gz
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-2.2.1.tar.gz
wget https://download.elastic.co/kibana/kibana/kibana-4.4.2-linux-x64.tar.gz
wget http://download.redis.io/releases/redis-2.8.3.tar.gz
4.环境搭建
4.1 安装Logstash:
从上述安装地址将安装包进行下载之后对安装包进行解压,为方便后续进行管理,并将文件移动至指定位置。
安装目录:/home/vkapp/ELK/Logstash
切换至安装目录下进行工具安装:
文件解压:tar –zxvf logstash-2.2.2.tar.gz
修改文件名:mv logstash-2.2.2 logstash
安装验证:
输入bin/logstash-e 'input { stdin { } } output { stdout {} }'
启动成功后输入:hello
如有下面显示内容,则logstash正确安装
配置输出文件:
创建logstash配置文件目录,配置文件 输入(input)、过滤内容(filter)、输出(output)
其中input和output是必须项,filter为可选项
配置文件:logstash.conf
配置参数:
input{
file{
type => "elasticsearch"
path =>"/tmp/elasticsearch/logs/*.log"
start_position => beginning
}
}
output {
elasticsearch {
hosts => "hostIP:9200"
index => "logstash-%{type}-%{+YYYY.MM.dd}"
document_type => "system-log"
}
}
服务启动:
注:启动顺序为ES->logstash->kibana
bin/logstash agent --config config/redis_indexer_75.conf --loglogs/logstash.log &
后台启动时需要加:&符号或者-d
4.2 安装Elasticsearch:
注:安装Elasticsearch.必须注意不能使用root账户,要使用普通用户用户进行测试
安装目录:/home/vkapp/ELK/Elasticsearch
切换至安装目录下进行工具安装:
文件解压:tar –zxvf elasticsearch-2.2.1.tar.gz
修改文件名:mv elasticsearch-2.2.1.tar.gz elasticsearch
安装头部插件(非必选):
执行:./bin/plugin install mobz/elasticsearch-head
查看/home/vkapp/ELK/Elasticsearch/elasticsearch/plugins/下是否有head文件
创建日志文件、索引的保存地址:
执行命令:
mkdir /tmp/elasticsearch/data
mkdir /tmp/elasticsearch/logs
编辑elasticsearch配置文件:
执行此命令:viconfig/elasticsearch.yml
修改下列文件配置:
cluster.name:cluster-test //elasticsearch名字
node.name: node-1 //节点名
path.data: /tmp/elasticsearch/data //索引存放处
path.logs: /tmp/elasticsearch/logs //存储日志位置
network.host: hostIP //elasticsearch主机
http.port: 9200 //开放端口
启动Elasticsearch:
执行命令:./bin/elasticsearch & ## -d或&以后代的方式进行启动
验证启动:
验证启动有两种方式:
通过本机进行访问:curl'http://hostIP:9200/_search?pretty'
种通过浏览器进行访问:http://hostIP:9200/_plugin/head/
4.3 安装kibana
安装目录:/home/vkapp/ELK/Kibana
切换至安装目录下进行工具安装:
文件解压:tar –zxvf kibana-4.4.2-linux-x64.tar.gz
修改文件名:mv kibana-4.4.2-linux-x64 kibana
编辑kibana配置文件:
执行:vi config/kibana.yml
将下列注释放开,起作用
server.port: 5601
server.host: “hostIP”
elasticsearch.url: http://hostIP:9200
kibana.index: “.kibana”
启动kibana:
执行:./bin/kibana
启动验证:
使用浏览器访问:http://hostIP:5601 能正常访问即安装成功