ELK日志系统搭建

news2024/11/29 4:36:17

文章目录

  • ES
    • 安装ES
    • 启动ES
    • 错误处理
    • 验证
  • Kibana
    • 安装Kibana
    • 启动 Kibana
  • Logstash
    • 安装Logstash
    • 启动Logstash
  • 项目整合
    • 引入依赖
    • logback-spring.xml
    • 启动项目
    • 在Kibana中查看

链接:点击
提取码:yyds

ES

安装ES

cat >> /etc/sysctl.conf<<- 'EOF'
net.ipv4.ip_forward=1
vm.max_map_count=655360
EOF

sysctl -p

创建 目录、修改 配置

mkdir -p   /usr/local/elasticsearch/
tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz -C /usr/local/elasticsearch/
cd   /usr/local/elasticsearch/elasticsearch-7.8.0
vim  /usr/local/elasticsearch/elasticsearch-7.8.0/config/elasticsearch.yml

修改以下几项:

node.name: node-1 # 设置节点名
network.host: 0.0.0.0 # 允许外部 ip 访问
cluster.initial_master_nodes: ["node-1"] # 设置集群初始主节点

ES为了安全考虑不允许使用root用户启动ElasticSearch,所以需要新建一个普通用户启动程序

adduser es
passwd es
# 12345678
chown -R es /usr/local/elasticsearch
su es 

启动ES

/usr/local/elasticsearch/elasticsearch-7.8.0/bin/elasticsearch -d

错误处理

启动之后可能会报以下三个错误:

ERROR: [3] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3795] for user [es] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解决方式:

切换到root 用户解决错误:

# 切换到 root 用户
[es@localhost elasticsearch-7.8.0]$ su root
# 然后 输入密码

[1] 和 [2] 的解决方法:

# 修改 /etc/security/limits.conf 文件
[root@localhost elasticsearch-7.8.0]# vim /etc/security/limits.conf
# 添加以下四行
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

[3] 的解决方法:

# 修改 /etc/sysctl.conf 文件
[root@localhost elasticsearch-7.8.0]# vim /etc/sysctl.conf
# 添加下面一行
vm.max_map_count=655360
# 执行命令
[root@localhost elasticsearch-7.8.0]# sysctl -p

切换到用户 es 重新启动程序就可以了。

验证

注意: 防火墙需要开放9200端口

firewall-cmd --permanent --add-port=9200/tcp
firewall-cmd --permanent --add-port=9200/udp
firewall-cmd --reload 

访问:http://192.168.111.101:9200

在这里插入图片描述

su root
# 输入密码

Kibana

安装Kibana

tar -zxvf kibana-7.8.0-linux-x86_64.tar.gz  -C /usr/local/
mv   /usr/local/kibana-7.8.0-linux-x86_64/ /usr/local/kibana-7.8.0 # 改名
cd   /usr/local/kibana-7.8.0/
vim  /usr/local/kibana-7.8.0/config/kibana.yml

修改的内容:

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

授权

chown -R es /usr/local/kibana-7.8.0/
su es

启动 Kibana

注意:启动 Kibana 之前需要先启动 Elasticsearch

需要先配置防火墙打开5601端口:

firewall-cmd --permanent --add-port=5601/tcp
firewall-cmd --permanent --add-port=5601/udp
firewall-cmd --reload
/usr/local/kibana-7.8.0/bin/kibana          # 前台启动
nohup /usr/local/kibana-7.8.0/bin/kibana &  #后台启动

访问地址:http://192.168.111.101:5601/
在这里插入图片描述

在这里插入图片描述

su root
# 输入密码

Logstash

安装Logstash

tar -zxvf logstash-7.8.0.tar.gz -C /usr/local/
cd /usr/local/logstash-7.8.0/config/
cp logstash-sample.conf  logstash-es.conf
vi logstash-es.conf 

替换为:

input{
    tcp{
        port => 9601
        codec => json_lines
   }
}
output{
     # 这个是logstash的控制台打印(进行安装调试的时候开启,稍后成功后去掉这个配置即可!)
     stdout{
      codec => rubydebug
     }
     #elasticsearch的配置
     elasticsearch{
      hosts => ["192.168.111.101:9200"]
      # 索引名称,没有会自动创建
      index => "logstash-%{[server_name]}-%{+YYYY.MM.dd}"
     }

}

启动Logstash

cd /usr/local/logstash-7.8.0/
./bin/logstash -f ./config/logstash-es.conf

成功启动!
在这里插入图片描述

项目整合

