通过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 .
查看部署情况
查看访问端口
页面访问grafana
http://10.1.2.190:30030
admin/admin
配置loki数据源
查看日志
通过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
查看正在运行的服务
docker service ls
访问alertmanager
http://10.1.2.190:9093/#/alerts
访问advisor
http://10.1.2.190:8080/containers/
访问node-exporter
http://10.1.2.190:9100/metrics
访问grafana
http://10.1.2.190:3000/
username - admin
password - foobar (Password is stored in the `/grafana/config.monitoring` env file)
配置prometheus数据源
查看监控日志