监控大盘构建

  由于dot1x认证使用udp报文;对外监听udp端口,每次读取认证的报文的时候,逻辑都是从listen-fd上读取报文;然后交给业务线程处理,后续处理完毕交给listen-fd发送响应报文;

当然如果发送响应报文的时候创建一个新的fd bind 1812 端口-SO_REUSEPORT;虽然可以发送报文;但是万一此时收到认证报文呢?

此时为了解决此问题,则要保证 recv 那个 fd 不会意外被分到。这个需要用 setsockopt(SO_ATTACH_REUSEPORT_CBPF)BPF 来做 socket 分流,不然会乱。

但是C代码没有协程,只能开启线程池了!

从这个场景来说,go此时真的比c适合实现radius server。

回到当前目标,目前在做radius server 监控指标。业界内监控都是Prometheus+Grafana 实现

  部署环境:

被监控设备A处于内网;Prometheus+gfafana处于saas;所以在A上起Prometheus然后remote write到saas;然后gfafana 导入Prometheus数据显示在监控大盘上

 目前在radius docker 镜像里面,启动一个Prometheus 进程,target为本地的radius-Prometheus服务; remote url为saas平台Prometheus地址;

saas平台同主机上部署grafanan

saas 平台上启动的Prometheus参数为 docker-compose 参数为

services:
  prometheus:
    container_name: saas_prometheus
    image: xxxxxx/prometheus:v1.1.1
    restart: always
    environment:
      <<: *encrypted-envs
      HOST_IP: "${HOST_IPADDR}"
    env_file:
      - ${CONFIG_FILE}
    command:
      - "--config.file=/etc/prometheus/prometheus.yml"
      - "--storage.tsdb.path=/home/data/prometheus"
      - "--storage.tsdb.retention.time=15d"
      - "--web.config.file=/etc/prometheus/web.yaml"
      - "--web.console.libraries=/usr/share/prometheus/console_libraries"
      - "--web.console.templates=/usr/share/prometheus/consoles"
      - "--web.external-url=http://${HOST_IP}:9090"
      - "--web.enable-remote-write-receiver"
#对于Prometheus告警规则模板;则放在/etc/prometheus/目录下;
cat prometheus-alerts-rule-test.yml 
groups:
- name: xxxxxx
  rules:
  - alert: redisNum 
    expr: readis_nums > 100
    for: 1m
    labels:
      severity: critical
    annotations:
      summary: "redis xxxx"
      description: "redis{{$labels.ins_id}} xxxx当前数量:{{$value}}"
  #bypass状态监控
  - alert: xxxxxx
    expr: redis_status > 0
    for: 1m
    labels:
      severity: warning
    annotations:
      summary: "redis xxxx"
      description: "redis{{$labels.ins_id}} {{$labels.instance}} xxxx:{{$value}}"

 

 

参考文档为:

将Prometheus的监控数据接入本地Grafana https://help.aliyun.com/zh/arms/prometheus-monitoring/import-data-from-prometheus-to-local-grafana-systems

 

posted @ 2025-08-19 20:44  codestacklinuxer  阅读(6)  评论(0)    收藏  举报