引入依赖

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

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-web</artifactId>
</dependency>

<dependency>
   <groupId>org.projectlombok</groupId>
   <artifactId>lombok</artifactId>
</dependency>

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <!--控制台输出-->
    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <layout class="ch.qos.logback.classic.PatternLayout">
            <Pattern>%yellow(%d{yyyy-MM-dd HH:mm:ss.SSS}) %highlight(%-5level) ${PID:-} [%thread] %cyan(%logger{50}.%M.%L) : %highlight(%msg) %n
            </Pattern>
        </layout>

    </appender>

    <!-- 输出到 STASH -->
    <appender name="STASH" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
        <destination>192.168.111.101:9601</destination>
        <encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
        <encoder class="net.logstash.logback.encoder.LogstashEncoder">
            <!-- 打印行号、方法名,官方 不建议在 生产环境开启,默认为 false,开启耗时=360*未开启-->
            <includeCallerData>true</includeCallerData>
            <!-- 设置时区-->
            <timeZone>UTC</timeZone>
            <!-- 日期格式化-->
            <!-- 添加自定义属性,server_name 是 服务名-->
            <customFields>{"server_name":"demo-server"}</customFields>
        </encoder>
        <!--  设置超时 时间,默认没有,使用集群时可以使用!-->
        <!--<writeTimeout>30 seconds</writeTimeout>-->
    </appender>

    <root level="INFO">
        <!--        控制台输出打开,线上部署时将控制台输出关闭!!!-->
        <appender-ref ref="STASH"/>
        <appender-ref ref="STDOUT"/>
    </root>


</configuration>

日志的格式:
在这里插入图片描述
输出到 logstash:
在这里插入图片描述

启动项目

可以看到 有日志
在这里插入图片描述

在Kibana中查看

在这里插入图片描述
可以在这里管理索引
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
再次点击Discovery即可
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/85275.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于微信小程序的小区疫情防控系统-计算机毕业设计

随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受业主的喜爱&#xff0c;小区疫情防控小程序被业主普遍使用&#xff0c;为方便业主能够可…

G1D33-BTG复现重跑实验

一、复现BTG 复现很简单&#xff0c;所以就记录一些乱七八糟的叭 &#xff08;一&#xff09;传参 传是否使用cuda的参数的时候&#xff0c;发现传True会报错&#xff0c;后来查到链接 https://stackoverflow.com/questions/43381710/unrecognized-arguments-true 如果什么都…

web前端课程设计 基于HTML+CSS+JavaScript汽车自驾游(10个页面)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

web前端网页设计期末课程大作业:中华传统文化题材网页源码——基于HTML实现中国水墨风书画艺术网站(12个页面)

&#x1f389;精彩专栏推荐 &#x1f4ad;文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 &#x1f482; 作者主页: 【主页——&#x1f680;获取更多优质源码】 &#x1f393; web前端期末大作业&#xff1a; 【&#x1f4da;毕设项目精品实战案例 (10…

关于自动化测试的误区——希望能帮助新手正确的了解自动化一些概念。

自动化测试作为软件测试的一种技术手段&#xff0c;时常被大家讨论。本人在自动化技术方面有过略有小成&#xff0c;今天聊一聊关于自动化的一些误区&#xff0c;以帮助新手能正确的了解和认识自动化一些概念。 测试的行为本质是什么&#xff1f; 为什么先从这个概念开始谈起…

React 入门:实战案例 TodoList 删除一条 Item

文章目录目标实现效果实现思路实现步骤第一步&#xff1a;App 组件中定义删除 Todo 的组件方法第二步&#xff1a;App 组件通过 props 传递删除 Todo 的方法到子组件 List第三步&#xff1a;List 组件接收删除 Todo 的方法&#xff0c;并传递给 Item 子组件第四步&#xff1a;I…

JAVA毕业设计——基于Springboot+vue的图书管理系统(源代码+数据库)

github代码地址 https://github.com/ynwynw/bookmanage2-public 毕业设计所有选题地址 https://github.com/ynwynw/allProject 基于Springbootvue的图书管理系统(源代码数据库) 一、系统介绍 本项目分为管理员与普通用户两种角色 体实现功能如下: 用户系统权限控制管理:主要…

热插拔技术--以ADM1177为例说明

综述 ADM1177是一款热插拔控制器&#xff0c;并且还支持电压电流采集&#xff08;12bitADC&#xff09;和传输(IIC).本文着重说明热插拔技术&#xff0c;所以仅说明ADM热插拔处理过程&#xff0c;对于ADC和IIC部分不予说明&#xff0c;请读者自行研究。 热插拔的应用背景 服务…

