001、ElasticStack的应用场景及基础环境构建
本文最后更新于 67 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com

ElasticStack的应用场景及基础环境构建

一.为什么需要日志收集系统

1.企业的架构图画图说明,为引入下面的痛点

1632990549973

2.没有日志分析工具之前,运维工作存在哪些痛点?

  • - 痛点1:生产出现故障后,运维需要不停的查看各种不同的日志进行分析?是不是毫无头绪?
    - 痛点2:项目上线出现错误,如何快速定位问题?如果后端节点过多、日志分散怎么办?
    - 痛点3:开发人员需要实时查看日志但又不想给服务器的登陆权限,怎么办?难道每天帮开发取日志?
    - 痛点4:如何在海量的日志中快速的提取我们想要的数据?比如:PV、UV、TOP10的URL?如果分析的日志数据量大,那么势必会导致查询速度慢、难度增大,最终则会导致我们无法快速的获取到想要的指标。
    - 痛点5:CDN公司需要不停的分析日志,那分析什么?主要分析命中率,为什么?因为我们给用户承诺的命中率是90%以上。如果没有达到90%,我们就要去分析数据为什么没有被命中、为什么没有被缓存下来。
    - 痛点6:近期某影视公司周五下午频繁出现被盗链的情况,导致异常流量突增2G有余,给公司带来了损失,那又该如何分析异常流量呢?

3.使用elastic stack日志分析系统之后?

如上所有的痛点都可以使用日志分析系统ELK解决,通过ELK,将运维所有的服务器日志,业务系统日志都收集到一个平台下,然后提取想要的内容,比如错误信息,警告信息等,当过滤到这种信息,就马上告警,告警后,运维人员就能马上定位是哪台机器、哪个业务系统出现了问题,出现了什么问题。

4. 什么是Elastic Stack

1632990497092

The Elastic Stack, 包括Elasticsearch、Kibana、Beats和Logstash(也称为 ELK Stack)。

ElaticSearch:
    简称为ES, ES是一个开源的高扩展的分布式全文搜索引擎,是整个Elastic Stack技术栈的核心。
    它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理PB级别的数据。

Kibana:
    是一个免费且开放的用户界面,能够让您对Elasticsearch数据进行可视化,并让您在Elastic Stack中进行导航。
    您可以进行各种操作,从跟踪查询负载,到理解请求如何流经您的整个应用,都能轻松完成。

Beats:
    是一个免费且开放的平台,集合了多种单一用途数据采集器。
    它们从成百上千或成千上万台机器和系统向Logstash 或 Elasticsearch发送数据。

Logstash:
    是免费且开放的服务器端数据处理管道,能够从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中。

Elastic Stack的主要优点有如下几个:
    (1)处理方式灵活:
        elasticsearch是实时全文索引,具有强大的搜索功能。
    (2)配置相对简单:
        elasticsearch全部使用JSON 接口,logstash使用模块配置,kibana的配置文件部分更简单。
    (3)检索性能高效:
        基于优秀的设计,虽然每次查询都是实时,但是也可以达到百亿级数据的查询秒级响应。
    (4)集群线性扩展:
        elasticsearch和logstash都可以灵活线性扩展。
    (5)前端操作绚丽:
        kibana的前端设计比较绚丽,而且操作简单。

推荐阅读:
    https://www.elastic.co/guide/index.html
    https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html
    https://www.elastic.co/guide/cn/kibana/current/index.html

5.使用elastic stack能收集那些日志

容器管理工具:
    docker

负载均衡服务器:
    lvs,haproxy,nginx

web服务器:
    httpd,nginx,tomcat

数据库:
    mysql,redis,MongoDB,Hbase,Kudu,ClickHouse,PgSQL

存储:
    nfs,gluterfs,fastdfs,HDFS,Ceph

系统:
    message,security

业务:
    包括但不限于C,C++,Java,PHP,Go,Python,Shell等编程语言研发的App。

6.企业级ElasticStack技术应用

1632990497092

    在生产环境中,当数据量比较大的时候,我们会引入消息队列来进行"数据消峰"。

1632990520576

二.基础环境准备

1.操作系统版本

1632990696653

2.修改国内的软件源

sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo

yum makecache

推荐阅读:
    https://mirrors.tuna.tsinghua.edu.cn/help/centos/

3.修改终端显示

cat <<EOF >>  ~/.bashrc 
PS1='[\[\e[34;1m\]\u@\[\e[0m\]\[\e[32;1m\]\H\[\e[0m\]\[\e[31;1m\] \W\[\e[0m\]]\$ '
EOF

source ~/.bashrc 

