本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本镜像包含Monasca agent collector的容器化版本。有关Monasca项目的更多信息,请参见Wiki。它基于monasca-docker中构建的agent-base镜像。
源码:[monasca-agent][2] · [monasca-docker][3] · [Dockerfile][4]
本仓库中的镜像标签如下:
latest:指向最新稳定点发布版,例如1.6.01.6.0、1.6、1:标准语义化版本标签,基于[官方仓库][2]中的git标签mitaka、newton等:遵循OpenStack版本名称的命名版本,从仓库中stable/版本名称分支的尖端构建master、master-时间戳:来自master分支的不稳定测试构建,可能包含稳定版本中未提供的功能或增强,但不适用于生产环境注意,此Dockerfile中的功能(特别是与Docker和Kubernetes监控相关的功能)需要尚未正式发布或合并的插件。在此情况改变之前,可能仅提供master镜像。
agent collector至少需要一个可访问的[monasca-forwarder][5]。如果要监控其他服务(如Kubernetes API),还需要访问这些服务。
在类似官方[docker-compose][3]或[Kubernetes][6]的环境中,该镜像不需要额外的配置参数,可最小化运行如下:
docker run -it monasca/agent-collector:latest
然而,默认配置下未启用任何插件,agent将不会收集任何指标。此agent容器支持多种“监控场景”,可通过容器启动时传递的环境变量启用:
DOCKER=true。DaemonSet在每个节点上运行。需设置KUBERNETES=true。KUBERNETES_API=true。CADVISOR=true。PROMETHEUS=true。注意,在Kubernetes环境中运行时,必须通过[Downward API][7]设置额外变量:
AGENT_POD_NAME:设置fieldRef为fieldPath: metadata.nameAGENT_POD_NAMESPACE:设置fieldRef为fieldPath: metadata.namespace如果从外部监控Kubernetes环境的部分内容,则必须设置其他变量,详情见下文。
| 变量名 | 默认值 | 描述 |
|---|---|---|
LOG_LEVEL | WARN | Python日志级别 |
KEYSTONE_DEFAULTS_ENABLED | true | 设置所有OS默认值 |
OS_AUTH_URL | [***] | Keystone API的版本化URL |
OS_USERNAME | monasca-agent | Agent的Keystone用户名 |
OS_PASSWORD | password | Agent的Keystone密码 |
OS_USER_DOMAIN_NAME | Default | Agent的Keystone用户域 |
OS_PROJECT_NAME | mini-mon | Agent的Keystone项目名称 |
OS_PROJECT_DOMAIN_NAME | Default | Agent的Keystone项目域 |
MONASCA_URL | [***] | Monasca API的版本化URL |
HOSTNAME_FROM_KUBERNETES | false | 如果为true,从Kubernetes获取节点主机名 |
FORWARDER_URL | http://localhost:*** | Monasca Agent Collector的URL |
AUTORESTART | false | 自动重启Monasca Agent Collector |
COLLECTOR_RESTART_INTERVAL | 24 | Monasca Agent Collector的重启间隔(小时) |
注意,还可指定其他变量,完整列表见[配置模板][8]。
自动重启功能可在agent collector存在未检查的内存增长时启用。如果启用此功能,必须在Docker或Kubernetes中配置适当的重启行为。
当DOCKER=true时启用此插件。它有以下选项:
DOCKER_ROOT:挂载的主机根文件系统卷。默认:/hostDOCKER_SOCKET:挂载的Docker套接字。默认:/var/run/docker.sock此插件直接监控Docker容器。仅应在纯Docker环境(即非Kubernetes)中使用,且需要从主机挂载两个卷:
/挂载到/host(路径可通过DOCKER_ROOT配置)/var/run/docker.sock挂载到/var/run/docker.sock(路径可通过DOCKER_SOCKET配置)当KUBERNETES=true时启用此插件。它有以下选项:
KUBERNETES_TIMEOUT:K8s API连接超时时间。默认:3KUBERNETES_NAMESPACE_ANNOTATIONS:如果设置,将从命名空间获取注解作为该命名空间下指标的维度。格式为“annotation1,annotation2,annotation3”。默认:未设置KUBERNETES_MINIMUM_WHITELIST:为Kubernetes插件设置指标白名单,包括pod.cpu.total_time_sec、pod.mem.cache_bytes等,以减轻Monasca的负载。默认:未设置Kubernetes插件旨在作为守护进程集在每个Kubernetes节点上运行。为正确检测API端点,必须通过上述[Downward API][7]设置AGENT_POD_NAME和AGENT_POD_NAMESPACE。
当KUBERNETES_API=true时启用此插件。它有以下选项:
KUBERNETES_API_HOST:如果设置,手动指定Kubernetes API主机地址。默认:未设置KUBERNETES_API_PORT:如果设置,手动指定Kubernetes API端口,仅在设置KUBERNETES_API_HOST时使用。默认:8080KUBERNETES_API_CUSTOM_LABELS:如果设置,提供要作为维度包含在收集指标中的Kubernetes标签键列表,标签以逗号分隔(如label1,label2,label3)。app标签始终包含,与该值无关。默认:未设置KUBERNETES_NAMESPACE_ANNOTATIONS:如果设置,将从命名空间获取注解作为该命名空间下指标的维度。格式为“annotation1,annotation2,annotation3”。默认:未设置REPORT_PERSISTENT_STORAGE:如果设置,将按存储类收集绑定的PVC,并按命名空间和集群范围报告。默认:trueSTORAGE_PARAMETERS_DIMENSIONS:如果设置且report_persistent_storage为true,将存储类参数作为维度包含在持久化存储报告中。格式为“parameter1,parameter2”。默认:未设置Kubernetes API插件旨在作为独立部署运行,收集集群级指标。
当PROMETHEUS=true时启用此插件。它有以下选项:
PROMETHEUS_TIMEOUT:连接超时时间。默认:3PROMETHEUS_ENDPOINTS:要抓取的端点列表。如果未设置,将通过Kubernetes API自动确定。语法见下文。默认:未设置PROMETHEUS_DETECT_METHOD:自动确定端点时,指定要扫描的资源类型,可选:pod、service。默认:podPROMETHEUS_KUBERNETES_LABELS:自动确定端点时,此逗号分隔的标签列表将作为维度(按名称)包含。默认:app如需提供静态Prometheus端点列表,可设置PROMETHEUS_ENDPOINTS。列表项以逗号分隔,每个项可指定一组维度,格式如下:
[***]|prop=value&prop2=value2,[***]
注意,设置PROMETHEUS_ENDPOINTS将禁用自动检测。
启用自动检测时,此插件将自动抓取agent运行节点上所有带注解的Prometheus端点。理想情况下,应与Kubernetes插件一起作为守护进程集在每个节点上运行。
当CADVISOR=true时启用此插件。它有以下选项:
CADVISOR_TIMEOUT:cAdvisor API的连接超时时间。默认:3CADVISOR_URL:如果设置,指定访问cAdvisor的URL。如果未设置(默认),将通过Kubernetes API自动确定cAdvisor主机。CADVISOR_MINIMUM_WHITELIST:为cAdvisor主机插件设置指标白名单,包括cpu.total_time_sec、mem.cache_bytes等,以减轻Monasca的负载。默认:未设置此插件从运行的cAdvisor实例收集主机级指标。在Kubernetes环境中,cAdvisor包含在kubelet中,是获取主机级指标所必需的。与Kubernetes插件一样,必须设置AGENT_POD_NAME和AGENT_POD_NAMESPACE以自动确定URL。
cAdvisor可在[标准Docker环境][9]或直接在主机系统上运行。在这些情况下,必须通过CADVISOR_URL手动提供URL。
monasca-monitoring启用HTTP端点检查、进程插件,以及Kafka、MySQL、Zookeeper的详细指标插件。当MONASCA_MONITORING=true时启用。组件使用默认配置,用户可在docker-compose文件中通过环境变量自定义:
KAFKA_CONNECT_STR:Kafka连接字符串。默认:kafka:9092ZOOKEEPER_HOST:Zookeeper主机名。默认:zookeeperZOOKEEPER_PORT:客户端连接端口。默认:2181MYSQL_SERVER:MySQL服务器名。默认:mysqlMYSQL_USER、MYSQL_PASSWORD:用于指定用户名和密码。默认:root和secretmysqlMYSQL_PORT:客户端连接端口。默认:3306日志管道可启用HTTP端点检查、进程和Elasticsearch插件。当MONASCA_LOG_MONITORING=true时启用。可通过环境变量调整组件配置:
ELASTIC_URL:Elasticsearch连接字符串。默认:[***]要监控monasca-notification和monasca-log-api,请使用statsd。通过在这些项目中设置STATSD_HOST和STATSD_PORT环境变量启用statsd监控。
可通过将自定义插件配置文件挂载到/plugins.d/*.yaml来提供给容器。如果文件扩展名为.j2,将作为Jinja2模板处理,并可访问所有环境变量。
可使用dbuild和build.yml文件构建和推送容器。
使用Docker命令从头构建容器:
docker build -t youruser/agent-collector:latest .
可设置以下构建参数:
REBULID:用于使Docker镜像缓存失效的简单方法。设置--build-arg REBUILD="$(date)"强制完全重建镜像。HTTP_PROXY和HTTPS_PROXY:根据环境需求设置代理。如需基于本地未提交的工作树构建镜像,可考虑使用[git-sync][11]将本地树镜像到临时git仓库。
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429