@ 蓝色动力学/ cdk8s- 监测
通用软件 cdk8s (中文(简体) ) 为完整的Kubernetes监测堆栈构建库:Prometheus、Thanos、Loki、Grafana、合金和可选的Tempo,长期存储在S3兼容对象存储上.
完整文档: https://blue动力学.github.io/cdk8s-监测/** 联合国
图书馆是 应用程序不可识别它合成了堆栈本身;您自己的仪表板和警报规则存在于您的集成图中,并附在堆栈旁边(格拉法纳侧车发现 ConfigMaps 有标签 grafana_dashboard: "1") (中文(简体) ).
特征
- Prometheus + Alertmanager + Grafana 通过 kube-prometheus-stack Helm 图表.
- Thanos Query, Store, 和 Contractor 用于长期测量并进行下取样.
- Loki + 合金用于日志汇总和收集.
- 可选的Tempo追踪到尾部取样的合金网关后面.
- 电子邮件提醒, 默认为: 无噪声路由, CronJob 和 Pod Disruption 预算健康规则, 可选的中程降级 .
- 可选的Traefik和Longhorn显示器,可选的Grafana iframe嵌入.
- S3桶和证书通过Crossplane和External Secrets操作器接通.
- ArgoCD同步波定购入.
- 智能生产默认只在需要时(深度)才会被覆盖.
安装
npm install @bluedynamics/cdk8s-monitoring
同伴依赖性 : cdk8s, (中文(简体) ), cdk8s-plus-33, (中文(简体) ), constructs。 。 。 .
使用量
提供您的集群特定值并让 mergeConfig 填写默认值 :
import { App } from 'cdk8s';
import { MonitoringChart, mergeConfig } from '@bluedynamics/cdk8s-monitoring';
const app = new App();
const config = mergeConfig({
namespace: 'monitoring',
clusterName: 'example',
domains: { grafana: 'grafana.example.com' },
s3: {
endpoint: 'https://s3.example.com',
endpointNoProtocol: 's3.example.com',
region: 'eu',
buckets: { thanos: 'metrics-thanos', loki: 'logs-loki' },
},
smtp: { host: 'mail.example.com', port: 587, from: '[email protected]', requireTls: true },
integrations: {
s3ProviderConfig: 'my-s3-provider', // Crossplane ProviderConfig (buckets)
s3SecretStore: 'my-s3-secret-store', // ESO ClusterSecretStore (S3 credentials)
s3CredentialsKey: 'my-s3-credentials', // remote key holding AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY
grafanaSecretStore: 'my-app-secret-store', // ESO ClusterSecretStore (Grafana admin)
grafanaCredentialsKey: 'my-grafana-admin', // remote key holding admin-user / admin-password
},
// Override any default, e.g. storage: { prometheus: '30Gi' }
});
new MonitoringChart(app, 'monitoring', config);
app.synth();
mergeConfig 需求 namespace, (中文(简体) ), clusterName, (中文(简体) ), domains, (中文(简体) ), s3, (中文(简体) ), smtp,以及 integrations,而深处 其它的 DEFAULT_CONFIG。 。 。 .
附上自己的仪表板(ConfigMaps 有标签 grafana_dashboard: "1"和 PrometheusRules 在图表旁; 图书馆没有特定应用程序的内容.
文档
完整的文献资料生活在 https://blue动力学.github.io/cdk8s-监测/**。 。 。 .
- 快速启动教程
- 设定先决条件 ——掌舵控制器,外部机密操作器,相机,CRD,存储器
- 如何向导 ——SMTP提醒,追踪,Grafana嵌入,基础设施显示器,优先类,应用仪表板
- 配置参考
- 警报和路线
- 建筑 财务报告和审定财务报表 平台假设
先决条件
堆栈目标为有ArgoCD的k3s或RKE2集群并期望:
- k3s/ RKE2 舵手控制器(
HelmChart资源helm.cattle.io, (中文(简体) ), - 外部机密操作员(S3证书,Grafana 管理员机密),
- 与 S3 供应商配置(桶提供)相交的飞机,
- 螺旋管操作器 CRDs 应用服务器侧面,
- (单位:千美元)
StorageClass名称longhorn,或设置在storage.className。 。 。 .
见 设定先决条件 关于细节.
发展
这个项目由 projen 语录不直接编辑生成的文件.
npx projen # regenerate project files after editing .projenrc.ts
npx projen build # compile + test + lint + package
npx projen test # run tests
许可证
阿帕奇 - 2.0