elk日志系统搭建

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful 风格接口,多数据源,自动搜索负载等

前言

Elasticsearch:

  开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,

索引副本机制,restful 风格接口,多数据源,自动搜索负载等


官方网站:

  https://www.elastic.co


中文社区:

  https://elasticsearch.cn

 


官方参考文档:

  https://www.elastic.co/guide/en/elasticsearch/reference/6.6/setup-configuration-memory.html

 


下载地址:

  https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.6.0/

   elasticsearch-6.6.0.rpm

   filebeat-6.6.0-x86_64.rpm

   kibana-6.6.0-x86_64.rpm

   logstash-6.6.0.rpm


##################################################################    


1.安装elasticsearch:

   前提:jdk-1.8.0 (yum -y install java-1.8.0-openjdk )

   复制elasticsearch-6.6.0.rpm到虚拟机

   rpm -ivh elasticsearch-6.6.0.rpm


2.elasticsearch目录和文件:

/etc/elasticsearch/elasticsearch.yml    #配置文件

/etc/elasticsearch/jvm.options            #java虚拟机

/etc/init.d/elasticsearch                #服务启动脚本

/etc/sysconfig/elasticsearch            #elasticsearch服务变量

/usr/lib/sysctl.d/elasticsearch.conf    #设置elasticsearch用户使用的内存大小

/usr/lib/systemd/system/elasticsearch.service      #添加系统服务文件

/var/log/elasticsearch/elasticsearch.log         #日志文件路径


3.修改配置文件:

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-1                        #群集中本机节点名

path.data: /data/elasticsearch            #数据目录

path.logs: /var/log/elasticsearch        #日志目录

bootstrap.memory_lock: true                #锁定内存,需要和/etc/elasticsearch/jvm.options关联

network.host: 192.168.8.10,127.0.0.1    #监听的ip地址

http.port: 9200                            #端口号


4.创建数据目录,并修改权限

mkdir -p /data/elasticsearch

chown -R elasticsearch.elasticsearch /data/elasticsearch/


5.分配锁定内存:

vim /etc/elasticsearch/jvm.options

-Xms1g        #分配最小内存    

-Xmx1g        #分配最大内存,官方推荐为物理内存的一半,但最大为32G


6.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch

添加:

[Service]

LimitMEMLOCK=infinity

F2保存退出


systemctl daemon-reload

systemctl restart elasticsearch


7.查看单主机

  http://192.168.8.10:9200/

 查看群集健康状态

  http://192.168.8.10:9200/_cluster/health?pretty

 查看整个群集状态信息

  http://192.168.8.10:9200/_cluster/state?pretty


8.下载es-head插件

  https://github.com/mobz/elasticsearch-head

   下载后,解压,复制crx目录下es-head.crx到桌面

   改名es-head.crx为es-head.crx.zip

   解压es-head.crx.zip到es-head.crx目录,把目录es-head.crx,上传到谷歌浏览器开发工具--扩展程序里    


9.创建索引:vipinfo,类型:users,序号:1,数据部分:...

curl -XPUT '192.168.8.10:9200/vipinfo/users/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"name": "guofucheng","age": "45","job": "mingxing"}'


 选项说明:

   XPUT       创建

   XDELETE  删除

 

#########################################################################


elasticsearch群集:

   状态颜色:

       灰色:未连接

       绿色:数据完整态

       黄色:副本不完整

       红色:数据分片不完整

       紫色:数据分片复制过程

   群集主机角色:

       主节点master:负责管理调度

       工作节点:       负责处理数据

       默认情况,所有节点都是工作节点,即主节点也处理数据


#########################################################################


往群集中添加第二台主机:192.168.8.20

1.安装es,步骤参考第一台,注意配置文件需要修改

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-2

path.data: /data/elasticsearch                  

path.logs: /var/log/elasticsearch              

bootstrap.memory_lock: true                            

network.host: 192.168.8.20,127.0.0.1  

http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.8.10", "192.168.8.20"]

discovery.zen.minimum_master_nodes: 2   #添加的值=节点数/2 + 1


2.创建数据目录,并修改权限

mkdir -p /data/elasticsearch

chown -R elasticsearch.elasticsearch /data/elasticsearch/


3.分配锁定内存:

vim /etc/elasticsearch/jvm.options

-Xms1g        #分配最小内存    

-Xmx1g        #分配最大内存,官方推荐为物理内存的一半,但最大为32G


4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch

添加:

[Service]

LimitMEMLOCK=infinity

F2保存退出


systemctl daemon-reload

systemctl restart elasticsearch

########################################################################


往群集中添加第三台主机:192.168.8.30

1.安装es,步骤参考第一台,注意配置文件需要修改

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-3

path.data: /data/elasticsearch                  

path.logs: /var/log/elasticsearch              

bootstrap.memory_lock: true                            

network.host: 192.168.8.30,127.0.0.1  

http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.8.10", "192.168.8.30"]

