skywalking学习使用
skywalking简介
SkyWalking 是一款开源的分布式应用性能监控(APM)系统,它通过 Agent 收集应用的调用链和性能指标(如 CPU、内存、数据库和 HTTP),将数据发送到 OAP(核心分析平台)进行处理和存储(支持 Elasticsearch、MySQL 等),并在 UI 前端可视化展示服务拓扑、指标和告警信息,帮助开发和运维快速定位微服务、容器化或云原生应用中的性能瓶颈和异常问题。
SkyWalking vs Zabbix 的对比表
特性
SkyWalking
Zabbix
类型
分布式应用性能监控(APM)
基础设施监控和告警系统
主要监控对象
微服务应用、容器、云原生环境
服务器、网络设备、应用服务
核心功能
分布式追踪、指标监控、服务拓扑、告警
主机监控、网络监控、服务可用性、告警
数据采集方式
Agent 嵌入应用、自动采集调用链和指标
SNMP、Agent、IPMI、JMX 等协议采集
数据存储
Elasticsearch、MySQL、H2、TiDB 等
内置数据库(MySQL、PostgreSQL)、可扩展
可视化
...
mongo数据库基础
mongo基础
1. 数据库相关
功能
命令
显示所有数据库
show dbs
切换数据库(不存在会自动创建)
use mydb
查看当前数据库
db
删除当前数据库
db.dropDatabase()
2. 集合(表)相关
功能
命令
显示所有集合
show collections
创建集合
db.createCollection("users")
删除集合
db.users.drop()
3. 数据(文档)操作插入12345db.users.insertOne({name: "Alice", age: 25})db.users.insertMany([ {name: "Bob", age: 30}, {name: "Charlie", age: 28}])
查询12345db.users.find() // 查询全部db.user ...
mongo数据库备份还原
mongo备份手册全备份进入容器1docker exec -it mongodb bash
创建备份目录1mkdir -p /tmp/backup
导出所有数据库1mongodump -u admin --password 123456 --authenticationDatabase admin --out /tmp/backup
默认会连接本地 27017
所有数据库会导出到 /tmp/backup,每个数据库生成一个文件夹,每个集合生成 .bson 和 .metadata.json 文件。
转移备份到宿主机1docker cp mongodb:/tmp/backup /data/backup/mongodb
至此所有数据库均已备份完成
选择数据库备份进入容器1docker exec -it mongodb bash
创建备份目录1mkdir -p /tmp/backup/singleDatabase
导出单个数据库1mongodump -u admin -p 123456 --authenticationDatabase admin -d regen --ou ...
命令行神器cowsay
cowsay dont be so serious~命令行神器cowsay。用过的都说绝。
1yum install -y cowsay

