Kibana+Logstash+Elasticsearch 日志查询系统
搭建该平台的目的就是为了运维、研发很方便的进行日志的查询。Kibana一个免费的web壳;Logstash集成各种收集日志插件,还是一个比较优秀的正则切割日志工具;Elasticsearch一个开源的搜索引擎框架(支持群集架构方式)。
服务器配置:
(HP DL 385 G7 、RAM:12G、CPU:AMD 6128、DISK:SAS 146*4)
(Xen虚拟机、RAM:8G、CPU:×4、DISK:100G)
服务器ip:
192.168.50.62(logstash 角色agent)
192.168.50.98(redis消息队列服务、logstash 角色indexing、Elasticsearch)
192.168.10.42(kibana)
CentOS 5.6 X64
Nginx+php(安装过程略过)
JDK 1.6.0_25
logstash-1.1.0-monolithic.jar
elasticsearch-0.18.7.zip
redis-2.4.12.tar.gz
kibana
http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html
http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar
https://github.com/downloads/elasticsearch/elasticsearch/ elasticsearch-0.18.7.zip
http://github.com/rashidkpc/Kibana/tarball/master
基础安装
wget http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-linux-x64.bin
sh jdk-6u25-linux-x64.bin
mkdir -p /usr/java
mv ./jdk1.6.0_25 /usr/java
ln –s /usr/java/jdk1.6.0_25 /usr/java/default
编辑 /etc/profile文件,加入以下行内容
export JAVA_HOME=/usr/java/default
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
刷新环境变量
source /etc/profile
wget http://redis.googlecode.com/files/redis-2.4.14.tar.gz
make –j24
make install
mkdir -p /data/redis
cd /data/redis/
mkdir {db,log,etc}
cd /data/
mkdir –p elasticsearch && cd elasticsearch
wget --no-check-certificate https://github.com/downloads/elasticsearch/elasticsearch/ elasticsearch-0.18.7.zip
unzip elasticsearch-0.18.7.zip
mkdir –p /data/logstash/ && cd /data/logstash
wget http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar
wget http://github.com/rashidkpc/Kibana/tarball/master --no-check-certificate
tar zxvf master
首先需要提前启动消息队列(redis),Elasticsearch服务,假如不提前启动,而去启动logstash会有报错,原因logstash不能连接对应的服务。
vim /data/redis/etc/redis.conf
#----------------------------------------------------
#this is the config file for redis
pidfile /var/run/redis.pid
port 6379
timeout 0
loglevel verbose
logfile /data/redis/log/redis.log
databases 16
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /data/redis/db/
slave-serve-stale-data yes
appendonly no
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
slowlog-log-slower-than 10000
slowlog-max-len 128
vm-enabled no
vm-swap-file /tmp/redis.swap
vm-max-memory 0
vm-page-size 32
vm-pages 134217728
vm-max-threads 4
hash-max-zipmap-entries 512
hash-max-zipmap-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
[logstash@Logstash_2 redis]# redis-server /data/redis/etc/redis.conf &
[logstash@Logstash_2 redis]# /data/elasticsearch/elasticsearch-0.18.7/bin/elasticsearch –p ../esearch.pid &
配置文件
input {
file{
type => "linux-syslog"
path => [ "/var/log/*.log", "/var/log/messages", "/var/log/syslog" ]
}
file {
type => "nginx-access"
path => "/usr/local/nginx/logs/access.log"
}
file {
type => "nginx-error"
path => "/usr/local/nginx/logs/error.log"
}
}
output {
redis {
host => "192.168.50.98"
data_type =>"list"
key => "logstash:redis"
}
}
Agent 启动方法
java -jar logstash-1.1.0-monolithic.jar agent -f shipper.conf &
3.3.2 Logstash启动为Index(从redis读取日志,负责日志的切割,存储至Elasticsearch)
input {
redis {
host => "192.168.50.98"
data_type =>"list"
key => "logstash:redis"
type => "redis-input"
}
}
filter {
grok {
type => "linux-syslog"
pattern => "%{SYSLOGLINE}"
}
grok {
type => "nginx-access"
pattern => "%{NGINXACCESSLOG}"
}
}
output {
elasticsearch {
host =>"192.168.50.62"
}
}
启动方法
java -jar logstash.jar agent -f my.conf &
首先在nginx添加站点配置
server {
listen 80;
server_name logstash.test.com;
index index.php;
root /usr/local/nginx/html;
#charset koi8-r;
#access_log logs/host.access.log main;
location ~ .*\.(php|php5)$
{
#fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
}
4 性能调优
4.1 Elasticsearch调优
4.1.1 JVM调优
编辑Elasticsearch.in.sh文件
ES_CLASSPATH=$ES_CLASSPATH:$ES_HOME/lib/*:$ES_HOME/lib/sigar/*
if [ "x$ES_MIN_MEM" = "x" ]; then
ES_MIN_MEM=4g
fi
if [ "x$ES_MAX_MEM" = "x" ]; then
ES_MAX_MEM=4g
fi
4.1.2 Elasticsearch索引压缩
vim index_elastic.sh
#!/bin/bash
#comperssion the data for elasticsearch now
date=` date +%Y.%m.%d `
# compression the new index;
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/nginx-access/_mapping -d '{"nginx-access" : {"_source" : { "compress" : true }}}'
echo ""
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/nginx-error/_mapping -d '{"nginx-error" : {"_source" : { "compress" : true }}}'
echo ""
/usr/bin/curl -XPUT http://localhost:9200/logstash-$date/linux-syslog/_mapping -d '{"linux-syslog" : {"_source" : { "compress" : true }}}'
echo ""
保存该脚本并执行
sh index_elastic.sh
使用火狐浏览器或者谷歌浏览器访问 http://logstash.test.com
from http://enable.blog.51cto.com/747951/1049411
相关推荐
标题 "es+kibana+logstash" 暗示了我们正在讨论的是 Elastic Stack 的核心组件,即 Elasticsearch、Kibana 和 Logstash。这是一套用于日志管理和分析的强大工具,广泛应用于各种业务场景,包括实时监控、故障排查、...
ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后...
基于docker-compose构建filebeat + Logstash +Elasticsearch+ kibana日志系统 对nginx日志进行正则切割字段。 https://www.jianshu.com/p/f7927591d530
总结来说,"elasticsearch+kibana+logstash" 组合通常被称为ELK堆栈,是企业级日志管理和分析的流行解决方案。Elasticsearch 处理和存储数据,Kibana 进行数据可视化,而 Logstash 负责数据收集和预处理。配合中文...
- Logstash 是 ELK 堆栈中的数据处理管道,负责接收 Suricata 输出的日志并转发给 Elasticsearch。 - 安装 Logstash 通常涉及下载软件包,配置输入插件(如 Suricata 的 eve.json 输出格式),以及输出插件指向 ...
Logstash 是一个数据收集和处理管道工具,它可以从各种来源(如日志文件、数据库等)收集数据,然后通过过滤器进行清洗、转换,最后将处理后的数据发送到存储系统(如 Elasticsearch)。Logstash 的关键特点有: 1....
总结起来,"elasticsearch+logstash+kibana+filebeat.7z (ELK 7.9.0)" 压缩包包含了一套完整的日志管理和分析工具链,适用于大数据环境,可以帮助企业实现高效的数据收集、处理、存储和可视化。通过使用这套工具,...
2019年elaticsearch6.6.0,kibana6.6.0,logstash6.6.0不再使用x-pack,替换为search guard安装教程。
1,什么是Logstash 2,日志平台架构及Logstash技术要点 3,Kibana界面查询过滤操作 4,Kibana一些实例介绍 5,导航界面介绍及如何接入
2019年elaticsearch6.6.0的安装教程,kibana6.6.0安装教程,logstash6.6.0安装教程,ik分词器,head插件,bigdesk等插件安装教程,x-pack使用等。
filebeat+logstash+ES集群+kibana实战.txt
第一步是设置数据源,根据我们之前推送给elasticsearch的日志数据,使用management标签创建索引模式; 第二步根据第一步创建的索引模式,使用Visualize 标签页用来设计可视化图形; 第三步根据第二步做好的可视化...
《实战Elasticsearch、Logstash、Kibana++分布式大数据搜索与日志挖掘及可视化解决方案》这本书涵盖了在大数据环境中如何高效地实现数据搜索、处理、分析以及可视化的关键技术和工具。以下是该书所涉及的核心知识点...
kibana-7.5.2-linux-x86_64.tar.gz下载,另外还有同版本elasticsearch-7.5.2下载,logstash-7.5.2下载,打开TXT文本后使用百度网盘下载。
Logstash, OSSEC + Logstash + Elasticsearch + Kibana OSSEC使用 LOGSTASH - ELASTICSEARCH - KIBANA 管理 OSSEC警报管理现在是Magento安装脚本的一部分。 https://github.com/magenx/Magento-Automat
大数据搜索与日志挖掘及可视化方案--ELK+Stack+Elasticsearch+Logstash+Kibana大数据搜索与日志挖掘及可视化方案--ELK+Stack+Elasticsearch+Logstash+Kibana
《实战Elasticsearch、Logstash、Kibana++分布式大数据搜索与日志挖掘及可视化解决方案》这本书主要聚焦于使用Elasticsearch、Logstash和Kibana构建高效的大数据处理和可视化平台。以下是对这些关键组件及其在实际...
elasticsearch-7.6.1+kibana-7.6.1+logstash-7.6.1安装包
说明文档E-mail:Blog:======ELK集成: Awesant + Logstash + Elasticsearch +Kibana + Nginx + Redis======单机版(Standalone): Logstash-index(收集日志)+ Elasticsearch(索引)+ Kibana(前端) +Nginx...
Elasticsearch、Kibana 和 Logstash 是 ELK(Elasticsearch、Logstash、Kibana)堆栈的三大核心组件,它们共同构成了一个强大的日志管理和分析解决方案。ELK 堆栈在IT运维、故障排查、业务监控等领域有着广泛的应用...