ELK日志分析系统

日志管理方案:

服务器数量较少时:

直接登录到目标服务器捞日志查看 --> 通过rsyslog或shell/python 等脚本实现日志收集,并集中保存到统一的日志服务器

服务器数量较多时:

ELK 大型的日志系统,实现日志收集、日志存储、日志检索和分析

容器环境:

EFK Loki+Granfana

ELK组件:

复制代码
Logstash:收集日志数据,通过插件模块对数据进行过滤,格式化处理再输出

ElasticSearch:存储日志数据,并创建索引,方便全文检索
      集群化部署,节点分三种类型:master/data/client,设置相同的cluster.name并使用zen discovery通过单播的方式加入到集群中

Kiabana:接入ElasticSearch的数据源,将日志数据进行图形化展示,方便用户通过浏览器查看、统计、分析日志

Filebeat:替代logstash采集日志数据
Fluentd:替代logstash采集日志数据和过滤转换等功能,常用于k8s容器环境

kafka/redis:作为mq消息队列,实现流量削峰、缓冲等功能
复制代码

ELK 的工作原理:

(1)在所有需要收集日志的服务器上部署Logstash;或者先将日志进行集中化管理在日志服务器上,在日志服务器上部署 Logstash。

(2)Logstash 收集日志,将日志格式化并输出到 Elasticsearch 群集中。

(3)Elasticsearch 对格式化后的数据进行索引和存储。

(4)Kibana 从 ES 群集中查询数据生成图表,并进行前端数据的展示。

总结:

logstash作为日志搜集器,从数据源采集数据,并对数据进行过滤,格式化处理,然后交由Elasticsearch存储,kibana对日志进行可视化处理。

Elasticsearch索引管理

复制代码
#创建索引
curl  -X PUT http://192.168.116.0:9200/<索引名>[/<类型>/<文档>?pretty&pretty] [-H 'content-Type: appliction/json' -d '{"键名1":"键值","键名2":"键值"}']
#删除索引:
curl -X DELETE http://ip:9200/<索引名>[,<索引名2>,...]
#查看索引配置:
curl -X GET http://ip:9200/<索引名>/_settings
#修改索引配置:
curl -X PUT http://ip:9200/<索引名>/_settings -H 'content-Type: appliction/json' -d '{"键名":"键值"}'
#创建索引别名:
curl -X POST http://ip:9200/_aliases -H 'content-Type: appliction/json' -d '{"actions":[{"add":{"index":"索引名","alias":"索引别名"}}]}'
#删除索引别名:
curl -X POST http://ip:9200/_aliases -H 'content-Type: appliction/json' -d '{"actions":[{"remove":{"index":"索引名","alias":"索引别名"}}]}'
复制代码

ELK 部署:

 Elasticsearch部署:

#环境准备

 准备两台node节点服务器,以及一台nginx服务器

 在node节点 部署 Elasticsearch 软件

将Elasticsearch的rpm包上传到/opt目录下,并进行安装

 修改Elasticsearch主配置文件

 #指定数据和日志的存放路径

 #避免es使用swap分区

 #设置监听地址和监听端口

 #集群发现通过单播实现,指定要发现的节点

 #node2节点也一样配置

 #进行内核调优

重新启动后优化生效

 #启动Elasticsearch,检查配置是否成功

 #浏览器中访问node1和node2节点地址,查看node1和node2信息

#查看群集的健康情况,可以看到 status 值为 green(绿色), 表示节点健康运行

 #state?pretty  检查群集状态信息

这样的页面查看信息对用户很不友好

我们可以安装 Elasticsearch-head 插件 来进行图形化的管理

 修改 Elasticsearch 主配置文件

 #开启跨越访问支持

#指定跨越访问允许的域名地址为所有

 重新启动服务

 #插入索引

 

 

在nginx节点上部署 Logstash

Logstash 一般部署在需要监控其日志的服务器。用于收集 nginx 服务器的日志信息并发送到 Elasticsearch。

将 Logstash软件包上传到/opt目录下,并解压

 启动Logstash服务

 定义 logstash配置文件

 

 在node1节点上部署 Kibana

 

将Kibana软件包上传到/opt目录中,并解压

 设置Kibana主配置文件

开启服务

 

posted @   打开方式不对  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示