influx数据库
influxdb简介influxDB 简介InfluxDB 是一个 **开源的时序数据库 (Time-Series Database, TSDB)**,专门用于存储、查询和分析 带时间戳的数据。
基本特点
高效写入:能处理大量实时数据流(如传感器、日志、监控数据)。
时间序列查询:支持按时间范围快速查询和聚合。
内置函数:提供统计、聚合(平均值、最大值、最小值等)。
轻量易用:安装简单,常与 Telegraf、Grafana 搭配使用。
常见应用
系统和应用监控(CPU、内存、接口性能)
物联网数据(温度、湿度、传感器信息)
金融行情数据(股票、加密货币价格)
日志和事件记录
influxdb 1.8 部署docker 持久化部署准备准备目录结构和配置文件
案例配置文件
12345678910111213141516171819reporting-disabled = true[meta] dir = "/var/lib/influxdb/meta"[data] dir = "/var/lib/influxdb/data" wal-d ...
Github Actions实现CICD
有个闲暇之余放松写写的VUE项目。目前还在纯静态设计阶段,刚好可以拿来借助github actions和github pages学习CI/CD。
CI/CD简介
CI/CD 概念
CI(Continuous Integration,持续集成)
目的:让开发者频繁地把代码合并到主分支,并自动验证代码质量。
流程:
开发者提交代码到版本控制(Git)。
自动触发构建、编译、测试。
发现问题及时反馈,避免集成冲突。
优势:
提高代码质量
及时发现问题
保持主分支始终可用
CD(Continuous Delivery/Deployment,持续交付/部署)
持续交付(Continuous Delivery):
在 CI 基础上,把构建产物自动部署到测试或预生产环境。
人工确认后可发布到生产环境。
持续部署(Continuous Deployment):
自动将构建产物直接部署到生产环境,无需人工干预。
优势:
加快产品迭代速度
降低手动部署出错风险
CI/CD 就是“提交就自动构建、测试、部 ...
命令行三剑客笔记
命令行三剑客1. grep → 找行(筛选)作用:在文本中查找匹配的内容,过滤出符合条件的行。
示例:查找日志中包含 ERROR 的行
1grep "ERROR" app.log
2. sed → 改行(编辑)作用:按规则批量修改文本,可以做替换、删除、插入。
示例:把日志中的 500 替换成 503
1sed 's/500/503/g' access.log
3. awk → 拆行(按列处理、计算)作用:按列来处理数据,适合做提取、格式化、统计。
示例:统计访问日志里不同状态码的出现次数
1awk '{print $9}' access.log | sort | uniq -c
mongo数据库
[TOC]
基本信息MongoDB 是一个 开源的 NoSQL 数据库,用 JSON 风格的文档来存储数据,而不是传统关系型数据库的表和行。
主要特点
文档型存储
数据以 BSON(二进制 JSON)格式保存,类似:
12345{ "name": "Alice", "age": 25, "skills": ["Python", "Vue"]}
无固定模式(Schema-less)
同一个集合(collection)里的文档结构可以不同,方便灵活扩展。
高扩展性
支持 分片(Sharding) 和 副本集(Replica Set),可以水平扩展和高可用。
查询功能强大
支持丰富的查询语法、聚合管道(Aggregation Pipeline)、地理位置查询等。
适合大数据和快速开发
常用于日志存储、实时分析、内容管理、物联网等场景。
基本概念对比(与 MySQL 类比)
MySQL
MongoDB
...
Linux下的权限控制
Linux下的权限控制Linux 权限基础概念在 Linux 中,权限控制是基于文件(file)和目录(directory)来实现的,权限由三组组成:
**User (u)**:文件的拥有者(Owner)
**Group (g)**:文件所属用户组
**Others (o)**:除拥有者和所属组外的其他用户
每组有 3 种权限:
权限
符号
对文件的作用
对目录的作用
读
r
读取文件内容
列出目录内容(ls)
写
w
修改文件内容
增删文件(即修改目录结构)
执行
x
执行文件
进入目录(cd)
权限示例:
1d rwx r-x r--
d → 类型:目录 (directory)
rwx → 用户 (u) 权限:读、写、执行
r-x → 用户组 (g) 权限:读、执行(不能修改目录内容)
r-- → 其他人 (o) 权限:只读
chmod / chown / chgrp 的作用与用法chmod — 改变权限两种方式:
数字模式
r = 4,w = 2,x = 1,三者相加
示例:
1chmod 755 mydir
...
redis集群搭建
redis部署直接安装包管理器安装安装1dnf instal redis
启动123sudo systemctl start redissudo systemctl enable redissudo systemctl status redis
测试连接-112redis-cliping
配置文件 修改访问地址、增加密码、持久化存储
1234567891011121314vim /etc/redis.conf# 修改访问地址:69行左右bind 0.0.0.0# 增加密码:507行左右requirepass regen# 持久化存储# RDB持久化(默认会开启):218行左右save 900 1save 300 10save 60 10000# AOF持久化:700行左右appendonly yes
RDB在指定的间隔时间自动将内存中的数据快照保存到磁盘。
AOF记录所有写操作,以便在 Redis 重启时重新执行。
1. RDB 持久化RDB(Redis 数据库快照)会在指定的时间间隔内自动保存内存中的数据到磁盘。它是通过保存数据快照的方式进行持久化,适用于那些对实时 ...
zabbix进阶学习
zabbix进阶学习监控监控基础数据CPU、memory、DIsk可以通过创建新的仪表板,选择监控项后展示即可。还是很方便的。
监控对象
关键 Key
模板
CPU
system.cpu.util[,all]
Template OS Linux
内存
vm.memory.size[available]
Template OS Linux
磁盘
vfs.fs.size[free]
Template OS Linux by Zabbix agent
触发器配置 触发器是一个单独的层。用于结合触发器动作使用。例如某个触发器出发之后发送邮件、短信等等。
触发器配置
触发器动作配置
选择触发器
配置操作
配置媒介
配置邮件配置发信邮件服务器尝试过qq和163的smtp,qq的配置好了会出现login denied报错,最后使用了163。
配置邮件个人以及媒介
媒介概念在配置触发器进行邮件推送的过程中遇到了有关邮件媒介的问题。疑问为什么用户需要配置媒介,感觉多此一举。
在 Zabbix 的设计中,媒介分成两个层面:
层级
作用
举例
媒介类型
...
How-To-Ask-Questions-The-Smart-Way
来自How To Ask Questions The Smart Way
github:How-To-Ask-Questions-The-Smart-Way/README-zh_CN.md at main · ryanhanwu/How-To-Ask-Questions-The-Smart-Way
自然语言AI技术的让喜欢问题的人得到了很大的满足,但是如何问问题,如何准确的问题是提高学习以及工作效率的关键。这个项目就介绍了如何问问题的方法以及做法。记录笔记一边学习复习。文章写得还挺有意思还挺幽默。
Be precise and informative about your problem
Describe the symptoms of your problem or bug carefully and clearly.
Describe the environment in which it occurs (machine, OS, application, whatever). Provide your vendor’s distribution and ...
Jenkins部署与学习
Jenkins:
开源的自动化构建和持续集成/持续交付(CI/CD)平台,广泛用于 DevOps 实践中。开发者将代码提交到 GitHub、GitLab 等代码仓库后,Jenkins 可以自动拉取代码,执行编译、测试、构建镜像、部署到测试环境等流程。例如,在一个微服务项目中,Jenkins 可监控每个服务的代码库变化,一旦发现提交,就触发自动化流水线,构建 Docker 镜像并推送到 Harbor,再通过 Ansible 或 Kubernetes 实现自动部署。Jenkins 拥有上千个插件,可集成 Maven、Gradle、Docker、Kubernetes、Slack 等工具,适用于从小型项目到企业级的 CI/CD 自动化需求。
资源:
Jenkins源:
以下是一些常用的国内 Jenkins 插件更新源地址:jenkins配置国内源 - 厚礼蝎 - 博客园
清华大学:https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
华为开源镜像站:https://mir ...
K8s pods service deployment初体验
部署过程:K8s 三节点环境搭建 | Regen
初次体验k8s,起了几个简单的pods、service、deployment
K8s pods service deployment初体验pods
busybox-podyaml文件:
busybox-pod.yaml
123456789101112apiVersion: v1kind: Podmetadata: name: busyboxspec: containers: - name: busybox image: registry.aliyuncs.com/google_containers/busybox:latest command: ["sleep", "3600"] # 防止容器立即退出
nginx-pod
nginx-pod.yaml
123456789apiVersion: v1kind: Podmetadata: name: my-nginxspec: containers: - name: nginx im ...
K8s 三节点环境搭建
环境:
效果:
虚拟机环境:
Master节点:K8s-1 192.168.72.8
node2 K8s-2 192.168.72.9
node2 K8s-3 192.168.72.9
搭建过程(思路):
先完成一台基础主机:具备以下服务
docker
containerd
kubelet kubeadm kubectl
编辑好containerd
sandbox镜像源
systemd 服务文件
克隆两份
配置Hostname
配置 IP
配置hosts
master配置
关闭 swap
加载内核参数
kubeadm init
安装网络插件Flannel
nodes配置
关闭 swap
加载内核参数
加入集群
k8s配置过程现在看起来还是挺简单的。其实卡主的点大部分都是什么镜像源配置,但也不能怪国内环境,至少sandbox那个源还能用,其他的镜像可以通过离线导入倒也不是那么痛苦。主要就是那些初始化的时候要用的镜像,后续再看看这类镜像能不能离线导入,或者尝试直接离线安装二进制文件吧。
后续需要了解的点
k8s in ...
Anolis8和CentOS7的日志对比
Anolis8和CentOS7的日志对比
功能/用途
CentOS 7
Anolis 8.10
差异解析
常用查看方式(CentOS 7)
常用查看方式(Anolis 8)
包管理
yum.log
dnf.log, dnf.rpm.log, dnf.librepo.log, hawkey.log
Anolis 8.10 默认用 dnf;hawkey 是 dnf 的依赖库
tail -n 50 /var/log/yum.log
tail -n 50 /var/log/dnf.log
系统消息总览
messages
无 messages
==Anolis 默认依赖 systemd journal,不再写入 /var/log/messages==
tail -f /var/log/messages
journalctl -xe
认证/安全
secure
无 secure
==同 ...
Ansible部署学习
环境:Anolis 8.10
ansible部署学习
安装Ansible 使用方式对比总结
方式
优点
缺点
适用场景
Python 虚拟环境安装
- 不影响系统全局Python环境 - 可同时维护多个不同版本的Ansible - 便于隔离依赖包
- 需要先安装Python和virtualenv - 环境激活后才能使用,不方便全局调用
需要多版本共存,或对环境隔离要求高的开发和测试环境
系统全局安装(pip/yum/apt)
- 安装方便,使用直接 - 系统命令行全局可用
- 依赖系统Python版本 - 升级或卸载影响所有项目 - 可能和系统自带包冲突
单机或者单环境长期稳定使用,简单快速搭建场景
Docker 容器运行
- 环境完全隔离,无需安装依赖 - 可快速切换不同Ansible版本 - 方便集成CI/CD流水线
- 需要了解Docker使用 - 调试不如本地方便 - 性能上有少许开销
持续集成/持续交付环境,临时执行或者多人协作场景
直接安装12dnf updatednf install ansible
...
WSL下pigz的部署与使用-大文件测试案例
WSL使用pigz进行压缩和解压缩
WSL(Windows Subsystem for Linux)是微软为 Windows 提供的一个兼容层,允许用户在 Windows 上原生运行 Linux 环境,而无需安装虚拟机或双系统。它支持大部分常用的 Linux 命令行工具、应用和开发框架,方便开发者在同一台电脑上同时使用 Windows 与 Linux 系统资源,尤其适合进行跨平台开发、测试和日常运维等工作,让 Windows 用户能够轻松体验和使用 Linux 的强大生态。
pigz,全称 Parallel Implementation of GZip,是 gzip 的多线程替代工具,由 zlib 作者之一 Mark Adler 开发。它通过将数据分块并用多个 CPU 核心并行压缩,大幅提高大文件或大量文件的压缩与解压速度,适合 Linux、macOS 和 WSL 等环境。pigz 只支持 gzip 格式,通常与 tar 搭配使用生成 .tar.gz 压缩包。相比 gzip,pigz 的压缩率基本相同但速度更快,缺点是只能用于 gzip 格式,没有图形界面,更适合服务器或需要 ...
zabbix部署server和agent
zabbix部署server和agent
Zabbix 是一个开源的企业级分布式监控解决方案,广泛应用于监控 IT 基础设施(如服务器、网络设备、虚拟机等)和应用程序。它支持多种监控方式(如 agent、SNMP、IPMI、SSH 等),提供实时数据采集、告警通知、趋势分析和历史存储。Zabbix 拥有强大的可扩展性和灵活的图形化 Web 界面,能够通过 Zabbix Server、Proxy 和 Agent 实现分布式部署,适用于大规模环境。其开源特性和丰富的模板、API 使其在中小企业到超大规模企业中都能得到广泛应用。
部署环境
系统:Anolis 8.10
软件:
Docker 28.3
Docker镜像:
mysql 8.0 304929b30183 5 days ago 781MB
zabbix/zabbix-web-nginx-mysql alpine-6.2-latest 09a4eb616c94 2 years ago 237MB
zabbi ...
windows环境下使用pigz进行压缩和解压缩
windows环境下使用pigz进行压缩和解压缩
pigz,全称 Parallel Implementation of GZip,是 gzip 的多线程替代工具,由 zlib 作者之一 Mark Adler 开发。它通过将数据分块并用多个 CPU 核心并行压缩,大幅提高大文件或大量文件的压缩与解压速度,适合 Linux、macOS 和 WSL 等环境。pigz 只支持 gzip 格式,通常与 tar 搭配使用生成 .tar.gz 压缩包。相比 gzip,pigz 的压缩率基本相同但速度更快,缺点是只能用于 gzip 格式,没有图形界面,更适合服务器或需要高性能压缩的场景。
在跨平台迁移数据的场景中,会遇到文件很大(几百g),并且还从Linux跨平台到Windows,例如数据库文件。这个时候数据的压缩和解压缩对于整个过程消耗的时间有巨大影响。
场景:windows下有一个data.tar.gz大文件,使用pigz的多线程解压到tar,然后再使用tar或者7zip解压出最后结果。
安装pigz
可以用wsl安装或者cygwin安装。这里仅介绍cygwin。
安装cygwin ...
