目錄
Kibana+Logstash+Elasticsearch 日志查询系统,kibanalogstash
1 安装需求
1.1 理论拓扑
1.2 安装环境
1.2.1 硬件环境
1.2.2 操作系统
1.2.3 Web-server基础环境
1.2.4 软件列表
1.3 获取方法
1.3.1 Jdk获取路径
1.3.2 Logstash获取路径
1.3.3 Elasticsearch获取路径
1.3.4 Kibana获取路径
2 安装步骤
2.1 JDK的下载及安装
2.2 Redis下载及安装
2.3 Elasticsearch下载及安装
2.4 Logstash下载及安装
2.5 Kibana下载及安装
3 相关配置及启动
3.1 Redis配置及启动
3.1.1 配置文件
3.1.2 Redis启动
3.2 Elasticsearch 配置及启动
3.2.1 Elasticsearch启动
3.2.2 Elasticsearch 群集配置
3.3 Logstash配置及启动
3.3.1 Logstash配置文件
3.3.2 Logstash启动为Index
3.3.3 Logstash启动为agent
3.3.4 kibana配置
4 性能调优
4.1 Elasticsearch调优
4.1.1 JVM调优
4.1.2 Elasticsearch索引压缩
5 使用
5.1 Logstash查询页
首頁 php教程 php手册 Kibana+Logstash+Elasticsearch 日志查询系统,kibanalogstash

Kibana+Logstash+Elasticsearch 日志查询系统,kibanalogstash

Jul 06, 2016 pm 02:25 PM
紀錄 查詢系統

Kibana+Logstash+Elasticsearch 日志查询系统,kibanalogstash

  搭建该平台的目的就是为了运维、研发很方便的进行日志的查询。Kibana一个免费的web壳;Logstash集成各种收集日志插件,还是一个比较优秀的正则切割日志工具;Elasticsearch一个开源的搜索引擎框架(支持群集架构方式)。

 

1 安装需求

1.1 理论拓扑

 

1.2 安装环境

1.2.1 硬件环境

192.168.50.62(HP DL 385 G7 、RAM:12G、CPU:AMD 6128、DISK:SAS 146*4)

192.168.50.98(HP DL 385 G7 、RAM:12G、CPU:AMD 6128、DISK:SAS 146*6)

192.168.10.42 (Xen虚拟机、RAM:8G、CPU:×4、DISK:100G)

1.2.2 操作系统

CentOS 5.6 X64

1.2.3 Web-server基础环境

Nginx+php(安装过程略过)

1.2.4 软件列表

JDK 1.6.0_25

logstash-1.1.0-monolithic.jar

elasticsearch-0.18.7.zip

redis-2.4.12.tar.gz

kibana

1.3 获取方法

1.3.1 Jdk获取路径

http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u25-download-346242.html

1.3.2 Logstash获取路径

http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar

1.3.3 Elasticsearch获取路径

https://github.com/downloads/elasticsearch/elasticsearch/ elasticsearch-0.18.7.zip

1.3.4 Kibana获取路径

http://github.com/rashidkpc/Kibana/tarball/master

2 安装步骤

2.1 JDK的下载及安装

基础安装

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

2.2 Redis下载及安装

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}

2.3 Elasticsearch下载及安装

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

2.4 Logstash下载及安装

mkdir –p /data/logstash/ && cd /data/logstash

wget http://semicomplete.com/files/logstash/logstash-1.1.0-monolithic.jar

2.5 Kibana下载及安装

wget http://github.com/rashidkpc/Kibana/tarball/master --no-check-certificate

tar zxvf master

3 相关配置及启动

3.1 Redis配置及启动

3.1.1 配置文件

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

3.1.2 Redis启动

[logstash@Logstash_2 redis]# redis-server /data/redis/etc/redis.conf &

3.2 Elasticsearch 配置及启动

3.2.1 Elasticsearch启动

[logstash@Logstash_2 redis]# /data/elasticsearch/elasticsearch-0.18.7/bin/elasticsearch –p ../esearch.pid &

3.2.2 Elasticsearch 群集配置

curl 127.0.0.1:9200/_cluster/nodes/192.168.50.62

3.3 Logstash配置及启动

3.3.1 Logstash配置文件

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"

}

}

3.3.2 Logstash启动为Index

java -jar logstash.jar agent -f my.conf &

3.3.3 Logstash启动为agent

配置文件

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.4 kibana配置

首先在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

5 使用

5.1 Logstash查询页

使用火狐浏览器或者谷歌浏览器访问 http://logstash.test.com

 

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

win10的事件ID 6013是什麼? win10的事件ID 6013是什麼? Jan 09, 2024 am 10:09 AM

