Linux的企业-ELK日志分析

简介:

一、简介

1、核心组成

ELKElasticsearchLogstashKibana三部分组件组成;

Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash是一个完全开源的工具,它可以对你的日志进行收集、分析,并将其存储供以后使用

kibana 是一个开源和免费的工具,它可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。


2、四大组件

Logstash: logstash server端用来搜集日志;

Elasticsearch: 存储各类日志;

Kibana: web化接口用作查寻和可视化日志;

Logstash Forwarder: logstash client端用来通过lumberjack 网络协议发送日志到logstash server;


3、ELK工作流程

在 需要收集日志的所有服务上部署logstash,作为logstash agent(logstash shipper)用于监控并过滤收集日志,将过滤后的内容发送到Redis,然后logstash indexer将日志收集在一起交给全文搜索服务ElasticSearch,可以用ElasticSearch进行自定义搜索通过Kibana 来结合自定义搜索进行页面展示。

wKioL1YWGBnxpAwyAAGFWRpT6X8070.jpg


4、ELK的帮助手册

ELK官网:https://www.elastic.co/

ELK官网文档:https://www.elastic.co/guide/index.html

ELK中文手册:http://kibana.logstash.es/content/elasticsearch/monitor/logging.html


注释

ELK有两种安装方式

(1)集成环境:Logstash有一个集成包,里面包括了其全套的三个组件;也就是安装一个集成包。

(2)独立环境:三个组件分别单独安装、运行、各司其职。(比较常用)

二.安装配置

1.环境配置

server1:172.25.29.1 master

server2:172.25.29.2 data

server3:172.25.29.3 data

2.安装

eadd5c5b28ba462c23df0082e8796b37.png

安装java环境

b99c82804f65301409d1e9083dc4a4df.png


3.配置server1

14bbb830023be24f556bc065832f8da7.png

8723fd5de21591ef0eeb3fd0773953a4.png

05c576cb5d79c83cf2ddd7743dfa8d5c.png

918098c3a60656d77a1a639f80d40104.png

dcdbea9dbc5b3651ddb6fa5349bba73b.png


4.测试是否正常

2c7203832fa9a5c731055728b6ddd213.png

66799606294a10d0353b615696bc5ea2.png

三.安装head插件,web访问管理节点,配置节点server2

1.安装插件

2cb1ec71f3850d532ae553a2ded79de1.png

f1ca6ab25d501c754dc1f75f323cb927.png


查看插件是否安装成功

28c5b92d507a764754e118bcd3463920.png


2.网页通过访问管理节点172.25.29.1:9200/_plugin/head/

2e4cce9da8955fa209078ede38bc1544.png

测试采集

5330ba3251e7778cc355384f6ddb338c.png


3.增加第二台主机server2

安装配置服务,注意打开server1和server2的discovery选项,并修改正确的主机名

fb0d7b4420c84810e430ab6bca46f053.png

564e78578636912ea311802167ec8eea.png

e1903fadded705349cad8f303d6395b5.png

88aa213005bd23b652c55a7f9e5e6577.png


server1和server2都要修改

03208b391c48e0456669adc7c78b82ab.png

396570ade29bcb17c75023c4dd9130d9.png


4.访问master节点,server1和server显示正常

e11b5190428f6da447c005cd75313716.png



四.添加server3数据存储节点

1.配置server1的/etc/elasticsearch/elasticsearch.yml

将server1节点设置为master,不储存数据

安装elasticsearch  

vim /etc/elasticsearch/elasticsearch.yml


46472534bbca27637ca8b132a4434ebb.png


2.配置server2的/etc/elasticsearch/elasticsearch.yml

将server2节点设置为只储存数据

3b62ed3aed7480b22878720f8e668bd1.png

147d4becb0c9c1903e85a188724b7674.png

为了安全,httpd访问关闭

d23e50642c3aeae5a218667b3679e20e.png

d32037f6ae25dff41f92c48b8f452d2f.png

564305045cbb2712587ff1af61fb295b.png


3.配置server3的/etc/elasticsearch/elasticsearch.yml

将server3节点设置为只储存数据,关闭httpd

2ba3f144e763de480655234a148532d1.png

0facc4fa426bb9d6e44758ba6f31f5dc.png


4.web端master管理端显示正常

eeaa9f0d488b79874a28d48c3407ffa9.png


五.Logstash日志采集工具

1.安装工具并启动(标准输入和标准输出)

553a0572c12f0a27295255c8956864b4.png


2.可以查看到的信息选项

4df3cd8c1ad5a1bc0ea8e294c6d38753.png

