指标列表
Pigsty INFRA 模块提供的完整监控指标列表与释义
每一套 Pigsty 部署都会提供一套基础架构组件,为纳管的节点与数据库集群提供服务,组件包括:
组件 | 端口 | 域名 | 描述 |
---|---|---|---|
Nginx | 80 | h.pigsty |
Web服务门户(也用作yum/atp仓库) |
AlertManager | 9093 | a.pigsty |
告警聚合分发 |
Prometheus | 9090 | p.pigsty |
时间序列数据库(收存监控指标) |
Grafana | 3000 | g.pigsty |
可视化平台 |
Loki | 3100 | - | 日志收集服务器 |
PushGateway | 9091 | - | 接受一次性的任务指标 |
BlackboxExporter | 9115 | - | 黑盒监控探测 |
DNSMASQ | 53 | - | DNS 服务器 |
Chronyd | 123 | - | NTP 时间服务器 |
PostgreSQL | 5432 | - | Pigsty CMDB 和默认数据库 |
Ansible | - | - | 运行剧本 |
在 Pigsty 中,PGSQL 模块会使用到INFRA节点上的一些服务,具体来说包括:
Nginx是Pigsty所有WebUI类服务的访问入口,默认使用管理节点80端口。
有许多带有WebUI的基础设施组件通过Nginx对外暴露服务,例如Grafana,Prometheus,AlertManager,以及HAProxy流量管理页等,此外 yum/apt 仓库等静态文件资源也通过Nginx对外提供服务。
Nginx会根据 infra_portal
的内容,通过域名进行区分,将访问请求转发至对应的上游组件处理。如果您使用了其他的域名,或者公网域名,可以在这里进行相应修改:
infra_portal: # domain names and upstream servers
home : { domain: h.pigsty }
grafana : { domain: g.pigsty ,endpoint: "${admin_ip}:3000" , websocket: true }
prometheus : { domain: p.pigsty ,endpoint: "${admin_ip}:9090" }
alertmanager : { domain: a.pigsty ,endpoint: "${admin_ip}:9093" }
blackbox : { endpoint: "${admin_ip}:9115" }
loki : { endpoint: "${admin_ip}:3100" }
#minio : { domain: sss.pigsty ,endpoint: "${admin_ip}:9001" ,scheme: https ,websocket: true }
Pigsty强烈建议使用域名访问Pigsty UI系统,而不是直接通过IP+端口的方式访问,基于以下几个理由:
如果您没有可用的互联网域名或本地DNS解析,您可以在 /etc/hosts
(MacOS/Linux)或C:\Windows\System32\drivers\etc\hosts
(Windows)中添加本地静态解析记录。
Nginx相关配置参数位于:配置:INFRA - NGINX
Pigsty会在安装时首先建立一个本地软件源,以加速后续软件安装。
该软件源由Nginx提供服务,默认位于为 /www/pigsty
,可以访问 http://h.pigsty/pigsty
使用。
Pigsty的离线软件包即是将已经建立好的软件源目录(yum/apt)整个打成压缩包,当Pigsty尝试构建本地源时,如果发现本地源目录 /www/pigsty
已经存在,且带有 /www/pigsty/repo_complete
标记文件,则会认为本地源已经构建完成,从而跳过从原始上游下载软件的步骤,消除了对互联网访问的依赖。
Repo定义文件位于 /www/pigsty.repo
,默认可以通过 http://${admin_ip}/pigsty.repo
获取
curl -L http://h.pigsty/pigsty.repo -o /etc/yum.repos.d/pigsty.repo
您也可以在没有Nginx的情况下直接使用文件本地源:
[pigsty-local]
name=Pigsty local $releasever - $basearch
baseurl=file:///www/pigsty/
enabled=1
gpgcheck=0
本地软件仓库相关配置参数位于:配置:INFRA - REPO
Prometheus是监控时序数据库,默认监听9090端口,可以直接通过IP:9090
或域名http://p.pigsty
访问。
Prometheus是监控用时序数据库,提供以下功能:
AlertManager是与Prometheus配套的告警平台,默认监听9093端口,可以直接通过IP:9093
或域名 http://a.pigsty
访问。
Prometheus的告警事件会发送至AlertManager,但如果需要进一步处理,用户需要进一步对其进行配置,例如提供SMTP服务配置以发送告警邮件。
Prometheus、AlertManager,PushGateway,BlackboxExporter 的相关配置参数位于:配置:INFRA - PROMETHEUS
Grafana是开源的可视化/监控平台,是Pigsty WebUI的核心,默认监听3000端口,可以直接通过IP:3000
或域名http://g.pigsty
访问。
Pigsty的监控系统基于Dashboard构建,通过URL进行连接与跳转。您可以快速地在监控中下钻上卷,快速定位故障与问题。
此外,Grafana还可以用作通用的低代码前后端平台,制作交互式可视化数据应用。因此,Pigsty使用的Grafana带有一些额外的可视化插件,例如ECharts面板。
Loki是用于日志收集的日志数据库,默认监听3100端口,节点上的Promtail向元节点上的Loki推送日志。
Grafana与Loki相关配置参数位于:配置:INFRA - GRAFANA,配置:INFRA - Loki
Pigsty默认会在元节点上安装Ansible,Ansible是一个流行的运维工具,采用声明式的配置风格与幂等的剧本设计,可以极大降低系统维护的复杂度。
DNSMASQ 提供环境内的DNS解析服务,其他模块的域名将会注册到 INFRA节点上的 DNSMASQ 服务中。
DNS记录默认放置于所有INFRA节点的 /etc/hosts.d/
目录中。
DNSMASQ相关配置参数位于:配置:INFRA - DNS
NTP服务用于同步环境内所有节点的时间(可选)
NTP相关配置参数位于:配置:NODES - NTP
要在节点上安装 INFRA 模块,首先需要在配置清单中的 infra
分组中将其加入,并分配实例号 infra_seq
# 配置单个 INFRA 节点
infra: { hosts: { 10.10.10.10: { infra_seq: 1 } }}
# 配置两个 INFRA 节点
infra:
hosts:
10.10.10.10: { infra_seq: 1 }
10.10.10.11: { infra_seq: 2 }
然后,使用 infra.yml
剧本在节点上初始化 INFRA 模块即可。
下面是与 INFRA 模块相关的一些管理任务:
./infra.yml # 在 infra 分组上安装 INFRA 模块
./infra-rm.yml # 从 infra 分组上卸载 INFRA 模块
您可以使用以下剧本子任务,管理 Infra节点 上的本地yun源:
./infra.yml -t repo #从互联网或离线包中创建本地软件源
./infra.yml -t repo_dir # 创建本地软件源
./infra.yml -t repo_check # 检查本地软件源是否已经存在?
./infra.yml -t repo_prepare # 如果存在,直接使用已有的本地软件源
./infra.yml -t repo_build # 如果不存在,从上游构建本地软件源
./infra.yml -t repo_upstream # 处理 /etc/yum.repos.d 中的上游仓库文件
./infra.yml -t repo_remove # 如果 repo_remove == true,则删除现有的仓库文件
./infra.yml -t repo_add # 将上游仓库文件添加到 /etc/yum.repos.d (或 /etc/apt/sources.list.d)
./infra.yml -t repo_url_pkg # 从由 repo_url_packages 定义的互联网下载包
./infra.yml -t repo_cache # 使用 yum makecache / apt update 创建上游软件源元数据缓存
./infra.yml -t repo_boot_pkg # 安装如 createrepo_c、yum-utils 等的引导包...(或 dpkg-)
./infra.yml -t repo_pkg # 从上游仓库下载包 & 依赖项
./infra.yml -t repo_create # 使用 createrepo_c & modifyrepo_c 创建本地软件源
./infra.yml -t repo_use # 将新建的仓库添加到 /etc/yum.repos.d | /etc/apt/sources.list.d 用起来
./infra.yml -t repo_nginx # 如果没有 nginx 在服务,启动一个 nginx 作为 Web Server
其中最常用的命令为:
./infra.yml -t repo_upstream # 向 INFRA 节点添加 repo_upstream 中定义的上游软件源
./infra.yml -t repo_pkg # 从上游仓库下载包及其依赖项。
./infra.yml -t repo_create # 使用 createrepo_c & modifyrepo_c 创建/更新本地 yum 仓库
您可以使用以下剧本子任务,管理 Infra节点 上的各个基础设施组件
./infra.yml -t infra # 配置基础设施
./infra.yml -t infra_env # 配置管理节点上的环境变量:env_dir, env_pg, env_var
./infra.yml -t infra_pkg # 安装INFRA所需的软件包:infra_pkg_yum, infra_pkg_pip
./infra.yml -t infra_user # 设置 infra 操作系统用户组
./infra.yml -t infra_cert # 为 infra 组件颁发证书
./infra.yml -t dns # 配置 DNSMasq:dns_config, dns_record, dns_launch
./infra.yml -t nginx # 配置 Nginx:nginx_config, nginx_cert, nginx_static, nginx_launch, nginx_exporter
./infra.yml -t prometheus # 配置 Prometheus:prometheus_clean, prometheus_dir, prometheus_config, prometheus_launch, prometheus_reload
./infra.yml -t alertmanager # 配置 AlertManager:alertmanager_config, alertmanager_launch
./infra.yml -t pushgateway # 配置 PushGateway:pushgateway_config, pushgateway_launch
./infra.yml -t blackbox # 配置 Blackbox Exporter: blackbox_launch
./infra.yml -t grafana # 配置 Grafana:grafana_clean, grafana_config, grafana_plugin, grafana_launch, grafana_provision
./infra.yml -t loki # 配置 Loki:loki_clean, loki_dir, loki_config, loki_launch
./infra.yml -t infra_register # 将 infra 组件注册到 prometheus
其他常用的任务包括:
./infra.yml -t nginx_index # 重新渲染 Nginx 首页内容
./infra.yml -t nginx_config,nginx_reload # 重新渲染 Nginx 网站门户配置,对外暴露新的上游服务。
./infra.yml -t prometheus_conf,prometheus_reload # 重新生成 Prometheus 主配置文件,并重载配置
./infra.yml -t prometheus_rule,prometheus_reload # 重新拷贝 Prometheus 规则 & 告警,并重载配置
./infra.yml -t grafana_plugin # 从互联网上下载 Grafana 插件,通常需要科学上网
Pigsty 提供了三个与 INFRA 模块相关的剧本:
infra.yml
:在 infra 节点上初始化 pigsty 基础设施infra-rm.yml
:从 infra 节点移除基础设施组件install.yml
:在当前节点上一次性完整安装 Pigstyinfra.yml
INFRA模块剧本 infra.yml
用于在 Infra节点 上初始化 pigsty 基础设施
执行该剧本将完成以下任务
该剧本默认在 INFRA节点 上执行
10.10.10.10
。本剧本的一些注意事项
/www/pigsty/repo_complete
存在时,本剧本会跳过从互联网下载软件的任务。完整执行该剧本耗时约5-8分钟,视机器配置而异。infra-rm.yml
INFRA模块剧本 infra-rm.yml
用于从 Infra节点 上移除 pigsty 基础设施
常用子任务包括:
./infra-rm.yml # 移除 INFRA 模块
./infra-rm.yml -t service # 停止 INFRA 上的基础设施服务
./infra-rm.yml -t data # 移除 INFRA 上的存留数据
./infra-rm.yml -t package # 卸载 INFRA 上安装的软件包
install.yml
INFRA模块剧本 install.yml
用于在所有节点上一次性完整安装 Pigsty
该剧本在 剧本:一次性安装 中有更详细的介绍。
Pigsty Home : Pigsty 监控系统主页
INFRA Overview : Pigsty 基础设施自监控概览
Nginx Overview : Nginx 监控指标与日志
Grafana Overview: Grafana 监控指标与日志
Prometheus Overview: Prometheus 监控指标与日志
Loki Overview: Loki 监控指标与日志
Logs Instance: 查阅单个节点上的日志信息
Logs Overview: 查阅全局日志信息
CMDB Overview: CMDB 可视化
ETCD Overview: etcd 监控指标与日志
INFRA
模块有下列10个参数组。
META
:Pigsty元数据CA
:自签名公私钥基础设施/CAINFRA_ID
:基础设施门户,Nginx域名REPO
:本地软件源INFRA_PACKAGE
:基础设施软件包NGINX
:Nginx 网络服务器DNS
:DNSMASQ 域名服务器PROMETHEUS
:Prometheus 时序数据库全家桶GRAFANA
:Grafana 可观测性全家桶LOKI
:Loki 日志服务参数 | 参数组 | 类型 | 级别 | 说明 |
---|---|---|---|---|
version |
META |
string | G | pigsty 版本字符串 |
admin_ip |
META |
ip | G | 管理节点 IP 地址 |
region |
META |
enum | G | 上游镜像区域:default,china,europe |
proxy_env |
META |
dict | G | 下载包时使用的全局代理环境变量 |
ca_method |
CA |
enum | G | CA处理方式:create,recreate,copy,默认为没有则创建 |
ca_cn |
CA |
string | G | CA CN名称,固定为 pigsty-ca |
cert_validity |
CA |
interval | G | 证书有效期,默认为 20 年 |
infra_seq |
INFRA_ID |
int | I | 基础设施节号,必选身份参数 |
infra_portal |
INFRA_ID |
dict | G | 通过Nginx门户暴露的基础设施服务列表 |
repo_enabled |
REPO |
bool | G/I | 在此基础设施节点上创建本地软件源? |
repo_home |
REPO |
path | G | 软件仓库主目录,默认为`/www`` |
repo_name |
REPO |
string | G | 软件仓库名称,默认为 pigsty |
repo_endpoint |
REPO |
url | G | 仓库的访问点:域名或 ip:port 格式 |
repo_remove |
REPO |
bool | G/A | 构建本地仓库时是否移除现有上游仓库源定义文件? |
repo_modules |
REPO |
string | G/A | 启用的上游仓库模块列表,用逗号分隔 |
repo_upstream |
REPO |
upstream[] | G | 上游仓库源定义:从哪里下载上游包? |
repo_packages |
REPO |
string[] | G | 从上游仓库下载哪些软件包? |
repo_url_packages |
REPO |
string[] | G | 使用URL下载的额外软件包列表 |
infra_packages |
INFRA_PACKAGE |
string[] | G | 在基础设施节点上要安装的软件包 |
infra_packages_pip |
INFRA_PACKAGE |
string | G | 在基础设施节点上使用 pip 安装的包 |
nginx_enabled |
NGINX |
bool | G/I | 在此基础设施节点上启用 nginx? |
nginx_exporter_enabled |
NGINX |
bool | G/I | 在此基础设施节点上启用 nginx_exporter? |
nginx_sslmode |
NGINX |
enum | G | nginx SSL模式?disable,enable,enforce |
nginx_home |
NGINX |
path | G | nginx 内容目录,默认为 /www ,通常和仓库目录一致 |
nginx_port |
NGINX |
port | G | nginx 监听端口,默认为 80 |
nginx_ssl_port |
NGINX |
port | G | nginx SSL监听端口,默认为 443 |
nginx_navbar |
NGINX |
index[] | G | nginx 首页导航链接列表 |
dns_enabled |
DNS |
bool | G/I | 在此基础设施节点上设置dnsmasq? |
dns_port |
DNS |
port | G | DNS 服务器监听端口,默认为 53 |
dns_records |
DNS |
string[] | G | 由 dnsmasq 解析的动态 DNS 记录 |
prometheus_enabled |
PROMETHEUS |
bool | G/I | 在此基础设施节点上启用 prometheus? |
prometheus_clean |
PROMETHEUS |
bool | G/A | 初始化Prometheus的时候清除现有数据? |
prometheus_data |
PROMETHEUS |
path | G | Prometheus 数据目录,默认为 `/data/prometheus`` |
prometheus_sd_dir |
PROMETHEUS |
path | G | Prometheus 服务发现目标文件目录 |
prometheus_sd_interval |
PROMETHEUS |
interval | G | Prometheus 目标刷新间隔,默认为 5s |
prometheus_scrape_interval |
PROMETHEUS |
interval | G | Prometheus 抓取 & 评估间隔,默认为 10s |
prometheus_scrape_timeout |
PROMETHEUS |
interval | G | Prometheus 全局抓取超时,默认为 8s |
prometheus_options |
PROMETHEUS |
arg | G | Prometheus 额外的命令行参数选项 |
pushgateway_enabled |
PROMETHEUS |
bool | G/I | 在此基础设施节点上设置 pushgateway? |
pushgateway_options |
PROMETHEUS |
arg | G | pushgateway 额外的命令行参数选项 |
blackbox_enabled |
PROMETHEUS |
bool | G/I | 在此基础设施节点上设置 blackbox_exporter? |
blackbox_options |
PROMETHEUS |
arg | G | blackbox_exporter 额外的命令行参数选项 |
alertmanager_enabled |
PROMETHEUS |
bool | G/I | 在此基础设施节点上设置 alertmanager? |
alertmanager_options |
PROMETHEUS |
arg | G | alertmanager 额外的命令行参数选项 |
exporter_metrics_path |
PROMETHEUS |
path | G | exporter 指标路径,默认为 /metrics |
exporter_install |
PROMETHEUS |
enum | G | 如何安装 exporter?none,yum,binary |
exporter_repo_url |
PROMETHEUS |
url | G | 通过 yum 安装exporter时使用的yum仓库文件地址 |
grafana_enabled |
GRAFANA |
bool | G/I | 在此基础设施节点上启用 Grafana? |
grafana_clean |
GRAFANA |
bool | G/A | 初始化Grafana期间清除数据? |
grafana_admin_username |
GRAFANA |
username | G | Grafana 管理员用户名,默认为 `admin`` |
grafana_admin_password |
GRAFANA |
password | G | Grafana 管理员密码,默认为 `pigsty`` |
grafana_plugin_cache |
GRAFANA |
path | G | Grafana 插件缓存 tarball 的路径 |
grafana_plugin_list |
GRAFANA |
string[] | G | 使用 grafana-cli 下载的 Grafana 插件 |
loki_enabled |
LOKI |
bool | G/I | 在此基础设施节点上启用 loki? |
loki_clean |
LOKI |
bool | G/A | 是否删除现有的 loki 数据? |
loki_data |
LOKI |
path | G | loki 数据目录,默认为 `/data/loki`` |
loki_retention |
LOKI |
interval | G | loki 日志保留期,默认为 15d |
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.