环境的困境(原因)

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.repoyum 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

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

欢迎打算使用阿里云服务器的小伙伴,加我私聊!!QQ:3533470970  或直接领取阿里云幸运券:https://promotion.aliyun.com/ntms/act/ambassador/sharetouser.html?userCode=b6h928qb&utm_source=b6h928qb

转载于:https://blog.51cto.com/liqilong2010/1946494

ELK日志平台---老男孩教育笔记相关推荐

  1. 51CTO平台老男孩教育精品视频全场5-6折,错过了,再等一年!

    一直持续关注老男孩教育的小伙伴们,你们的福利又来了,错过了,再等一年! 国内linux运维领域平均就业工资(12K+)第一,且极具责任心的老男孩教育最近发布了非常多的精品视频,并且还正在持续量产中. ...

  2. Apollo+ES源码改造,构建民生银行的ELK日志平台配置管理中心【转载】

    Apollo+ES源码改造,构建民生银行的ELK日志平台配置管理中心 原创 高效开发运维 架构头条 2019-02-28 作者 | 中国民生银行大数据基础平台运维组团队 编辑 | 张婵 随着 IT 业 ...

  3. Apollo+ES源码改造,构建民生银行的ELK日志平台配置管理中心

    作者 | 中国民生银行大数据基础平台运维组团队 编辑 | 张婵 随着 IT 业务系统的迅速发展,中国民生银行需要考虑实现一套完整并适用于民生银行的日志文件智能分析与处理的解决方案.本文详细介绍了中国民 ...

  4. 亿级 ELK 日志平台构建实践

    本篇主要讲工作中的真实经历,我们怎么打造亿级日志平台,同时手把手教大家建立起这样一套亿级 ELK 系统.日志平台具体发展历程可以参考上篇 「从 ELK 到 EFK 演进」 废话不多说,老司机们座好了, ...

  5. ELK日志平台搭建(一)

    ELK企业级日志分析系统 ELK是由Elasticsearch.Logstash.Kiban三个开源软件的组合.在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公 ...

  6. ELK日志平台一 ElasticSearch的安装

    一.安装 ElasticSearch的版本号从 1.X → 2.X →  5.X  →  6.X 其中ES 5.X开始支持的jdk最低版本为jdk1.8 官网下载地址:https://www.elas ...

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

    早在传统的单体应用时代,查看日志大都通过SSH客户端登服务器去看,使用较多的命令就是 less 或者 tail.如果服务部署了好几台,就要分别登录到这几台机器上看,等到了分布式和微服务架构流行时代,一 ...

  8. ELK 6下日志平台监控Nginx日志构建实践

    整体架构 整体架构主要分为 4 个模块,分别提供不同的功能 Filebeat:轻量级数据收集引擎.基于原先 Logstash-fowarder 的源码改造出来.换句话说:Filebeat就是新版的 L ...

  9. RabbitMQ + ELK 搭建日志平台

    CentOS下使用ELK套件搭建日志分析和监控平台 2015年01月30日 17:32:29 i_chips 阅读数:24252 https://blog.csdn.net/i_chips/artic ...

  10. ELK日志分析平台.1-搭建

    ELK日志分析平台.1-搭建 2017-12-28 | admin 一.简介 1.核心组成     ELK由Elasticsearch.Logstash和Kibana三部分组件组成:     Elas ...

最新文章

  1. maven项目中,如何导出项目所有的jar
  2. boot spring 没有父子容器_Spring父子容器问题
  3. Texmaker使用方法、Latex的优缺点
  4. python 递归乘法
  5. centos 7.6.1810 升3.7时 python和yum被误删除的恢复
  6. 你所不知道的getResource()在maven下的黑洞!
  7. rss spring 接口_spring 接口支持返回多种格式
  8. Oracle conn 协议适配器错误解决
  9. linux mysql 静态库_Linux静态库与动态库实例详解
  10. BZOJ 3626 LCA(离线+树链剖分+差分)
  11. angular 的进一步深入理解
  12. 简约的手机APP自适应下载页HTML源码
  13. P2P网络及节点发现机制
  14. (1.6w字)浏览器与前端性能灵魂之问,请问你能接得住几个?
  15. python 在图片的指定位置添加文字及图片
  16. python中input()函数的返回是什么类型_inputbox函数返回值的类型是什么?
  17. Qt编写项目作品大全(自定义控件+输入法+大屏电子看板+视频监控+楼宇对讲+气体安全等)...
  18. 词法解析器 | 从零实现一门语言
  19. 浙江计算机专业技术考试大纲,浙江省高校计算机等级考试大纲(三级)
  20. 科技向善,一念天堂。

热门文章

  1. 一文带你了解知识图谱融入预训练模型哪家强?九大模型集中放送
  2. 做人不能太“广州有线”了
  3. Android和风SDK,Android 和风天气SDK获取天气
  4. 【Jmeter】Jmeter登录带验证码平台
  5. 卡内基梅隆大学计算机方向,留学美国卡内基梅隆大学计算机硕士研究方向
  6. 智能驾驶大数据是什么?传统车企如何升级?
  7. katacontainers二进制安装
  8. DT算法(暗像元法)在C6.1中的改进:Aerosol Dark Target (10km 3km) Collection 6.1 Changes
  9. HDU 3221 Brute-force Algorithm(指数降幂公式)
  10. 葫芦兄弟java7723_颠峰对决之喜羊羊大战葫芦娃