/MicroCBR

Official repository for MicroCBR

Primary LanguagePython

MicroCBR

MicroCBR: Case-based Reasoning on Spatio-temporal Fault Knowledge Graph for Microservices Troubleshooting

k8s experiment

demo project:

  1. Online Boutique with OpenTelemetry
  2. Sock shop with OpenTelemetry
  3. Train ticket with OpenTelemetry
  4. Banks

exporters

  1. blackbox-exporter
  2. mongodb-exporter
  3. mysql-exporter
  4. rabbitmq-exporter
  5. redis-exporter
  6. jmx-exporter
  7. kube-state-metrics
  8. ping_exporter

chaos tool:

  1. Chaos-mesh
  2. Manual injection

Fault injection

  1. k8s experiment
    1. Pod failure, kill, container kill
    2. Network disconnection, partition, high delays, high packet loss rate, packet reordering, limit bandwidth
    3. Stress of CPU, memory
    4. DNS error, wrong
    5. Time faults for clock skew
    6. JVM cpu-count stress, memory-type stress, trigger garbage collection
    7. HTTP patch
  2. physical nodes

Knowledge base description (KNOWLEDGE_BASE.yaml)

  • instance_related: whether the kb is peculiar to instance or not
  • metrics: prometheus metrics, some of them rely on exporters
  • traces: Jaeger traces
  • logs: k8s logs and application logs
  • cmd: command line operations