K8S搭建日志和监控平台一

489 阅读1分钟

通过k8s部署grafana、loki、promtail

部署结构图

  • Loki 是主服务,负责存储日志和处理查询
  • promtail 是代理,负责收集日志并将其发送给 loki
  • Grafana 用于 UI 展示

只要在应用程序服务器上安装promtail来收集日志然后发送给Loki存储,就可以在Grafana UI界面通过添加Loki为数据源进行日志查询(如果Loki服务器性能不够,可以部署多个Loki进行存储及查询)。作为一个日志系统不光只有查询分析日志的能力,还能对日志进行监控和报警。

部署脚本

https://gitee.com/pingfanrenbiji/monitor

部署grafana

kubectl create ns logging
cd grafana
kubectl apply -f grafana-deploy.yaml

部署loki

cd loki
kubectl apply -f .

部署promtail

cd promtail
kubectl apply -f .

查看部署情况

image.png

查看访问端口

image.png

页面访问grafana

http://10.1.2.190:30030
admin/admin

配置loki数据源

image.pngimage.png

查看日志

image.png

通过docker-compose部署prometheus

安装docker-compose

wget https://github.com/docker/compose/releases/download/v2.6.0/docker-compose-linux-x86_64
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version

部署脚本

https://gitee.com/pingfanrenbiji/prometheus

服务启动

cd prometheus

HOSTNAME=$(hostname) docker stack deploy -c docker-stack.yml prom

docker stack ps prom

image.png

查看正在运行的服务

docker service ls

image.png

访问alertmanager

http://10.1.2.190:9093/#/alerts

image.png

访问advisor

http://10.1.2.190:8080/containers/

image.png

访问node-exporter

http://10.1.2.190:9100/metrics

image.png

访问grafana

http://10.1.2.190:3000/

username - admin
password - foobar (Password is stored in the `/grafana/config.monitoring` env file)

配置prometheus数据源

image.png

查看监控日志

image.png

image.png