01f84f58ba88b6091224d62ca9458f99.png


3.将输入输出写到conf文件中

89c9a099e7750b67f3a41723f1ae811e.png


标准输入,将输出导入到elasticsearch中

132aabbfe302acf35f314d6a7e2ffafb.png


4.查询elasticsearch日志结果

838b99862a095a8c1f6728439cf6e217.png

06ca0824b0b7d41002a0fe5ac0ec44c1.png


4581fd94ea03ae7c80c6d854fc2ad63a.png


5.以ruby语言的显示方式

e0ec8502d62f7e744cdfb33b51c57973.png

64199fc6e6fc87fd353370bf84862d6d.png


6.以ruby语言的显示方式,并输出一份到/tmp/testfile

c8d996282e0cc9ef945d1fac750a460c.png


启动

ac4051e71230977c216560cea21f5cff.png

568b9d82639e5a510416f93477af13c0.png

94556e43c63a67a552c9dfa702776081.png



六.配置采集server1的日志elasticsearch

1.在server1上 vim syslog.conf

server2采集的日志传给server1上的elasticsearch

e0898f46d1fb4c5447cf1b624643750e.png

2.在server2按配置接收日志端

1fa5e7132c9cc7dcdc7f165ec7881536.png


3.重启服务,发送测试日志

c56055651efacb7d6669d1137a719a5b.png


4.server1启动logstash.conf文件,日志端口514打开

e4d874d93769a81b38c2af8e6e2fb6d4.png

测试:

30c91f43921d092f7b82fdbc90d1fc94.png

71bc1e8d6e79423508594d02b0614a08.png




七.不同格式的日志采集和输出

1.在server1上 vim syslog.conf,不同的日志传给不同的地方

86621d19e0370571af03306dc6f21181.png

ec9cfe8276ae5def1948c728703ca8fb.png


2.查看httpd日志权限是否能够读取

51068dcab8c3deb53e20b60f754297c4.png


3.启动

112e6192e9a276b7542486c3059c90c1.png

563e14ca1a9ca1fd5272a4cd8ac9856b.png

215a332b914dc1b406c43b3e1477d7fa.png



八.设置采集elasticsearch日志

1.查看elasticsearch是否有权限读取日志

98d513688e8ab17ca4a97df839436c5a.png


查看多段日志

36582624e5bde271cd1d3e6c95086a63.png


2.vim demo.conf

多端输入,以beginning开始

c90c7b202398a6abe06c92a32cd74fca.png

20cf52685a804ab285ae699fbd798e00.png

9b38dd13422268d28349b9a4d6463ffe.png

960160ec2cd946952ea84718ed053979.png


九.采集日志存放在redis

1.在server2安装redis

a8dfe6865cd0ba5307b7747cd5f93a5e.png

e5ff2a7307c7c2da1929761ff3675d71.png


2.配置 vim redis.conf,将采集日志存放在redis中,启动redis

08abadb21cb40bd25f7be4460ca02c2b.png


084864afbd5bfcfb003676a52369a224.png

查看server2 redis已经存入数据

0e1f6d50f499836bc252ab9d6f42fb0c.png


注意:在根目录下会生成隐藏的记录文件,有时会影响的采集,需要删除

8310decccd37f48647b57403caea079b.png


十.tcp日志的采集

041ed30d9f7a5cb712b08cf6894d01eb.png

800df8035438d431b8cd931e4730a9eb.png

88e2c419e6561be78e780fe03b7c1343.png


测试:

1.写入设备

764d445f186342d164bf9ac0a6de8358.png

f5df91b9f5fb8bddbf11be525cafddff.png

2.nc命令

0cffd613d60956cae46c79a3b8499ca9.png

b6357a58a0b6dcaf4c2c7215b9244e98.png


十一.Kibana日志分析工具

1.kibana的安装配置

7ac5cd47638a0a5095d43ddf25f8e84f.png

2a063a5adea603ee69ab23094af557ee.png

bc514672c80dd0e1f59eccafb3f41d44.png

9f140c73cea1409e3388ed2a51dc3b8c.png

23ce164fbc608e9ed1db4b0997f7684c.png


2.添加监控项目

启动httpd日志采集

40868fa66d4d9f13a397b955fdd79812.png

d562c1c4e95c157815e6a697ac70c47c.png


a847573a45ff3613fdb5190459b48f3c.png

af3748bfe2bf34f42c59e42269ad2a0b.png

ac9475318de7050222876d95bb763a26.png


22274f4c0771348424770983daee419f.png




3.添加httpd日志监控,加上不同来源的分析

调用过滤变量

4eae2182489bb65e4543fccb32e83aaf.png

