- 博客(287)
- 收藏
- 关注
原创 PostgreSQL数据库
PostgreSQL(简称Postgres或PG)是一个功能强大、可靠性高、可扩展性好的开源对象-关系数据库服务器(ORDBMS),它以加州大学伯克利分校计算机系开发的POSTGRES版本4.2为基础。
2024-10-25 21:18:20
2328
原创 监控 - OpenNMS介绍
OpenNMS由Oculan Corporation开发,并以GPL协议释出,是世界上第一个采用开放源代码模式开发的企业级网络管理系统。它采用Java/XML技术构建,旨在为用户提供一个全面且高效的监控工具。通过该平台,网络管理员可以轻松地监控网络中的终端及服务器状态,实现对网络环境的有效管理和维护。
2024-10-25 16:55:16
841
原创 Nagios 部署
添加到文件(/etc/nagios/objects/commands.cfg)末尾,在templates.cfg文件中找到 generic-host 末尾添加一行内容。浏览器访问:http://192.168.1.91/pnp4nagios。浏览器登录 http://192.168.1.91/nagios/添加到文件(/etc/nagios/nagios.cfg)末尾。网址:http://IP地址/nagios/默认用户和密码:nagiosadmin。重启nagios、httpd、npcd。
2024-10-24 02:18:07
619
原创 mtail 监控日志
日志解析:mtail能够读取应用程序的日志文件,并通过用户定义的正则表达式和规则来解析日志内容,提取出关键信息。指标生成:基于解析出的日志内容,mtail可以生成各种监控指标,如计数器、直方图等,这些指标能够实时反映系统的状态和性能。数据导出:mtail支持将生成的监控指标以多种格式导出,包括HTTP上的JSON/Prometheus接口,以及collectd、StatsD和Graphite等协议的直接推送,方便与其他监控系统集成。
2024-10-17 01:05:25
479
原创 采集器-Categraf
在数字化转型和云计算技术发展的背景下,企业对IT基础设施的监控需求日益增长。传统的监控方式已无法满足现代数据中心对性能、灵活性以及可扩展性的要求。正是在这样的背景下,Categraf应运而生。作为一款专注于数据采集的开源代理工具,Categraf自诞生之初便致力于解决复杂环境中数据收集难题,不仅能够适应多样化的监控场景,还以其独特的一体化架构设计在众多同类产品中脱颖而出。
2024-10-17 00:37:59
1252
原创 Nightingale 页面介绍
在浏览器输入http://127.0.0.1:17000,默认用户是root,密码是root.2020。左边列表为主要功能模块:仪表盘告警管理时序指标日志分析基础设施告警自愈人员组织系统配置。
2024-10-17 00:20:17
1295
原创 监控软件 - 初识 Nightingale
对于中心集群来说,主要包括以下组件:MySQL:用于存放配置信息以及告警事件。Redis:用于存储 JWT Token,机器元信息等数据。TSDB:时序数据库,存放监控指标。N9e:核心服务,处理 Web 请求、提供告警引擎。中间的飞鸟代表夜莺的核心进程 n9e ,它的集群方式非常简单只需部署多节点即可实现。对于 n9e 来说,它本身依赖的存储有两个:Mysql : 存放配置类别信息,如用户,监控大盘,告警规则等。
2024-10-16 23:33:18
1256
原创 json与pickle
JSON是一种轻量级的数据交换格式,易于人类阅读和编写,同时也便于机器解析和生成。JSON是数据表示的理想选择,尤其在网络传输和存储过程中。
2024-10-11 18:11:37
324
原创 MySQL设计三范式
MySQL设计三范式是关系型数据库设计中的基本规范,旨在减少数据冗余,确保数据的一致性和完整性。三范式包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF),它们之间具有递进关系,每一范式都是在前一范式的基础上进一步规范化的结果。
2024-10-10 18:49:06
375
原创 Python 进程、线程、协程
计算机系统抽象组成: CPU + 存储器 + IO时间片(timeslice)又称为 “量子”(quantum)或 “处理器片”(processor slice),是分时操作系统分配给每个正在运行的进程微观上的一段 CPU 时间(在抢占内核中是:从进程开始运行直到被抢占的时间)。对于单核cpu同一时刻只能有一个任务运行。1. 并发:交替执行(某时间段内的处理能力)2. 并行:同时执行线程(Thread):是操作系统最小的调度单位, 是一串指令的集合。
2024-10-06 01:12:06
1205
原创 Python 闭包和装饰器
装饰器是这样一种设计模式:如果一个类(函数)希望添加其他类(函数)的一些功能,而不希望通过继承或是直接修改源代码实现,那么可以使用装饰器模式。简单来说Python中的装饰器就是指某些函数或其他可调用对象,以函数或类作为可选输入参数,然后返回函数或类的形式。通过这个在Python2.6版本中被新加入的特性可以用来实现装饰器设计模式。装饰器就是一个可以接受调用也可以返回调用的函数,该函数接受被装饰的函数作为其位置参数。装饰器通过使用该参数来执行某些操作,然后返回原始参数或一些其他的调用。
2024-10-06 00:02:44
886
原创 Python 面向对象
对象:通过类定义的数据结构实例。对象包括两个数据成员(类变量和实例变量)和方法。python一切皆对象,类是对象,实例也是对象。• 一般首字母大写(大驼峰)• python2 => 经典类和新式类• python3 => 新式类passpass• 代码:父类Parent/子类Child。• 子类有__ini__: 执行自己的初始化函数。• 子类没有__init__: 在子类实例化的时候会自动执行父类的构造函数。多态(Polymorphism):“多种状态”,在面向对象语言中,接口的多种不同。
2024-10-05 23:46:54
933
原创 Python 生成器
生成器算得上是Python语言中最吸引人的特性之一,生成器其实是一种特殊的迭代器,不过这种迭代器更加优雅。它不需要手动编写__iter__()和__next__()方法,只需要一个yiled关键字。• 生成器一定是迭代器(反之不成立)。• 因此任何生成器也是以一种懒加载的模式生成值。
2024-10-05 17:17:06
1049
原创 Python 迭代器
1# 2# 1• 这里x是一个可迭代对象,可迭代对象和容器一样是一种通俗的叫法,并不是指某种具体的数据类型。• list是可迭代对象。• dict是可迭代对象。• set也是可迭代对象。• y和z是两个独立的迭代器, 迭代器有一种具体的迭代器类型,比如list_iterator,set_iterator。迭代器是有状态的,可以被next()调用,函数调用并不断返回下一个值的对象称为迭代器(Iterator)。任何实现了__iter__()和__next__()都是迭代器。
2024-10-05 16:54:33
1013
原创 Python 正则表达式
数据挖掘:从一大堆文本中找到一小堆文本时。如,从文本是寻找email, ip, telephone等。验证:使用正则确认获得的数据是否是期望值。如,email、用户名是否合法等。非必要时慎用正则,如果有更简单的方法匹配,可以不使用正则。
2024-10-04 19:10:07
1158
原创 Python 异常处理
• 程序运行过程中,出现的意料之外的错误• 如:打开的文件不存在、被除数为0、操作的数据类型不对、存储错误,互联网请求错误....
2024-10-04 16:55:19
482
原创 Python 模块与包
Python包实际上是一个目录。包结构的目录里面可以有一个 __init__.py 模块• py2与py3• py2:__init__.py是必须的• py3:__init__.py是可选的模块和包名要尽量和内置的模块名不相同, 不然会覆盖内置的模块。1. 可读性高不熟悉这个项目的代码的人,一眼就能看懂目录结构,知道程序启动脚本是哪个,测试目录在哪儿,配置文件在哪儿等等。从而非常快速的了解这个项目。2. 可维护性、可扩展性好。
2024-10-04 16:44:37
955
原创 Python 内存管理
Python动态类型• 对象是储存在内存中的实体。• 我们在程序中写的对象名,只是指向这一对象的引用(reference)• 引用和对象分离,是动态类型的核心• 引用可以随时指向一个新的对象(内存地址会不一样)
2024-10-04 16:06:07
655
原创 Python 文件操作
文件是存放在外部介质 (如硬盘、U盘) 上的一组完整信息的集合。这些信息可为各种文字、图形、图像、电影、音乐,甚至包括病毒程序等。
2024-10-04 15:31:19
819
原创 Python 深浅拷贝
可以通过实现 __copy__和__deepcopy__ 方法来定制拷贝行为。print("开始执行自定义浅拷贝")print("原对象:", original_obj)print("浅拷贝对象:", new_obj)# 开始执行自定义浅拷贝# 原对象: # 浅拷贝对象:
2024-10-04 14:53:02
388
原创 CoPilot 开发指南
OpenNJet 是一个多进程的程序,有一个 Master 进程和多个 Worker 进程,另外还可以创建多个CoPilot 进程。CoPilot 在 Master-Workers 进程架构的基础之上进行了扩展,提升了 OpenNJet 的控制管理和提供服务的能力。比如,可以用CoPilot运行一个Controller,对外提供访问控制;还可以用CoPilot运行一个Broker,作为一个消息中间件。
2024-10-04 01:43:28
1590
原创 OpenNJet:下一代云原生应用引擎
OpenNJet 应用引擎是基于 NGINX 的面向互联网和云原生应用提供的运行时组态服务程序,作为底层引擎,OpenNJet 实现了NGINX 云原生功能增强、安全加固和代码重构,利用动态加载机制可以实现不同的产品形态,如Web服务器、流媒体服务器、负载均衡、代理(Proxy)、应用中间件、API网关、消息队列等产品形态等等。OpenNJet 在云原生架构中作为数据平面,除了提供南北向通信网关的功能以外,还提供了服务网格中东西向通信能力。
2024-10-04 01:31:40
1256
原创 Vite + Vue 项目创建和初始化
1. 在命令行创建基于vite+vue的项目2. 安装依赖> yarn3. 启动项目yarn dev。
2023-09-29 14:44:34
538
1
原创 JavaScript 保留关键字、JSON、void(0)、代码规范
JSON 英文全称JavaScriptObjectNotationJSON 是一种轻量级的数据交换格式。JSON是独立的语言JSON 易于理解。JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。文本可以被任何编程语言读取及作为数据格式传递。
2023-09-23 13:32:45
318
原创 JavaScript 类型转换、正则表达式
正则表达式是由一个字符序列形成的搜索模式。当你在文本中搜索数据时,你可以用搜索模式来描述你要查询的内容。正则表达式可以是一个简单的字符,或一个更复杂的模式。正则表达式可用于所有文本搜索和文本替换的操作。
2023-09-23 12:56:58
161
原创 JavaScript 流程控制(if、switch、for、while)
JavaScript 通过规定的语句让程序代码有条件的按照一定的方式执行。
2023-09-23 12:25:35
158
原创 JavaScript 函数、作用域、事件
根据您点击的不同的按钮,上面的例子会提示 "Welcome Harry Potter, the Wizard" 或 "Welcome Bob, the Builder"。在JavaScript中,函数即对象,可以随意地被程序操控,函数可以嵌套在其他函数中定义,这样可以访问它们被定义时所处的作用域中的任何变量。"demo" 元素的 innerHTML 将成为 5,也就是函数 "myFunction()" 所返回的值。您可以在不同的函数中使用名称相同的局部变量,因为只有声明过该变量的函数才能识别出该变量。
2023-09-23 11:46:01
162
原创 JavaScript 数据类型
JavaScript有以下几种类型:字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。
2023-09-23 11:05:50
65
原创 JavaScript 语句、注释、变量
JavaScript 语句可以理解为是开发者向浏览器发出的命令。它可以告诉浏览器下一步该做什么。JavaScript 语句是发给浏览器的命令。这些命令的作用是告诉浏览器要做的事情。
2023-09-23 10:58:29
58
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人