|Monday||06:00PM on 03/11/2019|
Ask all your questions on Piazza. Assign assignment tag to your posts.
Individual Assignment Weightage on Course Grade of this assignment is 15%.
Collect logs from all containers/pods running on Kubernetes cluster. Implement following:
- Run FluentD in a Daemonset to collect logs from all files and directories in
/var/log/pods. You can use this helm chart.
- Logs should be shipped to AWS CloudWatch.
- Add Kubernetes cluster metadata to each log message using this fluentd plugin.
Setup Monitoring Using Prometheus¶
- Install Prometheus and Grafana within your Kubernetes cluster.
- Add Prometheus as datasource for Grafana.
- Enable persistent storge for Grafana dashboards.
- Collect Kubernetes cluster metrics.
- Install Grafana dashboard for Kubernetes. Dashboard can be found here.
Add Instrumentation & Export Metrics to Prometheus¶
- Add a
counterto each API in your application. Client libraries can be found here.
- Configure Prometheus to collect metrics from your application.
- Create a Grafana dashboard for your application.
Assignment will be considered late if commits are made to
feature branch after due date.
- All work for this assignment must be done on assignment feature branch and merged to master when you are dev complete.
- All team member’s feature and master branches must be in-sync.
Following guidelines are for information only. They are subject to change at the discretion of the instructor and TA.
- Students must demonstrate application logs from containers running in Kubernetes cluster in AWS CloudWatch.
- Requests students to scale down pods to 0 and then scale back up. Logs from these new containers should also be available in AWS CloudWatch.
- Students must demonstrate application and Kuberntes cluster metrics in prometheus.
- Make API requests against API endpoints and watch the count in Grafana metrics.
- Verify Prometheus and Grafana deployment. Persistance should be enabled for Grafana deployments.
- Verify fluentd daemon sets deployment.