7f601799f7b6498ec83426e56870bb48.png

90623537537bf5adfe9bc81e370c3876.png


811190bef7d83d3cd7491c5cdfb0b6fa.png

添加到dashboard界面里,便于观察

压力测试,可以在监控图上看到哪个主机的访问的次数

613c64de49ce5c34b354225c5252c1f8.png

左为链接次数,右为各个主机的连接次数

8c0327a3c2831a113836ed6ada215cca.png


4.添加secure安全日志监控

8b61822669ad864986509c9d2b44ce26.png

3903494b0be43d6a95e144b8a8bcf28f.png

0658cc299bc26948ae629df13637c43a.png

b3f98f93d02903e703a092c4f7f0bd07.png

4b45175010874edac8c42bc0e912ee44.png

c7023530200af2ecdc6fdf413dbbdb61.png

添加到dashboard界面里,便于观察

设置更新频率

d8418461afd31b3ebe7080f60ace36d4.png


安全测试的是ssh连接失败的日志

1b59b01d070cf5fdf184ab29a7008078.png



保存dashboard监控模版为dashboard1

397d5874966dfb773e0a62de3530f455.png






      本文转自一百个小排 51CTO博客,原文链接:http://blog.51cto.com/anfishr/1979775,如需转载请自行联系原作者






相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
|
12月前
|
安全 Linux 数据安全/隐私保护
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
1375 36
Red Hat Enterprise Linux 9.6 (x86_64, aarch64) - 红帽企业 Linux (RHEL)
|
8月前
|
消息中间件 Java Kafka
搭建ELK日志收集,保姆级教程
本文介绍了分布式日志采集的背景及ELK与Kafka的整合应用。传统多服务器环境下,日志查询效率低下,因此需要集中化日志管理。ELK(Elasticsearch、Logstash、Kibana)应运而生,但单独使用ELK在性能上存在瓶颈,故结合Kafka实现高效的日志采集与处理。文章还详细讲解了基于Docker Compose构建ELK+Kafka环境的方法、验证步骤,以及如何在Spring Boot项目中整合ELK+Kafka,并通过Logback配置实现日志的采集与展示。
1275 64
搭建ELK日志收集,保姆级教程
|
安全 Unix Linux
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
544 0
Veritas NetBackup 11 for Linux & Windows - 领先的企业备份和恢复解决方案
|
存储 监控 安全
日志审计是什么?为什么企业需要日志审计?
日志审计是对信息系统中产生的日志进行收集、分析和存储的过程,记录系统活动如用户登录、操作行为等。企业通过日志审计可满足合规要求(如金融、医疗行业的法规),及时发现安全威胁(如异常登录、数据泄露),并为事故调查提供依据。工具如EventLog Analyzer能帮助企业生成合规报表,确保符合PCI DSS、HIPAA等标准,并支持实时监控与存档分析,保障网络安全与数据隐私。
972 2
|
数据可视化 关系型数据库 MySQL
ELK实现nginx、mysql、http的日志可视化实验
通过本文的步骤,你可以成功配置ELK(Elasticsearch, Logstash, Kibana)来实现nginx、mysql和http日志的可视化。通过Kibana,你可以直观地查看和分析日志数据,从而更好地监控和管理系统。希望这些步骤能帮助你在实际项目中有效地利用ELK来处理日志数据。
936 90
|
10月前
|
监控 Linux 应用服务中间件
linux查看日志文件tail -f用法
在 Linux 中,查看和监控日志文件是系统管理员和开发者常用的操作之一。tail 命令就是用来查看文件内容的,它默认显示文件的最后部分。tail -f 是 tail 命令的一个非常有用的选项,用于实时查看和跟踪日志文件的更新,尤其是在监控运行中的服务时非常有用。
1234 0
|
12月前
|
人工智能 安全 Linux
Red Hat Enterprise Linux 10 正式版发布 - 红帽企业 Linux (RHEL)
Red Hat Enterprise Linux 10 正式版发布 - 红帽企业 Linux (RHEL)
1511 0
Red Hat Enterprise Linux 10 正式版发布 - 红帽企业 Linux (RHEL)
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
存储 运维 监控
Linux--深入理与解linux文件系统与日志文件分析
深入理解 Linux 文件系统和日志文件分析,对于系统管理员和运维工程师来说至关重要。文件系统管理涉及到文件的组织、存储和检索,而日志文件则记录了系统和应用的运行状态,是排查故障和维护系统的重要依据。通过掌握文件系统和日志文件的管理和分析技能,可以有效提升系统的稳定性和安全性。
416 7
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
569 1