文章目录

Toggle

- ikuai
- 前提条件
- 安装ikuai exporter
- Prometheus配置文件调整
- Grafana 模板导入

ikuai


软路由系统 (iKuai OS)
免费使用的专业级路由系统,可安装在 x86/ARM 架构设备上 (如老旧电脑、工控机)被誉为 "软路由三件套" 之一 (与 OpenWrt、RouterOS 齐名),在国内市场占有率高

**本次我使用的是ikuai企业级A100-P作为演示**

1766458701368.png

**效果图展示如下**

1766457493499.png

前提条件


目前爱快路由器支持mib,即可以通过snmp_exporter进行监控数据,我这里选择更简单的Exporter,只需要对接用户名密码及地址即可

- Kubernetes 1.29.9
- iKuai 系统

> 作者项目地址https://github.com/tossp/ikuai-exporter/

安装ikuai exporter


> 本次安装namespace为tools

这里使用Kubernetes安装,我将用户名和密码放在secret中

Secret 需要使用base64加密

#用户名
echo -n "admin" | base64

密码
echo -n "123456"| base64


将加密的密码及用户名放到Secret中

apiVersion: v1
kind: Secret
metadata:
  name: ikuai-exporter-secret
  namespace: tools  # 统一命名空间为tools
  labels:
    app: ikuai-exporter
type: Opaque
data:
  # 以下为示例编码值,需替换为你实际账号密码的Base64编码
  IK_USER: YWRtaW4=        # "admin" 的Base64编码(echo -n "admin" | base64)
  IK_PWD: *****  # "路由器密码" 的Base64编码(echo -n "Haomima123.." | base64)


创建Deployment

apiVersion: apps/v1
kind: Deployment
metadata:
  name: ikuai-exporter
  namespace: tools
  labels:
    app: ikuai-exporter
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ikuai-exporter
  template:
    metadata:
      labels:
        app: ikuai-exporter
    spec:
      containers:
      - name: ikuai-exporter
        image: tossp/ikuai-exporter:1.2
        imagePullPolicy: IfNotPresent
        # 环境变量配置:非敏感变量直接定义,敏感变量从Secret读取
        env:
        - name: IK_URL
          value: "http://192.168.21.1"  # 直接嵌入爱快地址
        - name: IK_USER
          valueFrom:
            secretKeyRef:
              name: ikuai-exporter-secret  # 关联上面创建的Secret
              key: IK_USER
        - name: IK_PWD
          valueFrom:
            secretKeyRef:
              name: ikuai-exporter-secret
              key: IK_PWD
        # 健康检查(建议保留)
        livenessProbe:
          httpGet:
            path: /metrics
            port: 9090
          initialDelaySeconds: 10
          periodSeconds: 30
        readinessProbe:
          httpGet:
            path: /metrics
            port: 9090
          initialDelaySeconds: 5
          periodSeconds: 10
        # 资源限制(按需调整)
        resources:
          requests:
            cpu: 10m
            memory: 32Mi
          limits:
            cpu: 50m
            memory: 64Mi
        ports:
        - containerPort: 9090
          name: metrics
          protocol: TCP


创建svc

apiVersion: v1
kind: Service
metadata:
  name: ikuai-exporter
  namespace: tools
  labels:
    app: ikuai-exporter
spec:
  type: ClusterIP  # 仅集群内访问,需外部访问可改为NodePort/LoadBalancer
  selector:
    app: ikuai-exporter
  ports:
  - name: metrics
    port: 9090
    targetPort: metrics
    protocol: TCP


创建所有文件

root@k8s-master-01:~/ikuai-exporter# kubectl apply -f .
deployment.apps/ikuai-exporter created
secret/ikuai-exporter-secret created
service/ikuai-exporter created


查看Pod和SVC状态

root@k8s-master-01:~/ikuai-exporter# kubectl get pod,svc -n tools|grep ikuai
pod/ikuai-exporter-568f7d6d97-4tvvr                       0/1     Running   0              14s
service/ikuai-exporter                        ClusterIP   10.96.1.165   <none>        9459/TCP                                                                                                          14s


查看启动Pod日志

root@k8s-master-01:~/ikuai-exporter# kubectl logs -f -n tools ikuai-exporter-6d6588d899-zfkvz
2025/12/23 02:22:14 iKuai Exporter v1.1.3
2025/12/23 02:22:14 exporter v1.1.3 started at :9090
2025/12/23 02:22:20 session timeout: try to login
2025/12/23 02:22:20 successfully login, re-try to meter states


1766456649735.png

> 如果镜像拉取失败,可以考虑使用abcdocker提供镜像加速地址https://i4t.com/dockerproxy

 

访问http://svc:9090/metrics 就可以看到数据,代表Exporter启动成功

1766456846911.png

Prometheus配置文件调整


scrape_configs:
  - job_name: 'ikuai_exporter'
    scrape_interval: 2s
    scrape_timeout: 2s
    relabel_configs:
      - source_labels: [__address__]
        target_label: instance
      - target_label: __address__
        replacement: 10.96.1.165:9090  # exporter地址,写内网svc
    static_configs:
      - targets:
          - 192.168.21.1


最后效果图如下

1766457073046.png

接下来重载Prometheus,就可以看到ikuai-exporter

1766457193168.png

Grafana 模板导入


接下来我们导入Grafana模板
ID22756

1766457370256.png

1766457398763.png

1766457440446.png

最终效果图

1766457493499.png