【GRU回归预测】基于粒子群优化门控循环单元PSO-GRU神经网络实现多输入单输出回归预测附matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;修心和技术同步精进&#xff0c;matlab项目合作可私信。 &#x1f34e;个人主页&#xff1a;Matlab科研工作室 &#x1f34a;个人信条&#xff1a;格物致知。 更多Matlab仿真内容点击&#x1f447; 智能优化算法 …

SeleniumUI自动化的POM三层架构

目录 1、定义log.py日志 2、在基础封装层初始化类uitls.__init__.py中选择了日志的打印级别, 3、定义页面基础类base_page.py&#xff0c;定义了页面找元素的方法&#xff0c; 4、将百度页面的元素以代码形式保存&#xff0c;baidu.py 5、重新封装浏览器方法, browser.py …

ChatGPT版微信个人号搭建流程

[TOC] 参考链接&#xff1a; github仓库 准备服务器 进入腾讯云服务器官网&#xff0c;搜索“轻量应用服务器”立即选购 注意&#xff0c;地区要选海外&#xff0c;镜像选Docker镜像 购买之后&#xff0c;就进入控制台 然后登陆到shell 安装部署 查看一下docker&#xff0…

【探索Spring底层】11.切点匹配

文章目录1. 前言2. 给一个类中的其中一个方法增强3. 根据注解给方法增强4. Spring中Transactional的底层实现1. 前言 这里主要讲述一些切点匹配的相关例子&#xff0c;其主要是关于切点表达式匹配的实现。 主要有三种例子&#xff1a; 给一个类中的其中一个方法增强根据注解…

Gitee创建自己的仓库并且上传项目

Gitee创建自己的仓库并且上传项目前言在码云上创建仓库上传项目到远程仓库前言 之前用了一段时间的Gitee&#xff08;码云&#xff09;一直想写一篇文章记录下&#xff0c;结果赶上世界杯 被人把苦茶子给抢走了。。。正好这几天筹钱&#xff0c;那就简单记录下。 这里的Git的安…

[附源码]Python计算机毕业设计动漫网站Django(程序+LW)

该项目含有源码、文档、程序、数据库、配套开发软件、软件安装教程 项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等…

机器人开发--Pepperl+Fuchs倍加福激光雷达系列

机器人开发--PepperlFuchs倍加福激光雷达系列1 介绍2 R2000系列2.1 按键操作2.2 测量方法2.3 协议2.3.1 文档2.3.2 特点2.3.3 控制 HTTP收发报文格式get_protocol_info设置传感器参数list_parameters – list parametersget_parameter – read a parameterset_parameter – cha…

springboot simple (10) springboot protobuf

教程列表&#xff1a; springboot simple&#xff08;0&#xff09; springboot简介 springboot simple&#xff08;1&#xff09; springboot Helloworld springboot simple&#xff08;2&#xff09; springboot Starter springboot simple&#xff08;3 &#xff09;spri…

Flutter Web CORS问题

Flutter Web CORSCORS 相关概念协议请求跨域问题App2WebCodingAppCORS 相关概念 关于 CORS 概念&#xff0c;可参考 mozilla 的相关文档资料&#xff1a; Cross-Origin Resource Sharing (CORS)Reason: CORS header ‘Access-Control-Allow-Origin’ missing An example of …

震撼发布,快鲸企微工单任务管理系统上线了

快鲸推出的企微SCRM系统被大家所熟知&#xff0c;这是一款帮助企业通过企微维护客户的管理系统。在客户管理服务过程中&#xff0c;很多企业需要通过工单来进行事项处理和文件内容流转&#xff0c;为了满足这方面客户的需求&#xff0c;快鲸工单系统也应运而生。 品牌都将客户的…

关于json的集合接收和多表关联查询

文章目录一、json的接收与发送1.postman工具发送格式2.controller接收处理二、查询集合数据1.利用mybatis-plus进行分页处理三.读取数据配置mapper.xml输出结果提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 一、json的接收与发送 1.postman工具发送格…

selenium之鼠标操作详解

前言 人类频繁的用手操作鼠标和键盘&#xff0c;为了解决这个问题&#xff0c;selenium工具为我们提供了一个类来处理这些事件— Actionchains &#xff0c;该类可以完成鼠标移动&#xff0c;鼠标点击事件、键盘输入、内容菜单交互等交互行为。 1、常见的鼠标操作有&#xff1…