最新消息:XAMPP默认安装之后是很不安全的,我们只需要点击左方菜单的 "安全"选项,按照向导操作即可完成安全设置。

XAMPP教程_ELK日志系统原理及其构建

XAMPP下载 admin 81浏览 0评论

ELK分别是Elasticsearch,Logstash,Kibana三个开源框架缩写。

 

架构:

filebeat-> redis-> logstash-> es-> kibana

关键词:多服务器,转发,汇总,展示,轻量级

  • 每个客户端需要安装filebeat收集PHP日志
  • filebeat把收集到的日志传到redis
  • logstash从redis里删除一条日志
  • logstash把日志寄到
  • 最后kibana可视化查询日志

官网:https://www.elastic.co/cn/blog/kibana-4-video-tutorials-part-1

四个包都可以解压即用,不用安装

DA73

Elasticsearch:

/config/elasticsearch.yml

#———————————-网络————– ———————

#设置绑定地址为特定的IP地址(IPv4或IPv6):

network.host:0.0.0.0 ##服务器ip本机

#为HTTP设置自定义端口:

http.port:9200 ##服务端口

#有关更多信息,请参阅网络模块文档。

启动elasticsearch

/ Applications / XAMPP / xamppfiles / htdocs / ELK / elasticsearch / bin / elasticsearch#命令窗口运行

/ Applications / XAMPP / xamppfiles / htdocs / ELK / elasticsearch / bin / elasticsearch -d#后台线程运行

关闭elasticsearch

ctrl + c#命令窗口关闭

ps -ef | grep elastic#后台线程关闭

kill -9 4442 ## pid 4442为查处线程的pid

启动测试连接:

http://127.0.0.1:9200/

kibana:

/config/kibana.yml

server.port:5601 ##服务端口

server.host:”0.0.0.0“ ##服务器ip本机

elasticsearch.url:“ http:// localhost:9200” ## elasticsearch服务地址与elasticsearch对应

启动:

/ Applications / XAMPP / xamppfiles / htdocs / ELK / kibana / bin / kibana#命令窗口启动

nohup /应用程序/ XAMPP / xamppfiles / htdocs / ELK / kibana / bin / kibana和#后台线程启动

关闭木瓜

ctrl + c#命令窗口关闭

ps -ef | grep kibana#后台线程关闭

kill -9 4525 ## pid 4525为查处线程的pid

常见错误:

1,运行调试达到

重试失败的操作,响应代码为:403({“ type” =>“ cluster_block_exception”,“ reason” =>“ index [logstash-2019.07.30]被以下对象阻止:[FORBIDDEN / 12 / index只读/允许删除(api )];”})

解决办法1

在kibana开发控制台执行以下语句即可

 

 

 

 

 

 

 

 

解决方法2

如果kibana无法执行命令,可以使用以下命令解决

 

Logstash:

/config/server.conf

 

#配置logstash输入源

输入{

    #输出到redis

    Redis {

        host =>“ localhost”#redis主机地址

        port => 6379#redis端口号

        data_type =>“ list”#使用发布/订阅模式

        key =>“ logstash_list_0”#发布通道名称

    }

}

过滤{

    ##匹配领事健康检查获取请求

    if([message] =〜“ healthcheck.php”){

        ###设定

        下降{}

    }

}

 

#配置输出的地方

输出{

  #控制台

  标准输出{编解码器=> ruby​​debug}

  #es

  elasticsearch {

        主机=> [“ localhost:9200”]

    }

}

启动:

/ Applications / XAMPP / xamppfiles / htdocs / ELK / logstash / bin / logstash -f /Applications/XAMPP/xamppfiles/htdocs/ELK/logstash/config/server.conf ##命令窗口形式

Nohup /应用程序/ XAMPP / xamppfiles / htdocs / ELK / logstash / bin / logstash -f

/Applications/XAMPP/xamppfiles/htdocs/ELK/logstash/config/server.conf&##后台线程形式

关闭:

ctrl + c#命令窗口关闭

ps -ef | grep logstash#后台线程关闭

kill -9 4617 ## pid 4617为查处线程的pid

Logstash持久化到磁盘

当发生异常情况时,日志记录重新启动,有可能发生数据丢失,可以选择日志记录持久化到磁盘,修改之前重新启动日志记录数据丢失,修改后重启日志记录数据不丢失。以下是具体操作:

在config / logstash.yml中进行配置以下内容

queue.type:持久

path.queue:/ usr / share / logstash / data#串行存储路径;如果串行类型为persisted,则执行

queue.page_capacity:250mb#长度为持久化,尺寸大小

queue.max_events:0#当启用持久化串行时,串联中未读事件的最大数量,0为不限制

queue.max_bytes:1024mb#位数最大容量

queue.checkpoint.acks:1024#在启用持久性时强制执行检查点的最大数量,0为不限制

queue.checkpoint.writes:1024#在启用持久性时强制执行检查点之前的最大数量的写入事件,0为不限制

queue.checkpoint.interval:1000#当启用永久性时,在头页面上强制一个检查点的时间间隔

修改完后,重启logstash

文件拍:

/filebeat.yml

output.redis:

   主机:“ 127.0.0.1:6379”#输出到redis的机器

   超时:5#连接超时时间

   键:“ logstash_list_0”#以默认列表的键传输到redis

filebeat.inputs:

#每个-是输入。可以在输入级别设置大多数选项,因此

#您可以为各种配置使用不同的输入。

#以下是输入的特定配置。

-类型:日志

  #更改为true以启用此输入配置。

  已启用:true

  #应该爬网和获取的路径。基于glob的路径。

  路径:

    -/ Applications / XAMPP / xamppfiles / htdocs / ELK / filebeat / logs / input#检测日志文件路径

    #-c:\ programdata \ elasticsearch \ logs \ *

启动:

/ Applications / XAMPP / xamppfiles / htdocs / ELK / filebeat / filebeat -c /Applications/XAMPP/xamppfiles/htdocs/ELK/filebeat/filebeat.yml

其他配置  /filebeat/modules.d/**

配置路径

修改文件名,去掉disable

转载请注明:XAMPP中文组官网 » XAMPP教程_ELK日志系统原理及其构建