828华为云征文|在Flexus X上部署ELK日志系统

 前言        

        当前,正值华为云隆重推出的828 B2B企业节活动期间,其中Flexus X实例的优惠促销力度尤为吸引人,强烈建议各位业界同仁积极参与探索。特别是对于在业务运营中对算力性能有严苛需求,同时希望自建的MySQL数据库、Redis缓存系统以及Nginx服务器能够发挥卓越性能的朋友们,这绝对是一个不容错过的良机,务必前往了解详情。   

     在上一篇文章中,我在Flexus X上部署Mysql和一套xxl-job分布式任务管理系统,完成了Flexus X的首次操作,本次我将会在Flexus X尝试部署一套ELK日志管理系统,并且在项目中引用,那么就下来就看我怎么实现了. 

一. 什么是ELK?

ELK是三个开源框架首字母组成的一个拼写词,分别指: Elasticsearch、Logstash、Kibana

  • Elasticsearch: Elasticsearch也叫弹性搜索, 是一个基于Lucene的搜索服务器。它提供了一个基于RESTful  web界面的分布式多用户全文搜索引擎。弹性搜索是用Java开发的,根据Apache许可条款作为开源发布。是目前比较流行的企业搜索引擎。专为在云计算,使用而设计,可实现实时搜索,稳定、可靠、快速、易于安装和使用。
  • Logstash: Logstash是一个管理日志和事件的工具。您可以使用它来收集日志、转换日志、解析日志,并将它们作为数据提供给其他模块调用,例如搜索和存储。
  • Kibana: Kibana是一个优秀的前端日志显示框架,可以将日志详细转换成各种图表,为用户提供强大的数据可视化支持。

二. 安装部署

1). Elasticsearch

Elasticsearch安装依赖于JDK,所以需要提前安装好,我之前安装过了,如果有需要的话可以查看我上一篇文章

下载es:

        在下载es的时候,可以选择官网的下载地址: Download Elasticsearch | Elastic,

        也可以选择华为的镜像(推荐华为,下载比较快) :https://mirrors.huaweicloud.com/elasticsearch

        在服务器中使用wget进行下载: 

wget https://mirrors.huaweicloud.com/elasticsearch/7.8.0/elasticsearch-7.8.0-linux-x86_64.tar.gz

 解压安装:

        选择合适的目录,穿件文件夹,并解压到新创建的文件夹下:

mkdir /usr/local/elasticsearch

tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /usr/local/elasticsearch/

修改配置文件:

        到解压的目录里面,修改es的yml文件

 cd /usr/local/elasticsearch/elasticsearch-7.8.0/

 vim ./config/elasticsearch.yml

1. 放开node.name,设置节点的名称

2. network.host: 0.0.0.0 # 允许外部 ip 访问

3. cluster.initial_master_nodes: ["node-1"] # 设置集群初始主节点

提权:

es不允许Root账号为启动es,所以我们需要创建一个普通的账号

# 添加用户
adduser es

# 设置密码 需要输入两次同一个
passwd es

 # 将对应的文件夹权限赋予用户 es
chown -R es /usr/local/elasticsearch

启动:
su es

 ./bin/elasticsearch -d

启动之后报错了: 

解决方式:

切换到root用户

 解决办法: 修改 /etc/security/limits.conf 文件

# 修改文件
vim /etc/security/limits.conf


# 新增内容

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

修改 /etc/sysctl.conf 文件

vim /etc/sysctl.conf

# 添加下面一行 
vm.max_map_count=655360

# 执行命令 
sysctl -p

验证:

在地址栏输入域名xxxx.xxx.xxx.xxx:9200 访问 可以出现下面的情况 表示安装成功!

遇到的问题:

        1. 9200 端口号问题   需要在安全组那进行配置

        2. es下载  试了好几个方法 其中华为源那个最简单 开箱即用

        3. es安装后最后一步起不来: 这几个问题一般都是es的运行环境的要求,简单搜一下 改一下配置即可.

2). Kibana
下载Kibana