discovery.zen.minimum_master_nodes: 2  


2.创建数据目录,并修改权限

mkdir -p /data/elasticsearch

chown -R elasticsearch.elasticsearch /data/elasticsearch/


3.分配锁定内存:

vim /etc/elasticsearch/jvm.options

-Xms1g        #分配最小内存    

-Xmx1g        #分配最大内存,官方推荐为物理内存的一半,但最大为32G


4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch

添加:

[Service]

LimitMEMLOCK=infinity

F2保存退出


systemctl daemon-reload

systemctl restart elasticsearch

#########################################################################


常见群集管理监控命令

(1)查看索引信息

   curl -XGET '192.168.8.10:9200/_cat/indices?pretty'

(2)查看群集健康状态

   curl -XGET '192.168.8.10:9200/_cluster/health?pretty'

(3)统计群集节点

   curl -XGET '192.168.8.10:9200/_cat/nodes?human&pretty'

(4)查看群集所有节点详细信息

   curl -XGET '192.168.8.10:9200/_nodes/_all/info/jvm.process?human&pretty'

注意:企业环境使用脚本监控群集健康状态是否为green 或 节点数不匹配 就邮件报警

(5)创建索引index1时,修改分片为3和副本数为2

curl -X PUT 192.168.8.10:9200/index1  -H 'Content-Type: application/json' -d '{

   "settings" : {

       "index" : {

           "number_of_shards" : 3,

           "number_of_replicas" : 2

       }

   }

}'



(6)针对已有索引,可修改副本数,不可改分片数。下面语句把index1的副本数由2改为1

curl -X PUT '192.168.8.10:9200/index1/_settings?pretty'  -H 'Content-Type: application/json' -d '{

 "settings": {

   "number_of_replicas": "1"

 }                          

}'


============================================

1.另开一台centos,安装nginx

复制nginx-rpm包到虚拟机/root下

cd /root/nginx-rpm

yum -y localinstall *.rpm

systemctl start nginx



2.安装filebeat,收集nginx的日志,传输到elasticsearch

复制filebeat包到虚拟机

rpm -ivh filebeat-6.6.0-x86_64.rpm


vim /etc/filebeat/filebeat.yml

删除已有内容,添加:

filebeat.inputs:

- type: log

 enabled: true

 paths:

   - /var/log/nginx/access.log


output.elasticsearch:

 hosts: ["192.168.8.10:9200"]

保存退出


systemctl start filebeat


3.测试访问nginx,产生日志,查看elastsearch



相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
27天前
|
存储 数据采集 数据处理
【Flume拓扑揭秘】掌握Flume的四大常用结构,构建强大的日志收集系统!
【8月更文挑战第24天】Apache Flume是一个强大的工具,专为大规模日志数据的收集、聚合及传输设计。其核心架构包括源(Source)、通道(Channel)与接收器(Sink)。Flume支持多样化的拓扑结构以适应不同需求,包括单层、扇入(Fan-in)、扇出(Fan-out)及复杂多层拓扑。单层拓扑简单直观,适用于单一数据流场景;扇入结构集中处理多源头数据;扇出结构则实现数据多目的地分发;复杂多层拓扑提供高度灵活性,适合多层次数据处理。通过灵活配置,Flume能够高效构建各种规模的数据收集系统。
28 0
|
29天前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
27天前
|
缓存 NoSQL Linux
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
【Azure Redis 缓存】Windows和Linux系统本地安装Redis, 加载dump.rdb中数据以及通过AOF日志文件追加数据
|
16天前
|
JSON 缓存 fastjson
一行日志引发的系统异常
本文记录了一行日志引发的系统异常以及作者解决问题的思路。
|
23天前
|
消息中间件 Kafka 开发工具
rsyslog+ELK收集Cisco日志
rsyslog+ELK收集Cisco日志
|
29天前
|
存储 监控 数据可视化
在Linux中,如何查看系统日志?
在Linux中,如何查看系统日志?
|
28天前
|
监控 安全 Linux
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
在Linux中,某个账号登陆linux后,系统会在哪些日志文件中记录相关信息?
|
28天前
|
运维 监控 Ubuntu
在Linux中,如何查看系统日志文件?
在Linux中,如何查看系统日志文件?
|
30天前
|
数据挖掘 语音技术
3D-Speaker说话人任务的开源项目问题之语义说话人信息模块在说话人日志系统中的问题如何解决
3D-Speaker说话人任务的开源项目问题之语义说话人信息模块在说话人日志系统中的问题如何解决
|
22天前
|
存储 消息中间件 监控
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统ELK、日志收集分析
Java日志详解:日志级别,优先级、配置文件、常见日志管理系统、日志收集分析。日志级别从小到大的关系(优先级从低到高): ALL < TRACE < DEBUG < INFO < WARN < ERROR < FATAL < OFF 低级别的会输出高级别的信息,高级别的不会输出低级别的信息