ELK日志平台---老男孩教育笔记

环境的困境(原因)

1、开发人员不能登录线上服务器查看相信日志;

2、各个系统都有日志,日志数据分散难以查找;

3、日志数据量大,查询速度慢,或者数据不够及时。(状态码 400 的 top10)

收集->存储->统计->报警、、、

Elastic Search + Logstash +Kibana = ELK Stack

1、分布式全文搜索引擎、存储

2、日志收集(日志收集于某一处)

3、日志展示

安装过程:

一、Elastic Search

(1)、Import the Elasticsearch PGP Key

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

(2)、Installing from the RPM repository

echo "[elasticsearch-5.x]
name=Elasticsearch repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md" >>/etc/yum.repos.d/elasticsearch.repo

yum install -y elasticsearch

修改配置文件

创建 数据目录

mkdir -p /data/es-data

vim /etc/elasticsearch/elasticsearch.yml
cluster.name: Mint
node.name: Mint-node1
path.data: /data/es-data
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200

ES集群

cluster.name: Mint  相同就行,同一个局域网 先会广播

修改node.name

cluster.name: Mint

node.name: Mint-node2

path.data: /data/es-data

path.logs: /var/log/elasticsearch

bootstrap.memory_lock: true

network.host: 0.0.0.0

http.port: 9200

插件

head    bigdesk   kopf    暂时都不支持es5.4

#bootstrap.memory_lock: true  去掉注释会报错

解决方式:修改limit 文件 yum 安装的es,默认使用的是普通用户,需要配置limit.conf

vim /etc/security/limits.conf
# allow user ‘elasticsearch‘ mlockall
elasticsearch soft memlock unlimited
elasticsearch hard memlock unlimited

修改数据路径的权限

chown -R elasticsearch:elasticsearch /data/es-data
systemctl enable elasticsearch
systemctl start elasticsearch

Installing Logstash

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
cat > /etc/yum.repos.d/logstash.repo <<EOF
[logstash-5.x]
name=Elastic repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
yum install -y logstash

/usr/share/logstash/bin/logstash -e ‘input { stdin{} } output { stdout{}}‘

/usr/share/logstash/bin/logstash -e ‘input { stdin{} } output { stdout{ codec => rubydebug} }‘

/usr/share/logstash/bin/logstash -e ‘input { stdin{} } output { elasticsearch { hosts => "192.168.1.87:9200" protocol => "http"} }‘

/usr/share/logstash/bin/logstash -e ‘input { stdin{} } output { elasticsearch { hosts => "192.168.1.87:9200" } stdout { codec => rubydebug} }‘     //同时两个输出 一个es 一个标准输出

vim /etc/logstash/conf.d/01-logstach.conf
input { stdin { } }
output {
elasticsearch { hosts => ["localhost:9200"] }
stdout { codec => rubydebug }
}
/usr/share/logstash/bin/logstash -f /etc/logstash/conf.d/01-logstach.conf

各种插件

https://www.elastic.co/guide/en/logstash/current/index.html

Install Kibana with RPM

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

vim /etc/yum.repos.d/kibana.repo

[kibana-5.x]
name=Kibana repository for 5.x packages
baseurl=https://artifacts.elastic.co/packages/5.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

yum install kibana  -y

修改配置文件

vim /etc/kibana/kibana.yml

server.port: 5601

server.host: "0.0.0.0"

elasticsearch.url: "http://192.168.1.87:9200"

kibana.index: ".kibana"

nginx  Module ngx_http_log_module http://nginx.org/en/docs/http/ngx_http_log_module.html

input {
    file {
        path => "/var/log/nginx/access_json.log"
        codec => "json"
    }
}
output {
    stdout {
        codec => "rubydebug"
    }
}

rsyslog 修改系统日志

修改

vim /etc/rsyslog.conf
*.* @@192.168.1.87:514

nc 192.168.1.87 12345 < /etc/passwd

echo “Mint” > /dev/tcp/192.168.1.87/12345 也可以给12345 tcp端口发信息    伪设备

nc 追加文件

logstash 解耦 当需要单独修改logstash时,收集的日志可以暂存于内存中,不至于需要停止收集日志

logstash ---------->redis ---------->logstash -------->elasticsearch----------->kibana

收集                        消息队列             分析                   存储                               显示

192.168.1.87       192.168.1.87      192.168.1.88        192.168.1.87                   192.168.1.87

redis ---->rabbitmq------>kafka   一般redis就可以,不能满足的时候

解耦部分的配置文件,于明天整理发出来。再加前面的all.conf,共三个conf文件,shipper.conf、indexer.conf

logstash 写入kibana的时间戳是UTC。

http://192.168.1.87:5601/status 查看kibana状态

ab -n10000 -c1 http://192.168.1.87/       -n次数   -c 每次并发

安全解决方案 :search Guard

生产如何上线ELK

1、日志分类

系统日志    rsyslog    logstash     syslog插件

访问日志    nginx       logstash     codec json

错误日志    file           logstash     file + mulitline