4.修改sshd服务优化

[root@elk101.oldboyedu.com ~]# grep UseDNS /etc/ssh/sshd_config 
#UseDNS yes
UseDNS no
[root@elk101.oldboyedu.com ~]# 
[root@elk101.oldboyedu.com ~]# grep ^UseDNS /etc/ssh/sshd_config 
UseDNS no
[root@elk101.oldboyedu.com ~]# 

5.关闭防火墙

[root@elk101.oldboyedu.com ~]# systemctl is-enabled firewalld
enabled
[root@elk101.oldboyedu.com ~]# 
[root@elk101.oldboyedu.com ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@elk101.oldboyedu.com ~]# 
[root@elk101.oldboyedu.com ~]# systemctl is-enabled firewalld
disabled
[root@elk101.oldboyedu.com ~]# 

6.禁用Selinux

[root@elk101.oldboyedu.com ~]# getenforce 
Enforcing
[root@elk101.oldboyedu.com ~]# 
[root@elk101.oldboyedu.com ~]# setenforce 0
[root@elk101.oldboyedu.com ~]# 
[root@elk101.oldboyedu.com ~]# getenforce 
Permissive
[root@elk101.oldboyedu.com ~]# 
[root@elk101.oldboyedu.com ~]# sed -ri 's#(SELINUX=)enforcing#\1disabled#' /etc/selinux/config
[root@elk101.oldboyedu.com ~]# 

7.安装常用的工具

[root@elk101.oldboyedu.com ~]# yum -y install lrzsz vim net-tools wget tree unzip

8.修改主机列表

[root@elk101.oldboyedu.com ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# Add by Jason Yin for Elastic Statck.
10.0.0.101 elk101.oldboyedu.com
10.0.0.102 elk102.oldboyedu.com
10.0.0.103 elk103.oldboyedu.com
[root@elk101.oldboyedu.com ~]# 

温馨提示:
    所有节点的hosts文件内容解析要同步哟~

9.集群时间同步

推荐阅读:
    https://www.cnblogs.com/yinzhengjie/p/12292549.html

10.JDK部署

JDK下载地址:
    https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

[root@elk101.oldboyedu.com ~]# ll
总用量 141540
-rw-r--r--. 1 root root 144935989 5月  16 11:54 jdk-8u291-linux-x64.tar.gz
[root@elk101.oldboyedu.com ~]# 
[root@elk101.oldboyedu.com ~]# tar zxf jdk-8u291-linux-x64.tar.gz -C /oldboy/softwares/
[root@elk101.oldboyedu.com ~]#
[root@elk101.oldboyedu.com ~]# cd /oldboy/softwares/
[root@elk101.oldboyedu.com /oldboy/softwares]# 
[root@elk101.oldboyedu.com /oldboy/softwares]# ll
总用量 0
drwxr-xr-x. 8 10143 10143 273 4月   8 03:26 jdk1.8.0_291
[root@elk101.oldboyedu.com /oldboy/softwares]# 
[root@elk101.oldboyedu.com /oldboy/softwares]# ln -sv jdk1.8.0_291 jdk
"jdk" -> "jdk1.8.0_291"
[root@elk101.oldboyedu.com /oldboy/softwares]# 
[root@elk101.oldboyedu.com /oldboy/softwares]# ll
总用量 0
lrwxrwxrwx. 1 root  root   12 5月  16 11:56 jdk -> jdk1.8.0_291
drwxr-xr-x. 8 10143 10143 273 4月   8 03:26 jdk1.8.0_291
[root@elk101.oldboyedu.com /oldboy/softwares]# 
[root@elk101.oldboyedu.com /oldboy/softwares]# vim /etc/profile.d/jdk.sh 
[root@elk101.oldboyedu.com /oldboy/softwares]# 
[root@elk101.oldboyedu.com /oldboy/softwares]# cat /etc/profile.d/jdk.sh 
#!/bin/bash

export JAVA_HOME=/oldboy/softwares/jdk
export PATH=$PATH:$JAVA_HOME/bin
[root@elk101.oldboyedu.com /oldboy/softwares]# 
[root@elk101.oldboyedu.com /oldboy/softwares]# source /etc/profile.d/jdk.sh 
[root@elk101.oldboyedu.com /oldboy/softwares]# 
[root@elk101.oldboyedu.com /oldboy/softwares]# java -version
java version "1.8.0_291"
Java(TM) SE Runtime Environment (build 1.8.0_291-b10)
Java HotSpot(TM) 64-Bit Server VM (build 25.291-b10, mixed mode)
[root@elk101.oldboyedu.com /oldboy/softwares]# 
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