技术思绪摘录旅行
平时项目一多,那么日志就很多,不要小看日志的作用,日志系统在系统中是一个很重要的组成部分,日志写得好,能更快的定位问题并解决问题,日志收集的好 ,能更快的找到日志;今天介绍的ELK就是专门来解决我们的问题,当然他并非只能用来做日志归集,本次分多篇介绍,先介绍安装

一、ELK日志归集之Elasticsearch安装(CentOS 7.5)

二、ELK日志归集之LogStash安装(CentOS 7.5)

三、ELK日志归集之Kibana安装(CentOS 7.5)

四、.NET5 WebApi 直接输出到Elasticsearch

五、.NET5 WebApi 日志利用Logstash收集到Elasticsearch中


ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。

Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

准备一台全新的Linux服务器,虚拟机也可以

10.3.1.171

安装一下基本的插件

yum -y install net-tools  install wget java lrzsz unzip zip vim

接下来,将从文件下载开始,一步一步记录安装过程。

很多杠精可能会说:你咋不用docker安装,多简单啊!

我给大家说一下我为啥不用docker?

首先,这是一篇教程,安装方式越原始,遇到的坑越多,越能了解文件的结构和知识点,

其次,docker是熟悉之后,理解之后,为了快速搭建而使用。

如果你是一个正在学习ES的人,那么最好不要用docker,不利于你了解ES的配置和结构。


教程开始:

1、下载Elasticsearch安装包文件

官方下载页面:https://www.elastic.co/cn/downloads/elasticsearch

image.png

官方介绍了很多种安装方式,我们看这个页面的目的,是确定我们的下载地址

统一下载到/opt/package这个目录下,包括后面的Kibana、LogStash

>mkdir -p /opt/package
>cd /opt/package
>wget  https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.0-linux-x86_64.tar.gz

如果下载很慢,请考虑其他方式下载,然后上传到指定目录

2、解压elasticsearch-7.14.0-linux-x86_64.tar.gz

>mkdir -p /opt/apps
>cd /opt/apps
>tar -zxvf /opt/package/elasticsearch-7.14.0-linux-x86_64.tar.gz

3、由于elasticsearch出于安全考虑,不能用root权限的账号进行启动,所以我们需要创建专用账号。账号就取名叫:elasticsearch

添加启动ES的用户群组

>groupadd elasticsearch

添加ES启动用户

>useradd -g elasticsearch -d /usr/local/elasticsearch -m -n elasticsearch

4、重置elasticsearch这个用户的密码

>passwd elasticsearch
#这里会连续两次确认密码,密码不宜过于简单,至少是字母和数字组合

5、把elasticsearch解压目录的权限授予elasticsearch账号,否则新建的账号还是无权操作启动文件

>chown -R elasticsearch:elasticsearch /opt/apps/elasticsearch-7.14.0

6、修改系统配置,调整用户的最大内存和最大线程数,这一步解决ES安装过程中可能的报错

>vim /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
* soft memlock unlimited
* hard memlock unlimited

安装开始

7、切换到启动用户

>su elasticsearch

8、修改elasticsearch配置文件

配置文件有个注意的地方,注意格式,这一步不注意,后面启动失败,都不知道为啥

空格key:空格value

进入配置文件夹

>cd /opt/apps/elasticsearch-7.14.0/config

image.png

elasticsearch.yml 是关键配置文件,节点ip端口都在里面配置

jvm.options 配置节点虚拟机相关的

修改elasticsearch.yml配置如下

>vim elasticsearch.yml

按 进入编辑模式

修改如下:

//找到配置文件中的cluster.name,打开该配置并设置集群名称
 cluster.name: demon
//找到配置文件中的node.name,打开该配置并设置节点名称
 node.name: elk-1
 //配置内存使用用交换分区
 bootstrap.memory_lock: true
 //监听的网络地址 0.0.0.0 表示对外开放
 network.host: 0.0.0.0
 //开启监听的端口
 http.port: 9200
 //指定默认主节点 不然健康检查通不过
 cluster.initial_master_nodes: ["elk-1"]
 //增加新的参数,这样head插件可以访问es (5.x版本,如果没有可以自己手动加)
 http.cors.enabled: true
 http.cors.allow-origin: "*"

按 ESC 退出编辑,再按 :wq 保存退出

修改jvm.options配置如下,注意行前后不能有空格,不然要报错

>vim jvm.options

修改如下:

-Xms512m
-Xmx512m

9、终于要开始启动了

>cd /opt/apps/elasticsearch-7.14.0/bin/
>./elasticsearch -d &

关闭

>ps -ef|grep elastic|grep -v grep|awk '{print $2}'|xargs kill -9

查看启动情况

>netstat -antp |grep 9200

image.png

10、防火墙开放端口

>firewall-cmd --permanent --zone=public --add-port=9200/tcp
>systemctl reload firewalld

11、访问一下

http://10.3.1.171:9200/

看到以下内容,就是对的

{
    "name": "elk-1",
    "cluster_name": "demon",
    "cluster_uuid": "sLr17fbDQZqGnQquHD09iQ",
    "version": {
        "number": "7.14.0",
        "build_flavor": "default",
        "build_type": "tar",
        "build_hash": "dd5a0a2acaa2045ff9624f3729fc8a6f40835aa1",
        "build_date": "2021-07-29T20:49:32.864135063Z",
        "build_snapshot": false,
        "lucene_version": "8.9.0",
        "minimum_wire_compatibility_version": "6.8.0",
        "minimum_index_compatibility_version": "6.0.0-beta1"
    },
    "tagline": "You Know, for Search"
}


CarsonIT 微信扫码关注公众号 策略、创意、技术

留下您的脚步

 

最近评论

查看更多>>

精选推荐

阅读排行

友情打赏

请打开您的微信,扫一扫