运行日志    file           logstash     json

设备日志    syslog      logstash    syslog插件

debug日志  file           logstash    json or mulitline

2、日志标准化

1.路径 固定

2.格式 尽量json

系统日志开始->错误日志->运行日志->访问日志

时间: 2024-10-09 18:59:32

ELK日志平台---老男孩教育笔记的相关文章

ELK日志平台搭建

ELK日志平台搭建 整体架构 整体架构主要分为5个模块,分别提供不同的功能: Filebeat:轻量级数据收集引擎.基于原先 Logstash-fowarder 的源码改造出来.是 ELK Stack 在 Agent 的第一选择.<br><br>Kafka:数据缓冲队列.作为消息队列解耦了处理过程,同时提高了可扩展性.具有峰值处理能力,使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃.<br><br>Logstash:数据

ELK日志平台

什么是ELK? ELK指的是ElasticSearch,Logstash,Kibana这三个工具的首字母缩写,中文指南很详细,按其步骤来,入门基本没啥问题. 解决什么问题? 公司产品EDI平台的主要任务就是将各个数据源的文件信息处理后再发送第三方,没有实时监控,文件发送不成功时,运维相当被动. ELK的强项就是实时的日志分析,通过对日志文件的分析(秒级)对比,及时将异常情况通知运维. 计划步骤如下: 1)制定日志规范,在程序中增加日志,记录处理过程. 2)部署Logstash监控日志文件. 3)

ELK日志平台之kibana

一.ELKStack简介 Elstaicsearch:存储和搜索 logstash:收集 kibana:展示.专门为ES设计的展示平台 二.ELK之kibana安装 环境准备 IP 主机名 操作系统 192.168.56.11 linux-node1 centos7 192.168.56.12 linux-node2 centos7 1.安装JDK [[email protected] ~]# yum install -y java [[email protected] ~]# java -ve

ELK日志平台之ElasticSearch

一.ELKStack简介 Elstaicsearch:日志存储和搜索 logstash:日志收集 kibana:日志展示 ELK架构示意图: 二.ELK安装 环境准备 IP 主机名 操作系统 192.168.56.11 linux-node1 centos7 192.168.56.12 linux-node2 centos7 1.Elasticsearch安装 安装JDK [[email protected] ~]# yum install -y java [[email protected] 

ELK日志平台----解耦配置文件

本文记录了三个配置文件: 第一个:all.conf 通过一个配置文件,配置输入输出,实例: 第二个:shipper.conf配置logstash收集日志内容到redis里: 第三个:indexer.conf配置logstash从redis里读取日志内容输出到Elasticsearch里. 第二个跟第三个配置解耦收集日志 ELK 解耦 logstash ---------->redis ---------->logstash -------->elasticsearch----------

ELK日志平台之Logstash

一.ELKStack简介 Elstaicsearch:存储和搜索 logstash:收集 kibana:展示 二.ELK----之Logstash安装 环境准备 IP 主机名 操作系统 192.168.56.11 linux-node1 centos7 192.168.56.12 linux-node2 centos7 在两台服务器上都安装logstash 1.JDK安装 安装JDK [[email protected] ~]# yum install -y java [[email prote

ELK日志管理平台部署简介

ELK是对Elasticsearch.Logstash.Kibana整合平台的简称.在日常的运维工作中,要实时监控服务器的业务.系统和硬件状态,除了使用监控之外,还需要搜集大量的日志来进行分析.但是在面对海量的服务器和集群时,通过单台登录查询的方式显然是不可能的,对于不同时间段和集群日志的分析仅仅通过简单的脚本来统计也是难以实现.ELK日志平台通过日志搜集,查询检索和前端展示的方式帮我们实现了这样的功能. Elasticsearch是个开源分布式搜索引擎,具有分布式,零配置,自动发现,索引自动分

基于Kafka+ELK搭建海量日志平台

早在传统的单体应用时代,查看日志大都通过SSH客户端登服务器去看,使用较多的命令就是 less 或者 tail.如果服务部署了好几台,就要分别登录到这几台机器上看,等到了分布式和微服务架构流行时代,一个从APP或H5发起的请求除了需要登陆服务器去排查日志,往往还会经过MQ和RPC调用远程到了别的主机继续处理,开发人员定位问题可能还需要根据TraceID或者业务唯一主键去跟踪服务的链路日志,基于传统SSH方式登陆主机查看日志的方式就像图中排查线路的工人一样困难,线上服务器几十上百之多,出了问题难以

结合Docker快速搭建ELK日志收集分析平台

结合Docker快速搭建ELK日志收集分析平台 2017-03-27 09:39 阅读 172 评论 0 作者:马哥Linux运维-Eason ELK Stack ELK (Elasticsearch + Logstash + Kibana),是一个开源的日志收集平台,用于收集各种客户端日志文件在同一个平台上面做数据分析. Introduction Elasticsearch, 基于json分析搜索引擎Logstash, 动态数据收集管道Kibana, 可视化视图将elasticsearh所收集