win10的日誌可以幫助使用者詳細的了解系統使用情況,很多的使用者在尋找自己的管理日誌的時候,一定都遇到過日誌6013吧,那麼這個程式碼的意思是什麼呢,下面就來介紹一下。 win10日誌6013是什麼:1.這個是正常的日誌。這個日誌的資訊並不是表示你的電腦重啟了,而是說明自從上次啟動以來,系統運行了多長的時間了。日誌會每天12點整出現一次。如何查看系統運作多久了,可以在cmd中輸入systeminfo。其中有一行就是。

日誌記錄器緩衝區大小日誌有什麼用 日誌記錄器緩衝區大小日誌有什麼用 Mar 13, 2023 pm 04:27 PM

作用是:給工程師們回饋使用資訊與記錄方便分析問題(開發時使用的);由於使用者本身不是經常產生上傳日誌,所以對使用者無用。日誌記錄緩衝區是小型的、用於短期儲存將寫入到磁碟上的重做日誌的變更向量的臨時區域。日誌緩衝區對磁碟的一次寫入是來自多個交易的一批變更向量。即使如此,日誌緩衝區中的變更向量也是接近即時寫入磁碟,當會話發出COMMIT語句時,會即時執行日誌緩衝區寫入操作。

解決Win10中的事件7034錯誤日誌問題 解決Win10中的事件7034錯誤日誌問題 Jan 11, 2024 pm 02:06 PM

win10的日誌可以幫助用戶詳細的了解系統使用情況,很多的用戶在尋找自己的管理日誌的時候,肯定都看到過很多的錯誤日誌吧,那麼該怎麼解決他們呢,下面就一起來看看吧。 win10日誌事件7034怎麼解決:1、點擊“開始”打開“控制面板”2、找到“管理工具”3、點擊“服務”4、找到HDZBCommServiceForV2.0右鍵“停止服務”,並改為“手動啟動」

如何在ThinkPHP6中使用日誌 如何在ThinkPHP6中使用日誌 Jun 20, 2023 am 08:37 AM

隨著網路和Web應用的快速發展,日誌管理也越來越重要。在開發Web應用時,如何尋找和定位問題是一個非常關鍵的問題。日誌系統是一種非常有效的工具,可以幫助我們實現這些任務。 ThinkPHP6提供了一個強大的日誌系統,可以幫助應用程式開發人員更好地管理和追蹤應用程式中發生的事件。本文將介紹如何在ThinkPHP6中使用日誌系統,以及如何利用日誌系統

如何在iPhone上的健康應用程式中查看您的用藥日誌記錄 如何在iPhone上的健康應用程式中查看您的用藥日誌記錄 Nov 29, 2023 pm 08:46 PM

iPhone可讓您在「健康」App中添加藥物,以便追蹤和管理您每天服用的藥物、維生素和補充劑。然後,您可以在設備上收到通知時記錄已服用或跳過的藥物。記錄用藥後,您可以查看您服用或跳過用藥的頻率,以幫助您追蹤自己的健康狀況。在這篇文章中,我們將指導您在iPhone上的健康應用程式中查看所選藥物的日誌歷史記錄。如何在「健康」App中查看用藥日誌歷史記錄簡短指南:前往「健康」App>瀏覽「>用藥」>用藥「>選擇一種用藥>」選項「&a

Linux系統查看log日誌指令詳解! Linux系統查看log日誌指令詳解! Mar 06, 2024 pm 03:55 PM

在Linux系統中,可以使用下列指令來查看日誌檔案的內容:tail指令:tail指令用來顯示日誌檔案的末尾內容。它是查看最新日誌資訊的常用命令。 tail[選項][檔案名稱]常用的選項包括:-n:指定要顯示的行數,預設為10行。 -f:即時監視文件內容,並在文件更新時自動顯示新的內容。範例:tail-n20logfile.txt#顯示logfile.txt檔案的最後20行內容tail-flogfile.txt#即時監視logfile.txt檔案的更新內容head指令:head指令用於顯示記錄檔的開頭

了解win10日誌中事件ID455的意義 了解win10日誌中事件ID455的意義 Jan 12, 2024 pm 09:45 PM

win10的日誌有著很多豐富的內容,很多的用戶在尋找自己的管理日誌的時候,肯定都見過事件ID455顯示錯誤,那麼它到底是什麼意思呢,下面就一起來看看。 win10日誌中事件ID455是什麼:1、ID455是訊息儲存開啟日誌檔案時<檔案>發生的錯誤<錯誤>

不同類型的Linux日誌檔及設定步驟 不同類型的Linux日誌檔及設定步驟 Feb 26, 2024 pm 10:54 PM

Linux日誌檔案種類及設定方法在Linux系統中,日誌檔案是非常重要的,它記錄了系統的運作狀態、使用者的操作以及各種事件的發生。透過查看日誌文件,系統管理員可以及時發現問題並進行相應的處理。本文將介紹Linux系統中常見的日誌檔案種類及如何設定日誌記錄。一、日誌檔案種類系統日誌:系統日誌是記錄系統運作狀態的日誌文件,包括系統啟動、關機、服務啟動和停止等信

See all articles