图片不清晰可以去看word文档:word文档地址:https://github.com/IceEmblem/LearningDocuments/tree/master/%E5%AD%A6%E4%B9%A0%E8%B5%84%E6%96%99/%E5%B9%B3%E5%8F%B0%E6%97%A0%E5%85%B3/Kong%20%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0
如下介绍prometheus监控系统
kong提供了prometheus插件,用于收集kong的指标信息,如下我们通过konga添加插件prometheus插件
添加后我们访问http://127.0.0.1:8001/metrics就可以看到prometheus收集的指标
在装有kong的服务器上面安装一个监测程序,用于监测服务器的状态
# docker run -d --name node-exporter \
--network kongnet \
--restart=always \
-p 9100:9100 \
prom/node-exporter:latest
如下我们安装prometheus监控采集程序,该程序会搜集目标服务器的指标
1.创建/etc/prometheus/prometheus.yml文件,其内容如下:
# 全局配置
global:
scrape_interval: 15s # 采集间隔时间。 默认为每 1 分钟。
evaluation_interval: 15s # 每 15 秒评估一次规则。 默认值为每 1 分钟。
# 抓取端口配置
scrape_configs:
- job_name: 'kong'
static_configs:
- targets: ['kong:8000'] # kong 监测点地址
labels:
instance: kong
- job_name: 'node-exporter'
static_configs:
- targets: ['node-exporter:9100'] # node-exporter 监测点地址
labels:
instance: node-exporter
2.启动prometheus
# docker run -d --name prometheus \
--network kongnet \
--restart=always \
-p 9090:9090 \
-v /etc/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
prom/prometheus:latest
grafana具有丰富的监控展示功能,并且具有报警功能,如下我们安装grafana
1.创建grafana数据存储目录
# mkdir -p /var/lib/grafana && chmod 777 /var/lib/grafana
2.启动grafana
# docker run -d --name=grafana \
--network kongnet \
--restart=always \
-p 3000:3000 \
-v /var/lib/grafana:/var/lib/grafana \
grafana/grafana:latest
3.访问http://127.0.0.1:3000/login,登录grafana,用户名密码均为admin
5.导入仪表盘
https://grafana.com/grafana/dashboards/ 上提供了各种仪现成表盘,我们只需要输入ID即可添加仪表盘,如下我们在import页面输入id导入node-exporter 和 kong的仪表盘,对应的id为
node-exporter:11074
Kong for prometheus:7424
我们通过Browse页面可以浏览我们的仪表盘列表,点击对应的行进入对应的仪表盘
下面配置grafana通过邮件进行报警
1.导出grafana的配置
# mkdir /etc/grafana && docker exec -it grafana cat /etc/grafana/grafana.ini > /etc/grafana/grafana.ini
2.修改配置的如下字段,如下使用的是QQ邮箱
[smtp]
enabled = true
host = smtp.qq.com:465
user = 137xxxxxx@qq.com -- 用于登录的邮箱
password = rwxxxxxxxxxxxxxx -- 邮箱的smtp授权码
from_address = 137xxxxxx@qq.com -- 发送报警邮件的邮箱
from_name = Grafana -- 发送报警邮件的名称
3.重新安装grafana
# docker run -d --name=grafana \
--network kongnet \
--restart=always \
-p 3000:3000 \
-v /var/lib/grafana:/var/lib/grafana \
-v /etc/grafana/grafana.ini:/etc/grafana/grafana.ini \
grafana/grafana:latest
5.创建报警规则
我们按照grafana的默认配置创建一个报警规则,当规则被触发后将发送邮件报警
6.更改通知策略
我们将Notification policies的根改为刚才新建的Test联系点,这样所有规则的发出的报警都会通过我们的Test联系点
7.测试
我们将容器node-exporter停止,grafana将会向我们发送邮件
感想:grafana的配置真麻烦,关键文档还是英文的,看不懂
1.坑1
上篇文章kong容器的生成漏写了2个环境变量导致konga连接不上kong了,后续我已经补回来了
-e “KONG_ADMIN_LISTEN=0.0.0.0:8001”
-e “KONG_ADMIN_LISTEN_SSL=0.0.0.0:8444” \