生产环境Prometheus监控架构记录
比如有 30 家客户,每一个客户都有自己的 Kubernetes 集群,部署方式千差万别,还有客户不使用 Kubernetes 的,使用虚拟机部署,那么怎么对这么多客户的机器、服务进行有效的监控,本文记录一下监控的架构方案。 监控架构图 说明:Prometheus Core 是一个核心的 Prometheus,所有其他 Prometheus 的数据都汇总到这里,查询、告警等都使用这个 Prometheus Prometheus Core这个是核心的 Prometheus,其他客户的 Prometheus 通过联邦接入或者 远程写 (remote write) 的方式来写入数据到这个 Prometheus 中。Prometheus Core 可以更换成 VictoriaMetrics 联邦接入配置123456789101112131415161718192021222324252627282930313233343536# http 接口联邦- job_name: 'federate-http' scrape_interval: 30s ...
使用snmp exporter对交换机、服务器等进行监控
安装到 GitHub 下载一个可执行文件,直接运行即可,或者使用 systemd 来运行,也可以直接部署到 Kubernetes 中。https://github.com/prometheus/snmp_exporter systemd 配置: 12345678910[Unit]Description=snmp_exporterAfter=network.target[Service]ExecStart=/opt/snmp_exporter/snmp_exporter --config.file=/opt/snmp_exporter/snmp.ymlRestart=on-failure[Install]WantedBy=multi-user.target 交换机或服务器打开 snmp 协议这一步需要在交换机或服务器的 ipmi 上配置,交换机这种网络设备一般都只支持 snmp 协议来获取数据,比如说每个接口的状态(有没有插网线等)对于服务器,像 cpu 占用率、内存使用率这些数据使用 node_exporter 就可以做,为啥还要使用 snmp_exporter...
Windows 开机自启动配置位置
注册表方式系统1HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run 个人1HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run 只运行一次1HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce 新建字符串值 – 数值名称任意,数值数据为要启动的程序路径,如 C:\Program Files (x86)\WinHotKey\WinHotKey.exe或者命令行创建 reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /f /v "数值名称" /t REG_SZ /d "程序启动路径" 文件方式开机自启动也会显示在开始菜单的 startup...
Windows常见注册表位置
oem 信息添加 oem 信息123456789101112@echo off%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exitcd /d "%~dp0"copy logo.bmp %windir%\media\logo.bmpreg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OEMInformation" /f /v "SupportURL" /t REG_SZ /d "http://blog.sina.com.cn/iuxt"reg add...
Prometheus的瞬时向量(Instant vector)和区间向量(Range vector)
在 Prometheus 的表达式语言中,表达式或子表达式包括以下四种类型之一: 瞬时向量(Instant vector) : 一组时间序列,每个时间序列包含单个样本,它们共享相同的时间戳。也就是说,表达式的返回值中只会包含该时间序列中的最新的一个样本值。而相应的这样的表达式称之为瞬时向量表达式。 区间向量(Range vector) : 一组时间序列,每个时间序列包含一段时间范围内的样本数据。 标量(Scalar) : 一个浮点型的数据值。 字符串(String) : 一个简单的字符串值。 瞬时向量1http_requests_total{job="prometheus"} 比如这样的,取值是一个值 区间向量指的是指定时间段的所有瞬时向量 1http_requests_total{job="prometheus"}[5m] PromQL 聚合操作例如:sum,min,max,count 等聚合函数,只能作用于瞬时向量上。 12345#...
mRemoteNG 如何显示保存的密码
mRemoteNG 是一款比较好用的 Windows 平台的连接 RDP 的管理工具,非常好用,支持选项卡,配置文件管理,账号密码管理等。虽然现在 xshell 8 也支持连接 rdp 了,但是没有这个好用。mRemoteNG 也支持连接 vnc 和 ssh,但是不好用,我只用它来连 rdp 不过添加好的配置文件,密码是加密的,导出配置文件也看不到原密码,如果我添加了配置,过了一段时间忘记了密码,可以通过这种方法来找回密码。 配置 外部工具 新增一个外部工具,配置如下: 名称 配置 显示名称 显示密码 文件名 cmd 参数 /k echo %password% 选项 看上图 使用方法:在连接上面右键,选择工具 – 显示密码 在弹出的 cmd 窗口中会显示出密码明文
快速部署单节点kafka
如果需要集群部署的文档你可以在站内搜搜,之前写过。 单节点部署,不考虑高可用性,只求快速搭建出环境,一般都是自己开发或者运维做测试使用。或者业务的测试环境为了节省服务器资源采取的方案。不过我不一样,我们测试环境资源充足,我只是单纯的懒。 第一步 安装 Docker部署是基于 docker 来部署的,所以要先安装 docker,安装 docker 的过程可以看这个文档:快速搭建环境记录 第二步 选择镜像打开 docker 镜像仓库 https://hub.docker.com 找了找, 按照下载量排序,有以下几种,我选择 bitnami 打包的 kafka 第三步 编写启动脚本我个人不喜欢 docker-compose ,总觉得这个东西不伦不类的,论灵活不如 bash 脚本,论专业不如 Kubernetes 甚至 Docker Swarm,还不如自己写脚本来做。 需要创建一个 docker network ,默认的 bridge 网络不能通过 dns 名字找到对应的容器。 1234567891011121314151617181920#!/bin/bashmkdir...
yaml多行文本的写法和区别
直接看效果(pip install pyyaml): 123456789101112131415161718192021import yamlyaml_data = """example1: | This is line one. This is line two.example2: |- This is line one. This is line two.example3: >- This is line one. This is line two."""# 将 YAML 数据解析为 Python 对象data = yaml.safe_load(yaml_data)# 访问特定字段print(f"example1: {data['example1']}")print(f"example2: {data['example2']}")print(f"example3:...
Grafana 接入 LDAP 认证
Grafana 是一个非常好用的展示数据软件,我一直以为可以直接在设置里增加 ldap 配置,没想到啊没想到 必须要修改配置文件才能接入到 LDAP,还是记录一下吧,免得下次部署浪费时间。 我是在 Kubernetes 中部署的,数据存储用的是 MySQL,所以 Grafana 本身可以当作一个无状态服务来看待。也可以不做数据持久化。 先创建 ldap 配置文件这里包括 ldap 数据的映射关系,可以自己尝试修改调整。 12345678910111213141516171819202122kind: ConfigMapapiVersion: v1metadata: name: grafana-ldap-config namespace: opsdata: ldap.toml: | [[servers]] host = "10.0.0.11" port = 389 use_ssl = false start_tls = false ssl_skip_verify = false bind_dn =...
用Prometheus对nacos集群进行监控
参考官方文档:https://nacos.io/zh-cn/docs/monitor-guide.html 暴露 metrics 数据 需要修改配置文件,spring boot 支持通过环境变量来修改系统配置,在 Kubernets 环境下,可以通过增加环境变量的形式来暴露 metrics 数据。 123456789101112131415161718192021222324kind: StatefulSetapiVersion: apps/v1metadata: name: nacos namespace: publicspec: replicas: 3 selector: matchLabels: app: nacos template: metadata: labels: app: nacos spec: containers: - name: nacos image: nacos/nacos-server:v2.1.0 env:... ...