参考网站:http://kibana.logstash.es/content/
一.elasticsearch安装
1.先下载elasticsearch,kibana,logstash,redis的安装包:
wget https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.7.3.tar.gz
wget https://download.elastic.co/kibana/kibana/kibana-4.1.8-linux-x64.tar.gz
wget http://download.redis.io/releases/redis-3.0.7.tar.gz
wget https://download.elastic.co/logstash/logstash/logstash-1.5.5.tar.gz
2.安装elasticsearch:
tar -zxvf elasticsearch-1.7.3.tar.gz
修改配置文件 vim config/elasticsearch.yml
cluster.name: elk-test
node.name: "elk-node1"
path.logs: /usr/local/elasticsearch/logs
修改内核参数:vm.max_map_count=262144 (生产必改)
3.启动:
/usr/local/elasticsearch/bin/elasticsearch &
curl 127.0.0.1:9200 查看es的状态信息
4.ES服务管理插件:
wget https://github.com/elastic/elasticsearch-servicewrapper/archive/master.zip
mv elasticsearch-servicewrapper-master/service /usr/local/elasticsearch/bin/ 放到es的bin目录下面
/usr/local/elasticsearch/bin/service/elasticsearch install 安装完成以后就可以用init.d启动es了
二.elasticsearch使用
1.es的管理插件的安装:
/usr/local/elasticsearch/bin/plugin install mobz/elasticsearch-head 安装插件
http://172.16.1.210:9200/_plugin/marvel/ 访问管理插件,由于是收费先点击试用
2.插入数据:
在网站中点击右上角Dashboards/sense
创建索引,并记录下ID:
POST index-demo/test
{
"user":"wmj",
"msg":"hello word!"
}
使用get获取数据:
GET index-demo/test/AVVx0dpGfWPOVuhqIoN7
GET index-demo/test/AVVx0dpGfWPOVuhqIoN7/_source
进行全文搜索:
GET index-demo/test/_search?q=hello
3.安装ES的集群管理插件:
/usr/local/elasticsearch/bin/plugin -i mobz/elasticsearch-head 安装插件head集群管理
http://172.16.1.210:9200/_plugin/head/ 访问集群管理插件
4.使用url监控集群健康状态:
curl -XGET 172.16.1.210:9200/_cluster/health?pretty
5.不使用广播发现的需要修改下面配置:
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]
6.ES的中文在线使用指南:
三.logstash:
1.两种安装方法
wget https://download.elastic.co/logstash/logstash/logstash-1.5.5.tar.gz 解压安装
https://www.elastic.co/guide/en/logstash/1.5/package-repositories.html yum 安装说明
2. 标准输出方式启动:
./bin/logstash -e 'input { stdin{} } output{ stdout{} }' 手动输入会屏幕输出
3.将记录输入到ES方式启动:
./bin/logstash -e 'input { stdin{} } output{ elasticsearch{ host =>"172.16.1.210" protocol =>"http"} }' 手动输入会记录到ES上面
4.配置文件方式启动logstash:
vim /etc/logstash.conf :
input{
file{
path => "/var/log/messages"
}
}
output{
file{
path => "/tmp/%{+YYYY-MM-dd}-messages.gz"
gzip => true
}
elasticsearch{
host => "172.16.1.211"
protocol => "http"
index => "system-mesages-%{+YYYY.MM.dd}"
}
}
从message文件输入,一份输出到/tmp/下面,并且压缩,一份输出到ES里面。
./logstash -f /etc/logstash.conf 使用配置文件启动logstash
https://www.elastic.co/guide/en/logstash/1.5/output-plugins.html 配置文件写法的官方说明文档
5.生成环境ELK的logstash配置,
一。日志写入redis
input{
file{
path => "/var/log/messages"
}
}
output{
redis{
data_type => "list" #列表形式写入
key => "system-messages" #key 的名称
host => "172.16.1.211"
port => "6379"
db => "1" #生产环境每一种日志分别写入一个db
}
}
PS:可以连接到redis里面,输入select 1 , keys * , LLEN system-messages 来查看是否正常写入
二。在redis服务器上面用logstash采集redis数据存到ES上面。
input{
redis{
data_type => "list"
key => "system-messages"
host => "172.16.1.211"
port => "6379"
db => "1"
}
}
output{
elasticsearch{
hosts => "172.16.1.210"
protocol => "http"
index => "system-redis-messages-%{+YYYY.MM.dd}"
}
}
6.生成环境让nginx生成的日志采用json方式输出,并使用logstash进行采集。
一。配置nginx.conf文件,采用json输出日志:
http 配置里面:
log_format logstash_json '{ "@timestamp": "$time_iso8601", '
'"host": "$server_addr", '
'"client": "$remote_addr", '
'"size": $body_bytes_sent, '
'"response_time": $request_time, '
'"domain": "$host", '
'"url": "$uri", '
'"referer": "$http_referer", '
'"agent": "$http_user_agent", '
'"status":"$status"}';
access_log /var/log/nginx/access_json.log logstash_json;
二。使用AB命令制作测试数据:
ab -n1000 -c10 http://172.16.1.210:81/
三。配置logstash采集nginx的数据写入到redis里面。
input{
file{
path => "/var/log/nginx/access_json.log"
codec => "json"
}
}
output{
redis{
data_type => "list"
key => "nginx-access-log"
host => "172.16.1.211"
port => "6379"
db => "2"
}
}
四。将redis的数据通过logstash写入到es里面。
input{
redis{
data_type => "list"
key => "nginx-access-log"
host => "172.16.1.211"
port => "6379"
db => "2"
}
}
output{
elasticsearch{
hosts => "172.16.1.210"
protocol => "http"
index => "logstash-nginx-redis-messages-%{+YYYY.MM.dd}"
}
}
ps:输出到es的时候表名称前面要有logstash,否则类型会有问题。
五。将nginx的日志使用geoip处理,加上地理位置信息。
filter { if [type] == "gigold-nginx-access-log"{ geoip { source => "clientip" database => "/etc/logstash/GeoLiteCity.dat" fields => ["city_name", "country_name", "real_region_name", "ip"] } } if [type] == "lehome-nginx-access-log"{ geoip { source => "xff" database => "/etc/logstash/GeoLiteCity.dat" fields => ["city_name", "country_name", "real_region_name", "ip"] } } mutate { convert => ["status", "integer"] } }
四.KIBANA学习:
1.安装kibana并配置访问的es:
tar -zxvf kibana-4.1.8-linux-x64.tar.gz
vim config/kibana.yml:
elasticsearch_url: "http://172.16.1.210:9200" 只要配置这一项
2.启动和访问kibana:
nohup ./bin/kibana &
http://172.16.1.210:5601 访问地址
3.初始化配置:
Index name or pattern: [nginx-redis-messages-]YYYY.MM.DD
4.kibana的搜索语法:
status:200 OR status:404 查找status等于200或者404的
status:[400 TO 499] 查找status等于400到499的
相关推荐
在这个名为"ELK-STACK-PROJECT-NKB"的项目中,Nathaniel Buchanan在犹他大学网络安全训练营期间构建了一个ELK堆栈实例,为学习者提供了实践和理解这一技术的平台。 1. **Elasticsearch**:作为ELK堆栈的核心,...
标题 "ELK学习笔记(六)【原创】" 暗示了这是一篇关于ELK Stack(Elasticsearch、Logstash、Kibana)的系列教程中的第六部分,主要聚焦于Logstash,一个用于数据收集、处理和转发的工具。在ELK Stack中,Logstash扮演...
总结来说,这个资料包提供了全面的ELK Stack学习资源,包括课堂笔记、软件安装包、项目源码和SQL文件,涵盖了从理论知识到实际操作的各个环节,对于想要深入理解和运用ELK Stack进行日志管理和分析的IT从业者来说是...
ElasticSearch学习笔记 ElasticSearch是基于Apache Lucene的搜索和数据分析引擎,提供了RESTful API用于数据的索引、搜索和分析。本笔记将对ElasticSearch的基本概念、架构、应用场景和实现细节进行详细介绍。 一...
- 日志分析:ELK Stack最初设计用于日志数据的收集、存储、分析和可视化。 - 数据分析:除了日志,ELK Stack还能处理各种类型的数据,如指标、事件等。 - 安全分析:可用于安全信息与事件管理(SIEM),帮助识别...
在本Java项目学习笔记中,我们关注的是SSM(Spring、SpringMVC、MyBatis)框架下的高并发秒杀API实现。这是一个典型的电商场景,其中涉及到的技术点广泛且实用,对于提升Java开发者处理高并发问题的能力至关重要。...
Java分布式应用学习笔记 在Java世界中,分布式应用是指由多个独立组件通过网络通信协同工作的系统。这种架构模式常用于构建大规模、高可用性、可扩展的系统。本笔记将深入探讨Java分布式应用的核心概念、技术和实践...
通过学习这些讲义,可以深入理解Elastic Stack的各个组件及其工作原理,提升日志管理和数据分析能力。 总之,Elastic Stack提供了一个全面的解决方案,用于日志收集、处理、存储、搜索和可视化,是现代IT环境中不可...
Elasticsearch(ES)是基于Lucene的分布式搜索引擎,它以高效、可扩展性和实时性著称,广泛用于大数据分析和日志...通过这些笔记和PPT,你可以深入理解ELK Stack在日志管理和数据分析中的应用,提升你的数据处理能力。
监控和日志管理工具如Prometheus和ELK Stack能帮助跟踪系统性能和故障排查。 以上知识点构成了一个完整的Java在线视频学习系统,每个部分都需要深入理解和实践,以提供稳定、高效、用户体验良好的在线学习环境。
6. 日志数据分析:配合Logstash收集和分析日志,ELK(Elasticsearch、Logstash、Kibana)组合广泛应用。 7. 商品价格监控:通过订阅,当商品价格低于特定阈值时,发送提醒。 8. BI系统:商业智能分析,如用户消费...
"做笔记"功能可能允许用户在平台上创建个人笔记,记录他们在学习日志分析过程中的心得、技巧或是特定问题的解决方案,方便日后查阅和分享。 从标签"HTML"来看,logline.fr可能也涉及了网页开发和设计的内容,因为...
6. **数据分析与监控**:使用ELK Stack(Elasticsearch、Logstash、Kibana)进行日志分析,以及Prometheus、Grafana的使用,实现系统监控。 7. **持续集成/持续部署(CI/CD)**:Jenkins、GitLab CI/CD等工具的配置和...
9. 日志和监控,如何设置和分析CXF的日志输出,以及如何集成像Prometheus或ELK Stack这样的监控系统。 总之,这份CXF笔记是深入理解并掌握CXF框架的重要参考资料,无论你是初学者还是经验丰富的开发者,都可以从中...
了解性能测试工具(如JMeter、LoadRunner)和日志分析工具(如ELK Stack)可以帮助进行性能监控和故障排查。 八、持续集成与持续部署(CI/CD) CI/CD是现代软件开发流程的关键组成部分。理解Jenkins、GitLab CI/CD...
6. 监控与日志:Prometheus、ELK Stack(Elasticsearch、Logstash、Kibana)提供实时监控和日志分析能力。 7. 云平台:AWS、Azure、Google Cloud等云服务商提供了丰富的DevOps工具和服务。 四、DevOps最佳实践 1. ...
- 日志收集(如Logstash)和分析(如ELK Stack)对于故障排查至关重要。 - 监控工具(如Prometheus、Grafana)实时监控系统性能指标。 10. **持续集成/持续部署(CI/CD)** - Jenkins、GitLab CI/CD等工具实现自动...
10. 监控和日志:如Prometheus、ELK Stack(Elasticsearch、Logstash、Kibana),用于收集、分析和展示系统运行数据。 这个"Ops 201笔记"项目可能是对这些知识的详细记录和总结,通过学习笔记,可以帮助读者深入...
6. 监控与反馈:使用日志分析和性能监控工具(如ELK Stack或Prometheus)收集数据,发现问题并进行优化。 四、DevOps的最佳实践 1. 基于微服务的架构:微服务架构使得每个服务都可以独立开发、部署和扩展,提高...
8. **监控与日志**:Prometheus、Grafana用于监控服务性能,ELK Stack(Elasticsearch、Logstash、Kibana)处理日志收集和分析。 9. **容错机制**:Hystrix等库提供断路器模式,防止服务故障导致整个系统的雪崩。 ...