怎么查看ingress的规则_Prometheus PormQL语法及告警规则写法

47ce58b9173ceece0c7fac9d3712e61c.png

这个是我一直不想写的,嫌麻烦。还有就是这么多大神,我还差得远,不过是为了通过输出更好的理解这些知识。

介绍

Prometheus 是一个时序数据库,可以存储它通过 exporters 抓取回来的监控数据。那这些数据怎么去查询呢?比如MySQL有SQL语句,那Prometheus有啥呢?PromQL (Prometheus Query Language) ,这是Prometheus开发的数据查询DSL语言,日常的可视化以及告警规则都要用到它。这个很重要,一定得好好学一下。

举个例子

浏览器打开Prometheus的web界面,http://localhost:9090/graph。可以看到有个输入框, 就是输 PromQL语句的地方,下方有个 Execute 按钮。

先拿Nginx的指标举个例子,Nginx如何监控,请查看我之前的文章Prometheus监控nginx

查看一台Nginx的活跃连接数,即active指标,如何看呢?

在服务器上查看完整的指标语句是:

[wonders@node1 ~]$ curl http://172.18.11.192:9145/metrics
# HELP nginx_http_connections Number of HTTP connections
# TYPE nginx_http_connections gauge
nginx_http_connections{state="active"} 1349
nginx_http_connections{state="reading"} 0
nginx_http_connections{state="waiting"} 1341
nginx_http_connections{state="writing"} 5
......

那我只想看 active 怎么办呢?在输 PromQL 语句的地方输入

nginx_http_connections{state="active"}

会输出所有Nginx机器的 active

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes Ingress是一个控制器,它允许以一致的方式暴露服务并将流量路由到不同的服务,它可以在同一个IP地址和同一个端口上处理多个规则,这些规则定义了如何将入站请求路由到不同的服务或URI路径。 以下是如何配置Ingress规则的步骤: 1. 确认是否已经安装和启用了Ingress控制器。使用kubectl命令来查看是否有ingress-controller pod运行。 2. 在kubernetes集群中创建一个Ingress对象。这一步需要指定Ingress对象的metadata和spec字段。metadata中必须要指定一个名称,spec中必须要指定规则列表(rules),每个规则中需要定义host和对应的http(s)路径。 例如: ```yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: example-ingress spec: rules: - host: example.com http: paths: - path: /api/v1 pathType: Prefix backend: service: name: api-service port: name: http ``` - host:用于匹配请求的主机名。 - http:HTTP协议规则,还有一个TLS协议规则,需要使用secret配置。HTTP和TLS规则不能同时出现。 - paths:一组定义要匹配请求和转发服务的路径规则。 - path:用于匹配传入请求的路径前缀。 - backend:后端服务的配置。 3. 创建服务对象 ```yaml apiVersion: v1 kind: Service metadata: name: api-service namespace: default spec: selector: app: api ports: - name: http port: 80 targetPort: 8080 ``` - 应该根据实际情况配置targetPort和selector字段。targetPort是要暴露的端口,selector指定要将请求转发到哪个Pod。 4. 部署后端服务的Pod ```yaml apiVersion: apps/v1 kind: Deployment metadata: name: api spec: selector: matchLabels: app: api template: metadata: labels: app: api spec: containers: - name: api image: my-api-image ports: - containerPort: 8080 ``` - deployment对象需要指定pod的镜像和容器端口。 5. 应用ingress和service和deployment. ```bash kubectl apply -f your-configuration.yaml ``` 这些规则定义了如何将入站http请求路由到不同的Kubernetes服务。可以使用类似于nginx-ingress等的Ingress控制器来处理这些规则并负载均衡流量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值