大连企业网站模板建站/百度推广运营专员

大连企业网站模板建站,百度推广运营专员,十大ps培训机构,mysql做镜像网站对系统的日志监控,通用做法是使用ELK(Elasticsearch、Logstash、Kibana)进行监控和搜索日志,这里给出另一种方案:通过Filebeat接收日志到Kafka,监控平台接收Kafka,并通过WebSocket实时展示。 这…

对系统的日志监控,通用做法是使用ELK(Elasticsearch、Logstash、Kibana)进行监控和搜索日志,这里给出另一种方案:通过Filebeat接收日志到Kafka,监控平台接收Kafka,并通过WebSocket实时展示。

这种方案还可以增加Metricbeat监控机器指标。另外,监控平台可以选择其他方式展示日志,灵活性大。

这种方案适合对系统进行实时监控、以及对系统CPU、内存进行实时监控的场景。

结构图:

图片

流程图:

图片

数据收集

数据收集组件包括filebeat和metricbeat,寻找一个合适的本地文件夹进行部署,无需su权限。

其中,filebeat用于日志收集和结构化数据收集,metricbeat用于系统信息收集。

filebeat安装与配置

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.16.2-linux-x86_64.tar.gztar zxf filebeat-7.16.2-linux-x86_64.tar.gzcd filebeat-7.16.2-linux-x86_64vi filebeat.yml

(用实际日志文件名替换{FILE_PATH},如:/data/logs/systemx/abcd.log)

filebeat.inputs:- type: filestreamenabled: truepaths:- FILE_PATHoutput.kafka:enabled: truehosts: ["kfk-01.example.com:9092","kfk-02.example.com:9092","kfk-03.example.com:9092"]topic: system_x_journal

启动filebeat

nohup ./filebeat -c filebeat-[STRATEGY_ID]-jnl.yml -path.data=$PWD/data_[STRATEGY_ID]_jnl/ > filebeat-[STRATEGY_ID]-jnl.log 2>&1 &Ornohup ./filebeat -c filebeat-[STRATEGY_ID]-stt.yml -path.data=$PWD/data-[STRATEGY_ID]-stt/ > filebeat-[STRATEGY_ID]-stt.log 2>&1 &
 

filebeat文档在这里:Filebeat Reference [7.16] | Elastic

metricbeat安装与配置

安装

wget https://artifacts.elastic.co/downloads/beats/metricbeat/metricbeat-7.16.2-linux-x86_64.tar.gztar zxf metricbeat-7.16.2-linux-x86_64.tar.gzcd metricbeat-7.16.2-linux-x86_64vi metricbeat.yml

配置

