加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
代码演示参考地址
    https://blog.csdn.net/weixin_50902636/article/details/139903589

核心思想:
    1、本代码主要是使用golang、xlsx文件、consul三大部分将整理好的监控指标通过golang调用consulApi注册到consul中
    2、xlsx文件中的sheet页必须满足settings.yaml文件中的这部分
         service_name:
            - "Host_Status"
            - "ICMP"
            - "Service_TCP"
            - "Service_URL"
        或者自行定义sheet页名称,同时一定要修改settings.yaml文件中的上述部分,二者必须保持一致

    3、代码的主要功能就是将整理好的xlsx文件,通过`tools.ProcessExcelFiles(cmdFlags)` 函数将xlsx形式中的文件转换为以json结尾的文件,具体的转换过程看代码即可
[root@python2 prometheus_import_consul]# sh scripts/launch.sh build prometheus_import_consul cmd/main.go //构建二进制程序

[root@python2 prometheus_import_consul]# sh scripts/launch.sh run-execToAllJson prometheus_import_consul  //将xlsx文件中所有的sheet页转换为json文件保存在jsonfile目录下

    4、注册到consul时,首先通过json反序列化操作,拿到对应的json数据值,然后对注册到consul中的五大部分(host、icmp、interface、service)分别进行相关拼接操作
[root@python2 prometheus_import_consul]# sh scripts/launch.sh run-all prometheus_import_consul //将所有的json文件注册到consul

    5、当拼接操作结束后,调用tools目录下的函数,并传参,实际tools目录下的函数都是调用了consulAPI进行的注册
    
    6、makefile定义了代码的多重操作,但是执行繁琐,因此引入了launch.sh脚本,执行launch.sh xx 即可完成xlsx文件转换、注册功能、一键清除指标功能

    7、registryTelegraf.go文件是用于随着telegraf的启动而将其注册到consul中的一个程序,具体如下所示
    #!/bin/bash
    regist(){
        name=telegraf
        # 获取当前服务器的活动网卡名称
        network_interface=$(ip -o -f inet addr show |grep -v "127.0.0.1" |awk '{print $2}')

        # 如果找到了活动网卡,则获取其IP地址
        if [[ -n $network_interface ]]; then
            ip=$(ip addr show "$network_interface" | grep inet | awk '{print $2}' | cut -d'/' -f1 | head -n1)
        else
            echo "No active network interface found."
            exit 1
        fi
        port=9273
        acl_token=$(awk -F '=' '/master/ {print $2}' /opt/monitor/consul/bin/acl.hcl | tr -d '[:space:]' | tr -d '"')
        /ops/golangcode/registryTelegraf  $name   $ip  $port "monitor.ops.com"   "运维监控平台"  "监控agent组件" "Telegraf" "v1.22.4" "Telegraf" $acl_token
    }


    start(){
        cd /opt/monitor/telegraf
        touch /opt/monitor/telegraf/telegraf.pid
        usr/bin/telegraf -config etc/telegraf/telegraf.conf --config-directory etc/telegraf/telegraf.d/ --pidfile /opt/monitor/telegraf/telegraf.pid  > /opt/monitor/telegraf/var/log/telegraf/telegraf.log 2>&1 &
        regist
        /bin/bash /usr/bin/telegraf_cgroup.sh
    }
    start

空文件

简介

支持将微服务端口、接口、主机监控整理到xlsx文件后,使用golang开发的脚本将其整理好的指标监控注册到consul中,同时如果consul开启了acl认证,配置对应的token后,也可以实现一键注册或者分功能注册(注册主机、注册接口、注册端口等分开进行) 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化