kong在docker部署,以及Prometheus和Grafana的使用

1.下载镜像

下载数据库镜像

docker pull postgres:9.6

下载kong镜像

docker pull kong:2.4

2、创建网络

为了保证互相可以正常访问,这里单独创建一个网络

docker network create kong-net

3、创建数据库

创建一个用户名为kong  密码为kong的数据库

docker run -d --name kong-database --network=kong-net -p 5432:5432 -e "POSTGRES_USER=kong" -e "POSTGRES_DB=kong" postgres:9.6

4、初始化数据库

docker run --rm --network=kong-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database"   -e  "KONG_PG_PASSWORD=kong" kong:2.4 kong migrations bootstrap

如果顺利运行则最终会输出Database is up-to-date表示数据库完成初始化操作

5.启动Kong

完成了以上的相关准备工作后我们这里就可以启动网关了

docker run -d --name kong --network=kong-net -e "KONG_DATABASE=postgres" -e "KONG_PG_HOST=kong-database" -e "KONG_CASSANDRA_CONTACT_POINTS=kong-database" -e "KONG_PG_PASSWORD=kong" -e "KONG_PROXY_ACCESS_LOG=/dev/stdout" -e "KONG_ADMIN_ACCESS_LOG=/dev/stdout" -e "KONG_PROXY_ERROR_LOG=/dev/stderr" -e "KONG_ADMIN_ERROR_LOG=/dev/stderr" -e "KONG_ADMIN_LISTEN=0.0.0.0:8001, 0.0.0.0:8444 ssl" -p 8000:8000 -p 8443:8443 -p 8001:8001 -p 8444:8444 kong:2.4

二、 Konga环境搭建

1.下载镜像

docker pull pantsel/konga:0.14.7

2.初始化数据库

这里为了符合实际,这里将采用上述教程中已经创建的pg数据库,首先我们需要进入容器进行数据库创建

docker exec -it kong-database psql -U kong

进入后输入以下语句创建数据库

CREATE DATABASE "konga" WITH ENCODING='UTF8';

完成创建后通过 \q 退出控制台,借助我们使用konga对数据库进行初始化操作

docker run --rm --network=kong-net pantsel/konga:0.14.7 -c prepare -a postgres -u postgresql://kong:kong@kong-database/konga

如果没有任何错误就完成了konga的数据库初始化工作,我们接着往下开始部署konga看板

3.启动konga

下面我们直接启动对应的看板UI。

docker run -d -p 1337:1337 --network=kong-net -e "TOKEN_SECRET=123456" -e "DB_ADAPTER=postgres" -e "DB_HOST=kong-database" -e "DB_USER=kong"  -e "DB_PASSWORD=kong" -e "DB_DATABASE=konga" -e "NODE_ENV=production" --name konga pantsel/konga:0.14.7

完成后我们通过访问localhost:1337即可看到注册页面,此时我们需要注册一个管理员账户就可以对kong进行管理了

4.利用Konga创建服务

完成账户注册后用户使用注册的账户进入管理界面就可以对Kong进行控制了,首先我们选择SERVICES菜单进入到服务列表中,通过按钮ADD NEW SERVICE将会弹出新建服务的窗口我们按照如下进行对应参数的填写即可。

  • Name:填写服务的名称(如 kong-api)
  • Protocol:服务的协议(如 http)
  • Host: 上游服务器地址(如 本机IP)
  • Port:上游服务端口(如 8001)
  • Path:上游服务路径(如 /)

其他参数如RetriesConnect timeoutWrite timeoutRead timeout主要是设定请求的充实次数和超时间等。

完成以上服务后我们还需要进行路由设定,指定对应的域名请求路由到该服务上。我们通过点击刚创建的服务可以看到左侧出现四个菜单,分别是Service detailsRoutesPluginsEligible Consumers,这里我们选择Routes选项进入到路由列表,通过点击ADD ROUTE按钮将会弹出路由新建窗口,这里我们需要按照如下顺序填入对应的参数即可。

  • Name:路由名称(如 kong-api)
  • Hosts:域名地址(如 www.kong.com)
  • Paths:二级路径(如 /)
  • Methods:请求方式(如 GET)

三.监控Kong

1.环境准备

这里需要使用到PrometheusGrafana,为了避免版本导致的区别这里提供了对应百度云的下载地址,大家可以自行进行下载

Prometheus对应提取码为 4fj2

Grafana对应提取码为 s3ud

完成以上下载后需要解压到对应文件夹下即可。

2. 启用插件

为了能够采集数据,这里我们需要通过Plugins开启Prometheus插件,成功开启后通过localhost:8001/metrics就可以看看到指标了。

接着我们需要针对Prometheus进行配置,打开prometheus.yml文件,新增如下内容

- job_name: 'kong'
    scrape_interval: 5s
    static_configs:
    - targets: ['localhost:8001']

完成后开启prometheus.exe就可以完成数据采集了

3. 可视化

此时我们打开Grafana文件夹,通过其中的bin目录下的grafana-server.exe启动服务,然后访问localhost:3000利用初始账户密码进行登录(admin/admin)。
进入后添加Prometheus数据源。由于AppMetrics已经提供了对应的看板所以我们可以通过ID7424直接导入,并选择正确的数据源就可以看到最终的效果了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用Docker部署PrometheusGrafana的步骤: 1. 安装DockerDocker Compose 如果你还没有安装DockerDocker Compose,可以参考官方文档进行安装。 2. 创建Docker Compose文件 在本地创建一个文件夹(例如:`prometheus-grafana`),并在其创建一个`docker-compose.yml`文件,用于定义PrometheusGrafana服务。 在文件,添加以下内容: ``` version: '3' services: prometheus: image: prom/prometheus container_name: prometheus ports: - "9090:9090" volumes: - ./prometheus:/etc/prometheus command: - --config.file=/etc/prometheus/prometheus.yml restart: always grafana: image: grafana/grafana container_name: grafana ports: - "3000:3000" volumes: - ./grafana:/var/lib/grafana restart: always ``` 这个文件定义了两个服务:`prometheus`和`grafana`。`prometheus`服务将使用`prom/prometheus`镜像,并将本地`./prometheus`目录挂载到容器`/etc/prometheus`目录,`grafana`服务将使用`grafana/grafana`镜像,并将本地`./grafana`目录挂载到容器`/var/lib/grafana`目录。 3. 创建Prometheus配置文件 在本地创建`prometheus`文件夹,在其创建一个`prometheus.yml`文件,用于定义Prometheus监控的目标和规则。 在文件,添加以下内容: ``` global: scrape_interval: 15s evaluation_interval: 15s scrape_configs: - job_name: 'prometheus' static_configs: - targets: ['localhost:9090'] ``` 这个文件定义了一个`prometheus`作业,将使用Prometheus默认的`localhost:9090`目标进行监控。 4. 运行Docker Compose 在终端,进入`prometheus-grafana`目录,并运行以下命令: ``` docker-compose up -d ``` 这将启动PrometheusGrafana服务,并将它们置于后台运行。你可以使用以下命令检查服务是否正在运行: ``` docker-compose ps ``` 5. 访问Grafana 在浏览器,访问`http://localhost:3000`,使用默认的用户名和密码(admin/admin)登录Grafana。 现在,你可以在Grafana添加一个数据源,选择Prometheus,并将URL设置为`http://prometheus:9090`(因为Prometheus服务的名称是`prometheus`,而不是`localhost`)。 完成后,你可以创建一个新的仪表板并添加一个面板,从而开始使用Grafana可视化Prometheus监控数据。 以上就是使用Docker部署PrometheusGrafana的步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值