metricbeat.config.modules:path: ${path.config}/modules.d/*.ymlreload.enabled: falsemetricbeat.modules:- module: systemmetricsets: [core]core.metrics: [percentages, ticks]processors:  - add_host_metadata:netinfo.enabled: trueoutput.kafka:enabled: truehosts: ["kfk-01.example.com:9092","kfk-02.example.com:9092","kfk-03.example.com:9092"]topic: system_x_sysinfo

启动

nohup ./metricbeat -c metricbeat.yml > metricbeat.log 2>&1 &

对于多个系统部署在一台服务器上的情况,往往会共用一份机器信息,则将配置文件的topic改为:system_x_ID_sysinfo。

注意:

1.metricbeat默认不带IP,需要在配置文件添加add_host_metadata

2.metricbeat默认不带CPU所有内核的负载,需要扩展module: system

3.传递内容及数据格式在这里:System fields | Metricbeat Reference [8.9] | Elastic

Kafka数据查看

作为中间调试步骤,可以登录到测试服务器,查看Kafka输出

cd /usr/local/kafka/bin/sh kafka-console-consumer.sh --bootstrap-server kfk-01.example.com:9092,kfk-02.example.com:9092,kfk-03.example.com:9092 --topic YOUR_TOPIC

​​​​​​​Python(FastAPI)示例

在一个典型的Python FastAPI项目中,通过kafka consumer订阅对应策略的topic,持续消费kafka存储的日志数据,然后通过websocket服务,将日志推给连接的ws客户端。

KafkaConsumer

使用python的kafka包。

注意:安装kafka-python,不要kafka

使用 pip list | grep kafka查看是否有安装,如果已安装kafka,先卸载:

pip uninstall kafka

再安装

pip install kafka-python

FastAPI主程序示例

from web.monitors import loginfo, sysinfoimport asyncio# 已声明 app = FastAPI()@app.on_event("startup")async def startup():loop = asyncio.get_running_loop()logging.info(loop)journal.set_config(config, loop)sysinfo.set_config(config)app.mount("/loginfo", loginfo.router_loginfo)app.mount("/sysinfo", sysinfo.router_sysinfo)logging.info("config journal and sysinfo")

附1:metricbeat机器信息返回字段

system_name:系统名称

app_cpu:系统应用占用的CPU(单位:百分比)

app_memory:系统应用占用的内存(单位:字节)

app_start_time:系统应用启动时间

app_pid:系统应用的进程ID

cpu_sys_usage:机器整体CPU系统使用(单位:百分比)

cpu_idle:机器整体CPU闲置(单位:百分比)

cpu_user_usage:机器整体CPU用户使用(单位:百分比)

cpu_cores:机器CPU内核数

cpu_cores_usage:列表,机器所有CPU核的负载(单位:百分比)

memory_usage:机器整体内存占用(单位:百分比)

memory_total:机器内存总和(单位:字节)

disk_usage:机器磁盘占用率(单位:百分比)

disk_total:机器磁盘空间总和(单位:字节)

host_name:主机名

os:主机操作系统

ip_addr:主机IP

附2:FastAPI+Websocket问题

基于解耦原则,日志的kafka消费、websocket服务模块需要放在单独的文件中,但是,通过app.include_router添加的ws路径不起作用,相关bugreport见这里。

目前的解决方案是:

在ws router服务模块中也声明app:

router_journal = FastAPI()

然后在主app文件中附加此router模块:

app.mount(router_journal)

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

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

相关文章

CAD Voronoi3D V1.0.1 版本更新说明

更新说明 CAD Voronoi3D V1.0.1版本对泰森多边形晶格进行进一步的优化。 采用新算法大幅度减少形体边界出现小晶格的可能性,使区块更均匀: 优化曲边边界晶格曲率问题,消除曲边形体晶格边界曲率过大现象: 优化生成算法&#xff…

Bash编程

目录: bash编程语法bash脚本编写 1.bash编程语法 Bash 编程基础 变量引号数组控制语句函数 Bash 变量 语法: Variable_namevalue Bash 变量定义的规则 变量名区分大小写,a和A为两个不同的变量。变量名可以使用大小写字母混编的形式进行…

iOS - 解压ipa包中的Assert.car文件

项目在 Archive 打包后,生成ipa包 将 xxx.ipa文件修改为zip后缀即 xxx.zip ,然后再双击解压,会生成一个 Payload 文件夹,里面一个文件 如下图: 然后显示改文件的包内容: 解压 Assets.car 文件的方式&…

Linux操作系统1-命令篇

不同领域的主流操作系统 桌面操作系统 Windos Mac os Linux服务器操作系统 Unix Linux(免费、稳定、占有率高) Windows Server移动设备操作系统 Android(基于Linux,开源) ios嵌入式操作系统 Linux(机顶盒、路由器、交换机) Linux 特点:免费、开源、多用户、多任务…

flutter:BottomNavigationBar和TabBar

区别 BottomNavigationBarr和TabBar都是用于创建导航栏的组件,但它们有一些区别。 位置不同:BottomNavigationBar通常位于屏幕底部,用于主要导航;而TabBar通常位于屏幕顶部或底部,用于切换不同的视图或页面。 样式不…

java设计模式-观察者模式

什么是观察者模式 观察者模式(Observer)是软件设计中的一种行为模式。 它定义了对象之间的一对多关系,其中如果一个对象改变了状态,所有依赖它的对象都会自动被通知并更新。 这种模式包含了两种主要的角色,即被观察…

AI 绘画Stable Diffusion 研究(二)sd模型ControlNet1.1 介绍与安装

部署包作者:秋葉aaaki 免责声明: 本安装包及启动器免费提供 无任何盈利目的 大家好,我是风雨无阻。 众所周知,StableDiffusion 是非常强大的AI绘图工具,需要详细了解StableDiffusion的朋友,可查看我之前的这篇文章: …

springboot框架下,请使用@ConfigurationProperties替代@Value加载配置

一、背景 程序启动时,详细报错见下: 10:40:31.965 [main] ERROR org.springframework.boot.SpringApplication - Application run failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name ‘redisDi…

Tribon二次开发- tbbatchjob

在Tribon安装目录下C:\Tribon\M3\Bin里面有许多未知用途的exe,有的双击后时一个DOS终端,有的一闪而过,有的需要按照提示输入信息,有的需要提前在指定的目录配置文件,该如何使用呢? 这些exe大多可以在Tribon以外通过.NET来使用,有的可以通过添加.NET项目引用来使用,有的…

Spring Cloud Alibaba - Nacos源码分析(三)

目录 一、Nacos客户端服务订阅的事件机制 1、监听事件的注册 2、ServiceInfo处理 serviceInfoHolder.processServiceInfo 一、Nacos客户端服务订阅的事件机制 Nacos客户端订阅的核心流程:Nacos客户端通过一个定时任务,每6秒从注册中心获取实例列表&…

filebeat介绍

1、filebeat概述 Filebeat是用于转发和集中日志数据的轻量级传送工具。Filebeat监视您指定的日志文件或位置,收集日志事件,并将它们转发到Elasticsearch或 Logstash或kafka进行索引 1.1 Filebeat两个主要组件 prospector 和 harvester。 prospector&a…

Flink CEP(二) 运行源码解析

通过DemoApp学习一下&#xff0c;CEP的源码执行逻辑。为下一篇实现CEP动态Pattern奠定理论基础。 1. Pattern的定义 Pattern<Tuple3<String, Long, String>,?> pattern Pattern.<Tuple3<String, Long, String>>begin("begin").where(new…

数据分析-关于指标和指标体系

一、电商指标体系 二、指标体系的作用 三、统计学中基本的分析手段

移远通信推出新一代高算力智能模组SG885G-WF,为工业和消费级IoT应用带来全新性能标杆

2023年7月24日&#xff0c;全球领先的物联网整体解决方案供应商移远通信宣布&#xff0c;正式推出其新一代旗舰级安卓智能模组SG885G-WF。该智能模组具有高达48 TOPS 的AI综合算力、强大性能及丰富的多媒体功能&#xff0c;非常适用于需要高处理能力和多媒体功能的工业和消费者…

如何在win10环境下配置强化学习gym库(使用vscode)

我是通过anacondavscode完成的gym库的使用&#xff0c;只是把案例跑起来了&#xff0c;具体步骤如下&#xff1a; 1、安装anaconda,参考链接&#xff1a;https://www.jianshu.com/p/2f3be7781451 我其实就是生安装的&#xff0c;也没有去配置环境啥的&#xff0c;就是下载安…

FANUC机器人SRVO-217故障报警原因分析及参考解决办法

FANUC机器人SRVO-217故障报警原因分析及参考解决办法 如下图所示,示教器提示:SRVO-217紧急停止电路板未找到, 查阅手册可以看到以下的报警说明: 故障原因: 通电时未能识别紧急停止电路板或者增设的安全I/O装置。连接有多个安全I/O装置的系统中,在报警信息的最后,会显示发…

进程_PCB 的理解

目录 一. PCB 的概念 1. 为什么需要PCB 2. PCB的属性 二. task struct 1. task struct 介绍 2. 查看进程指令 3. PID 4. PPID 父进程是什么&#xff1f; 为什么要有父进程&#xff1f; 5. fork 创建子进程 1) fork 后的现象 为什么会打印两次&#xff1f; 2) 的返…

自动驾驶感知系统--惯性导航定位系统

惯性导航定位 惯性是所有质量体本身的基本属性&#xff0c;所以建立在牛顿定律基础上的惯性导航系统&#xff08;Inertial Navigation System,INS&#xff09;(简称惯导系统)不与外界发生任何光电联系&#xff0c;仅靠系统本身就能对车辆进行连续的三维定位和三维定向。卫星导…

Linux学成之路(基础篇0(二十三)MySQL服务(主从MySQL服务和读写分离——补充)

目录 一、MySQL Replication概述 优点 异步复制&#xff08;Asynchronous repication&#xff09; 全同步复制&#xff08;Fully synchronous replication&#xff09; 半同步复制&#xff08;Semisynchronous replication&#xff09; 三、MySQL支持的复制 四、部署主从…

手写vuex

vuex 基本用法 vuex是作为插件使用&#xff0c;Vue.use(vuex) 最后注册给new Vue的是一个new Vuex.Store实例 // store.js import Vue from vue import Vuex from vuexVue.use(Vuex) // Vue.use注册插件 // new Vuex.Store实例 export default new Vuex.Store({state: {},gette…