yawyd313 afab9cf38c 资源文件使用缓存 | il y a 1 mois | |
---|---|---|
argo-helm | il y a 11 mois | |
argo-workflow | il y a 1 mois | |
bak_kafka | il y a 1 mois | |
bak_kafka_ha | il y a 1 mois | |
certmanager | il y a 11 mois | |
ch | il y a 1 mois | |
ch-cold | il y a 1 mois | |
ch-keeper | il y a 11 mois | |
ch-single | il y a 1 mois | |
chaos-mesh | il y a 1 mois | |
ck-cold | il y a 1 an | |
ck-ui | il y a 11 mois | |
clickhouse | il y a 1 mois | |
clickhouse_etc | il y a 1 an | |
createcert | il y a 1 an | |
data | il y a 1 mois | |
dataroom | il y a 1 mois | |
deepflow | il y a 1 mois | |
dev | il y a 11 mois | |
dinky | il y a 11 mois | |
docker-registry | il y a 1 mois | |
droneci | il y a 1 mois | |
es | il y a 1 an | |
flink | il y a 11 mois | |
flink-kubernetes-operator | il y a 11 mois | |
fluentd | il y a 1 an | |
gogs | il y a 1 mois | |
grafana | il y a 1 mois | |
halo | il y a 1 mois | |
hdfs | il y a 1 mois | |
i6000pusher | il y a 1 mois | |
ingress-nginx | il y a 1 mois | |
jaeger | il y a 1 an | |
jenkins | il y a 11 mois | |
kafka | il y a 1 mois | |
kafka-delay | il y a 11 mois | |
kafka-ha | il y a 1 mois | |
kafka-ui | il y a 1 mois | |
kafka_bitnami | il y a 1 an | |
kibana | il y a 1 an | |
loki-distributed | il y a 11 mois | |
metallb | il y a 1 mois | |
metric-server | il y a 11 mois | |
minio | il y a 11 mois | |
mysql | il y a 1 mois | |
mysql.bak | il y a 1 mois | |
neo4j-helm | il y a 11 mois | |
network-policy | il y a 1 an | |
nginx | il y a 1 an | |
nginxgatewayfabric | il y a 9 mois | |
ngx-proxy | il y a 1 mois | |
oas-session | il y a 1 mois | |
ob-agent-stream | il y a 1 mois | |
ob-event | il y a 1 mois | |
ob-proxy | il y a 1 mois | |
ob-server | il y a 1 mois | |
ob-server_bak | il y a 1 an | |
ob-tools | il y a 1 mois | |
ob2 | il y a 11 mois | |
obui | il y a 1 mois | |
openebs | il y a 11 mois | |
operator | il y a 1 mois | |
otel | il y a 1 mois | |
otel-data-replay | il y a 1 mois | |
prometheus | il y a 1 mois | |
pycli | il y a 11 mois | |
rbac | il y a 11 mois | |
redis | il y a 11 mois | |
rook | il y a 11 mois | |
scripts | il y a 11 mois | |
swagger-ui | il y a 1 mois | |
tempo | il y a 1 an | |
tempo-distributed | il y a 11 mois | |
test-oas | il y a 1 mois | |
trace-stream-creator | il y a 1 mois | |
victoria-metrics-cluster | il y a 1 mois | |
xxl-jobs | il y a 1 mois | |
.gitignore | il y a 11 mois | |
README.md | il y a 1 an | |
check.sh | il y a 11 mois | |
ingress-ceph-controller.yaml | il y a 11 mois | |
km1.imglist | il y a 1 an | |
quota-observe.yaml | il y a 1 an | |
storageClass_local.yaml | il y a 11 mois | |
storageClass_tmp.yaml | il y a 11 mois |
[TOC]
使用helm chart/deploy/ingress-nginx
安装
helm install ingress-nginx . -n ingress-nginx
如80、443端口不可用,修改contorller.hostPort
修改controller.ingressResource.enable/default
为true
如node
很多,将controller.kind
改为deployment ,并设置nodeSelector,不然ingress解析不到
kubectl apply -f deploy/openebs/openebs-operator.yaml
deploy/clickhouse
global.storageClass
shard
和replica
auth.username
, auth.password
ingress
修改persistence.storangeClass: openebs-hostpath
helm install clickhouse . -n obse部署nginx ingress controller(如有跳过)部署nginx ingress controller(如有跳过)部署nginx ingress controller(如有跳过)rve --create-namespace
使用deploy/tempo
开启otel receiver
otlp:
protocols:
grpc:
endpoint: "0.0.0.0:4317"
http:
endpoint: "0.0.0.0:4318"
配置metrics_generator_processors
metrics_generator_processors:
- 'service-graphs'
- 'span-metrics'
max_search_bytes_per_trace: 0
配置tempo.metricGenerator
, 指向部署的prometheus
metricsGenerator:
enabled: true
remoteWriteUrl: "http://prometheus-server.observe.svc.cluster.local:80/api/v1/write"
配置存储方式
persistence:
enabled: true
storageClassName: openebs-hostpath
执行部署
helm install tempo . -n observe
使用deploy/prometheus
修改persistentVolume.storageClass
执行部署
helm install prometheus . -n observe
确定部署mode
配置exportor
otlp:
endpoint: "tempo.observe.svc.cluster.local:4317"
tls:
insecure: true
prometheus:
endpoint: "0.0.0.0:8889"
#namespace: default
clickhouse:
endpoint: "tcp://clickhouse-headless.observe.svc.cluster.local:9000?dial_timeout=10s&compress=lz4"
database: otel
username: default
password: "cecf@cestong.com"
ttl_days: 10
#logs_table: otel_logs
#traces_table: otel_traces
#metrics_table: otel_metrics
timeout: 5s
retry_on_failure:
enabled: true
initial_interval: 5s
max_interval: 30s
max_elapsed_time: 300s
开启otel receiver
otlp:
protocols:
grpc:
endpoint: ${MY_POD_IP}:4317
http:
endpoint: ${MY_POD_IP}:4318
配置pipeline
,把otel
收到的trace
输出至clickhouse
和tempo ( otel )
配置pipeline
,把otel
收到的metrics
输出至clickhouse
和prometheus
配置podAnnotations
,让prometheus
自动来采集收集到的metrics
podAnnotations:
prometheus.io/scrape: "true"
prometheus.io/path: /metrics
prometheus.io/port: "8889"
执行部署
helm install otel-collector . -n observe
部署mysql
git地址:https://git.cestong.com.cn/cecf/cluster-config
所有配置已经修改好,直接部署即可
cd mysql
helm -n observe install mysql .
注意 当前配置使用的是NodePort向外暴露端口,端口固定为30306,客户环境可能需要更换,更换位置如下
# values.yaml文件 477行
476 nodePorts:
477 mysql: "30306"
初始化sql
# 获取mysql root密码
MYSQL_ROOT_PASSWORD=$(kubectl get secret --namespace observe mysql -o jsonpath="{.data.mysql-root-password}" | base64 -d)
# 进入到同一个命名空间的mysql客户端的pod中
kubectl run mysql-client --rm --tty -i --restart='Never' --image docker.io/bitnami/mysql:5.7.42-debian-11-r27 --namespace observe --env MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD --command -- bash
# 登录mysql
mysql -h mysql.observe.svc.cluster.local -uroot -p"$MYSQL_ROOT_PASSWORD"
# 选择数据库
use otel;
# 执行sql语句
部署数据清洗程序
部署方式
kubectl -n observe apply -f cronjob.yaml
注意 要修改cronjob.yaml中 mysql 和 clickhouse 的用户及权限
修改ingress
,配置对应的域名
配置persistence.storageClassName
设置adminPassword
执行部署
helm install grafana . -n observe
安装clickhouse
插件
设置tempo
, prometheus
, clickhouse
数据源
导入dashboard
更改front/ui中的域名
编译打包
执行部署deploy/obui
kubectl apply -f deployment-front.yaml
kubectl apply -f deployment.yaml
kubectl apply -f ingress_rewrite.yaml
kubectl apply -f ingress.yaml
kubectl apply -f svc-front.yaml
kubectl apply -f svc.yaml
配置OTEL_COLLECTOR_NAME
指向部署的opentelemetry-collector
执行部署
helm install otel-demo . -n observe
在目标监控程序中增加Java参数
- '-javaagent:/sidecar/agent/opentelemetry-javaagent.jar'
- '-Dotel.resource.attributes=service.name=item-svc'
- '-Dotel.traces.exporter=otlp'
- '-Dotel.metrics.exporter=otlp'
deploy/obui
下的配置文件生成ingress-nginx
绑定的主机ip, 将域名绑定到这些ip服务 | CPU | Mem | 存储 |
---|---|---|---|
clickhouse | 4 | 8 | 200G |
tempo | 4 | 8 | 200G |
otel-collector | 3 | 6 | 0 |
prometheus | 2 | 4 | 100G |
grafana | 2 | 4 | 30G |
obui/front | 2 | 2 | 0 |
otel-demo | 4 | 8 | 0 |
总计 | 21核 | 40G | 530G |
服务 | CPU | Mem | 存储 |
---|---|---|---|
clickhouse | 4 | 8 | 200G |
clickhouse-zookeeper | 0.25/0.5 | ||
tempo | 4 | 8 | 200G |
otel-collector | 3 | 6 | 0 |
prometheus | 2 | 4 | 100G |
grafana | 2 | 4 | 30G |
obui/front | 2 | 2 | 0 |
otel-demo | 4 | 8 | 0 |
总计 | 21核 | 40G | 530G |
租户名称: observe
[x] docker hub的地址,push
[x] ingress class和storageclass名称
[ ] 域名转发到ingress上,ingress创建不了
[ ] prometheus mustFromJson