如何将 shell 脚本的输出提供给 Prometheus 并在 Grafana 仪表板中显示?

How to feed the output of a shell script to Prometheus and display it in Grafana dashboard?

提问人:Kavi Rakesh 提问时间:11/16/2023 最后编辑:Helge DerenthalKavi Rakesh 更新时间:11/16/2023 访问量:63

问:

我在我的 kubernetes 集群中编写了一个 shell 脚本,以给出总浮动 Ip 计数、浮动 ips ping 和 no 的结果。的浮动 IP 不 ping 操作。我需要将这些数据导出到 prometheus grafana

这是 shell 脚本:

#!/bin/bash

# Execute the `kubectl ko nbctl show` command and capture its output
kubectl_output=$(ip a)

# Use awk to extract the NATed IP addresses from the command output
nated_ips=($(echo "$kubectl_output" | awk -F'|' '$2 ~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ {gsub(/ /, "", $2); print $2}'))

# Initialize variables to count successful and unsuccessful pings
success_count=0
fail_count=0

# Loop through the list of NATed IPs and ping each one
for ip in "${nated_ips[@]}"; do
    ping_result=$(ping -c 1 "$ip" 2>&1)
    if [[ $? -eq 0 ]]; then
        echo "$ip is reachable."
        ((success_count++))
    else
        echo "$ip is not reachable."
        ((fail_count++))
    fi
done

# Provide a summary message
echo "Out of ${#nated_ips[@]} IPs, $success_count are pinging successfully, and $fail_count are not pinging successfully."

我不知道该怎么做?我尝试浏览 Prometheus 官方文档,但没有帮助

Kubernetes Prometheus grafana

评论

0赞 markalex 11/16/2023
您需要一个推送网关或一个支持文本文件指标的导出器,例如node_exporter

答: 暂无答案