Linux的企业-ELK日志分析

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介:

一、简介

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,如需转载请自行联系原作者






相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
18天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
72 1
|
28天前
|
Shell Linux C语言
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
【Shell 命令集合 网络通讯 】Linux 查看系统中的UUCP日志文件 uulog命令 使用指南
29 0
|
28天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
48 0
|
11天前
|
存储 监控 安全
Linux系统日志
【4月更文挑战第6天】Linux系统日志,关键用于记录系统状态和事件,包括内核、系统、安全和应用日志,助力管理员诊断问题、确保系统正常运行。日志管理涉及收集、分析、备份等,常用工具如rsyslog、systemd-journal和logrotate(用于日志轮转)。重视日志文件的存储管理,防止空间占用过多。
16 1
Linux系统日志
|
4天前
|
SQL 监控 安全
Linux&Windows 日志分析 陇剑杯 CTF
Linux&Windows 日志分析 陇剑杯 CTF
29 0
|
8天前
|
消息中间件 存储 运维
更优性能与性价比,从自建 ELK 迁移到 SLS 开始
本文介绍了 SLS 基本能力,并和开源自建 ELK 做了对比,可以看到 SLS 相比开源 ELK 有较大优势。
54272 3
|
14天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
17 6
|
18天前
|
运维 监控 安全
linux日志分析与追踪
在Linux中,日志分析涉及检查 `/var/log` 下的不同文件,如`messages`、`auth.log`、`kern.log`等,以及Web服务器和数据库日志。使用`tail`、`grep`、`awk`等工具实时查看和搜索日志,`logrotate`管理日志大小,`journalctl`处理Systemd日志,而`Splunk`等工具则用于集中式分析。分析技巧包括异常检测、时间关联和阈值监控。安全事件追踪结合登录失败日志、网络嗅探和IDS/IPS。日志链路追踪在分布式系统中尤为重要,帮助定位服务调用问题。有效的日志管理和分析能增强系统安全和故障排除能力。
20 7
|
28天前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 实时监控日志文件 swatch命令 使用指南
【Shell 命令集合 系统管理 】Linux 实时监控日志文件 swatch命令 使用指南
33 1
|
2月前
|
存储 监控 关系型数据库
ELK架构监控MySQL慢日志
ELK架构监控MySQL慢日志