注意:需要选择和es的版本一致 !

华为镜像源:https://mirrors.huaweicloud.com/kibana

wget https://mirrors.huaweicloud.com/kibana/7.8.0/kibana-7.8.0-linux-x86_64.tar.gz

解压安装:

解压到一个指定的目录下面: 

# 解压到当前目录
tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz


# 重命名并移动到指定目录
mv ./kibana-7.8.0-linux-x86_64 /usr/local/kibana-7.8.0
修改配置:
vim ./config/kibana.yml


# 服务端口
server.port: 5601
# 服务器ip  本机
server.host: "0.0.0.0"
# Elasticsearch 服务地址
elasticsearch.hosts: ["http://localhost:9200"]
# 设置语言为中文
i18n.locale: "zh-CN"
授权:

给es用户授权操作Kibana目录的权限:

 chown -R es /usr/local/kibana-7.8.0
启动:

启动前要保证es已经启动,Kibana对应的5601端口已经通过安全组开放

# 后台启动方式 
nohup ./bin/kibana &

验证:

在浏览器中输入http://域名:5601进行验证 出现下图即表示安装成功!

遇到的问题:

修改Kibana的配置文件和启动Kibana的时候,因为我们是解压后的目录,所以在操作的时候,需要cd到该目录下进行操作.

3). Logstash
下载:

华为镜像源: https://mirrors.huaweicloud.com/logstash (和ES需保持版本一致)

 wget https://mirrors.huaweicloud.com/logstash/7.8.0/logstash-7.8.0.tar.gz

安装:
# 解压
tar -zxvf logstash-7.8.0.tar.gz

# 移动到指定目录
mv ./logstash-7.8.0 /usr/local/logstash-7.8.0
修改配置文件:

这里不建议直接修改配置文件 最后copy一个文件

cp config/logstash-sample.conf config/logstash-es.conf


vim config/logstash-es.conf


input {										# input输入源配置
  tcp {										# 使用tcp输入源
    port => 9601							# 服务器监听端口9061接收日志,默认ip localhost
    codec => json_lines						# 使用json解析日志  需要安装json解析插件
  }
}

output {									# output 数据输出配置
  elasticsearch {							# 使用elasticsearch接收
    hosts => ["http://localhost:9200"]		# 集群地址 多个用,隔开
  }
  stdout {
  	codec => rubydebug						# 输出到命令窗口
  }
}
插c插件安装:

修改源: 用清华镜像

vim Gemfile

# 将source这一行改成如下所示:
source "https://mirrors.tuna.tsinghua.edu.cn/rubygems/"


 ./bin/logstash-plugin install logstash-codec-json_lines
启动:
nohup ./bin/logstash -f ./config/logstash-es.conf &

三. 在实际中应用:

1. 在项目中引入依赖:

<dependency>
    <groupId>net.logstash.logback</groupId>
    <artifactId>logstash-logback-encoder</artifactId>
    <version>4.11</version>
</dependency>

2. 在Resources里配置logback

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration>
<configuration>
    <appender name="LOGSTASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <!--指定logstash ip:监听端口-->
        <destination>10.0.0.0:9601</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder" />
    </appender>

    <!--引用springboot默认配置-->
    <include resource="org/springframework/boot/logging/logback/base.xml"/>

    <root level="INFO">
        <!--使用上述订阅logstash数据tcp传输 -->
        <appender-ref ref="LOGSTASH" />
        <!--使用springboot默认配置 调试窗口输出-->
        <appender-ref ref="CONSOLE" />
    </root>

</configuration>

3. 启动项目产生日志

总结:

通过两次的部署实验来总结, Flexus X作为一款高性能的计算平台,整个部署过程中,Flexus X提供了稳定的服务,使得ELK组件的安装和配置非常顺利,没有出现由于硬件或系统层面的问题而导致的中断。不仅提供了出色的硬件支持,还优化了软件环境,使得ELK日志系统的部署变得简单高效,大大提升了日志管理和分析的能力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值