2020-10-08 架构师第14周作业

架构班的小伙伴作业看这里哦:(学习杰哥视频的作业第27-28天)

安装部署ELK,并收集haproxy,nginx日志


一、ELK简介

ELK 是由 Elasticsearch、Logstash、Kibana 、filebeat 三个开源软件的组成的一个组合体,这三个软件当中,每个软件用于完成不同的功能,ELK 又称为 ELK stack,官方域名为 elastic.co,ELK stack 的主要优点有如下几个:

1 处理方式灵活: elasticsearch 是实时全文索引,具有强大的搜索功能

2 配置相对简单:elasticsearch 全部使用 JSON 接口,logstash 使用模块配置,kibana 的配置文件部分更简单。

3 检索性能高效:基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应。

4 集群线性扩展:elasticsearch 和 logstash 都可以灵活线性扩展

5 前端操作绚丽:kibana 的前端设计比较绚丽,而且操作简单


二、elasticsearch 部署

elasticsearch 是一个高度可扩展的开源全文搜索和分析引擎,它可实现数据的实时全文搜索搜索、支持分布式可实现高可用、提供 API 接口,可以处理大规模日志数据,比如 Nginx、Tomcat、系统日志等功能。

1 准备 java 环境:

# yum install java-1.8.0*

2 安装

下载elasticsearch :https://www.elastic.co/downloads/elasticsearch

# yum –y localinstall elasticsearch-5.3.0.rpm

3 配置文件

# cat /etc/elasticsearch/elasticsearch.yml

cluster.name: ELK-Cluster     #ELK 的集群名称,名称相同即属于是同一个集群

node.name: elk-node1            #本机在集群内的节点名称

path.data: /elk/data                  #数据保存目录

path.logs: /elk/logs                  #日志保存目

bootstrap.memory_lock: true  #服务启动的时候锁定足够的内存,防止数据写入

swap

network.host: 0.0.0.0               #监听 IP

http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.37.101", "192.168.37.102"]

4 修改内存限制,并同步配置文件(内存锁定的配置参数)

https://discuss.elastic.co/t/memory-lock-not-working/70576

# vim /usr/lib/systemd/system/elasticsearch.service #修改内存限制

LimitMEMLOCK=infinity #无限制使用内存

[root@linux-host1 ~]# vim /etc/elasticsearch/jvm.options

22 -Xms2g

23 -Xmx2g         #最小和最大内存限制

https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html #官方配置文档最大建议 30G 以内。

5 目录权限更改

# mkdir /elk/{data,logs}

# chown elasticsearch.elasticsearch /elk/ -R

6 启动 elasticsearch

# systemctl restart elasticsearch


三、部署 logstash

Logstash 是一个开源的数据收集引擎,可以水平伸缩,而且 logstash 整个 ELK当中拥有最多插件的一个组件,其可以接收来自不同来源的数据并统一输出到指定的且可以是多个不同目的地。

1 安装 logstash

# yum install logstash-5.3.0.rpm

2 权限更改为 logstash 用户和组,否则启动的时候日志报错

# chown logstash.logstash /usr/share/logstash/data/queue –R

3 测试标准输入和输出,测试输出到 elasticsearch

[root@linux-host3 ~]# /usr/share/logstash/bin/logstash -e 'input { stdin{} } output { elasticsearch {hosts => ["192.168.37.101:9200"] index => "mytest-%{+YYYY.MM.dd}" }}'

4 elasticsearch 服务器验证收到数据:

[root@linux-host1 ~]# ll /elk/data/nodes/0/indices/

total 0

drwxr-xr-x 8 elasticsearch elasticsearch 59 Apr 19 19:08 JbnPSBGxQ_WbxT8jF5-TLw

drwxr-xr-x 8 elasticsearch elasticsearch 59 Apr 19 20:18 kZk1UbsjTliYfooevuQVdQ

drwxr-xr-x 4 elasticsearch elasticsearch 27 Apr 19 19:24 m6EiWqngS0C1bspg8JtmBg

drwxr-xr-x 8 elasticsearch elasticsearch 59 Apr 20 08:49 YhtJ1dEXSOa0YEKhe6HW8w


四、kibana 部署及日志收集

Kibana 是一个通过调用 elasticsearch 服务器进行图形化展示搜索结果的开源项目。

1 安装(可以通过 rpm 包或者二进制的方式进行安装)

# yum localinstall kibana-5.3.0-x86_64.rpm

2 配置

# cat /etc/kibana/kibana.yml

2:server.port: 5601 #监听端口

7:server.host: "0.0.0.0" #监听地址

28:elasticsearch.hosts: ["http://192.168.7.101:9200"]

114:i18n.locale: "zh-CN" #支持中文

21:elasticsearch.url: http://192.168.15.11:9200 #elasticsearch 服务器地址

3 启动 kibana 服务

# systemctl start kibana

4 通过 logstash 收集日志

前提需要 logstash 用户对被收集的日志文件有读的权限并对写入的文件有写权限。

配置 logstash 收集 nginx和haproxy 访问日志。确认日志格式为json文件 

# vim nginx.conf

input {

file {

path => "/var/log/nginx/access.log"

start_position => "end"

type => "nginx-accesslog"

codec => json

}

file {

path => "/var/log/haproxy.log"

type => "haproxy-log"

start_position => "beginning"

stat_interval => "3"

}

}

output {

if [type] == "nginx-accesslog" {

elasticsearch {

hosts => ["192.168.37.101:9200"]

index => "logstash-nginx-accesslog-1516-%{+YYYY.MM.dd}"

}}

}

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335