日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。
通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。
集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。
- Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
- Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
- Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。
ELK+kafka日志系统原理(介质为日志)
Windows/linux的logstash(客户端)--->kafka(队列)--->kakfa上的logstash(也是一个客户端)--->ES(存储)--->kibana(界面)
角色:
10.10.13.17 ES java
10.10.13.18 ES Java
10.10.13.15 logstash kafka java
10.10.13.12 nginx kibana
10.10.12.7 Linux客户端 logstash Java
一、安装ES (10.10.13.17)
yun install -y java1.7.0-openjdk*
useradd elkuser
groupadd elkuser
usermod -G elkuser elkuser
wget https : //download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.3.tar.gz
tar -xf elasticsearch-1.7.3.tar.gz -C
/home
(这有挂在分区,所以装这里)
mv
/home/
elasticsearch-1.7.3 /home/elasticsearch
chown -R elkuser.elkuser /home/elasticsearch/*
编写配置文件:
vi /home/elasticsearch/config/elasticsearch.yml
node.data: true
index.number_of_shards: 5
index.number_of_replicas: 0
bootstrap.mlockall: true
network.bind_host: 10.10.13.17
network.host: 10.10.13.17
http.port: 16780
http.cors.enabled: true
http.cors.allow-origin: "*"
注意:这里默认保存数据路径在:/elasticsearch/data/elasticsearch/nodes/0/indices/目录下
启动ES
#/elasticsearch/elasticsearch-1.5.2/bin/service/elasticsearch start或stop #手工启动/停止
重启脚本restartES.sh
#cat /elasticsearch/elasticsearch-1.5.2/restartES.sh
/elasticsearch/elasticsearch-1.5.2/bin/service/elasticsearch stop
sleep 10s
/elasticsearch/elasticsearch-1.5.2/bin/service/elasticsearch start
验证elasticsearch部署是否正常,访问http://10.10.13.17:16780/输出如下信息
{
"status" : 200,
"name" : "All-American",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "1.5.2",
"build_hash" : "62ff9868b4c8a0c45860bebb259e21980778ab1c",
"build_timestamp" : "2015-04-27T09:21:06Z",
"build_snapshot" : false,
"lucene_version" : "4.10.4"
},
"tagline" : "You Know, for Search"
}
安装elasticsearch插件:
head(集群几乎所有信息,还能进行简单的搜索查