老谢博客

  • 首页
  • WordPress
  • 网络技术
  • 乱七八糟
  • 运维技术
  • 给我留言
  • 关于老谢

Zabbix监控oxidized备份状态

分类:运维技术日期:2021-04-16 - 14:15:38作者:老谢

  原理是利用oxidized的hooks功能调用zabbix_sender推送数据给zabbix_server。

oxidized的config部分
hooks:
  node_success:
    type: exec
    events: [node_success]
    cmd: '
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 0;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT       -o $OX_EVENT;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS  -o $OX_JOB_STATUS;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME    -o $OX_JOB_TIME;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP     -o $OX_NODE_IP;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL  -o $OX_NODE_MODEL;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME   -o $OX_NODE_NAME'
 
    async: false
    timeout: 120
  node_fail:
    type: exec
    events: [node_fail]
    cmd: '
   /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT       -o $OX_EVENT;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS  -o $OX_JOB_STATUS;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME    -o $OX_JOB_TIME;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP     -o $OX_NODE_IP;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL  -o $OX_NODE_MODEL;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME   -o $OX_NODE_NAME;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 1'
    async: false
    timeout: 120
  post_store:
    type: exec
    events: [post_store]
    cmd: '
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT       -o $OX_EVENT;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS  -o $OX_JOB_STATUS;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME    -o $OX_JOB_TIME;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP     -o $OX_NODE_IP;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL  -o $OX_NODE_MODEL;
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME   -o ${OX_NODE_NAME};
    /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 2'
    async: false
    timeout: 120

hooks: node_success: type: exec events: [node_success] cmd: ' /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 0; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT -o $OX_EVENT; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS -o $OX_JOB_STATUS; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME -o $OX_JOB_TIME; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP -o $OX_NODE_IP; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL -o $OX_NODE_MODEL; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME -o $OX_NODE_NAME' async: false timeout: 120 node_fail: type: exec events: [node_fail] cmd: ' /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT -o $OX_EVENT; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS -o $OX_JOB_STATUS; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME -o $OX_JOB_TIME; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP -o $OX_NODE_IP; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL -o $OX_NODE_MODEL; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME -o $OX_NODE_NAME; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 1' async: false timeout: 120 post_store: type: exec events: [post_store] cmd: ' /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.datetime -o `date +%s`; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_EVENT -o $OX_EVENT; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_STATUS -o $OX_JOB_STATUS; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_JOB_TIME -o $OX_JOB_TIME; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_IP -o $OX_NODE_IP; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_MODEL -o $OX_NODE_MODEL; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k OX_NODE_NAME -o ${OX_NODE_NAME}; /usr/local/zabbix/bin/zabbix_sender -z zabbix_server_ip -s zabbix_agentd(server_name) -k oxidized.status -o 2' async: false timeout: 120

zabbix_oxidized模板
<?xml version="1.0" encoding="UTF-8"?>
<zabbix_export>
    <version>5.2</version>
    <date>2021-04-16T06:03:29Z</date>
    <groups>
        <group>
            <name>Templates</name>
        </group>
    </groups>
    <templates>
        <template>
            <template>Template Application - Oxidized</template>
            <name>Template Application - Oxidized</name>
            <description>This template allows traps to be sent to Zabbix using Oxidized Hooks. See https://github.com/clontarfx/zabbix-template-oxidized for more information.</description>
            <groups>
                <group>
                    <name>Templates</name>
                </group>
            </groups>
            <applications>
                <application>
                    <name>Oxidized Backup Status</name>
                </application>
                <application>
                    <name>Oxidized Information</name>
                </application>
            </applications>
            <items>
                <item>
                    <name>Backup Time</name>
                    <type>TRAP</type>
                    <key>oxidized.datetime</key>
                    <delay>0</delay>
                    <units>unixtime</units>
                    <applications>
                        <application>
                            <name>Oxidized Backup Status</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Backup Status</name>
                    <type>TRAP</type>
                    <key>oxidized.status</key>
                    <delay>0</delay>
                    <applications>
                        <application>
                            <name>Oxidized Backup Status</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Event</name>
                    <type>TRAP</type>
                    <key>OX_EVENT</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Oxidized Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Job Status</name>
                    <type>TRAP</type>
                    <key>OX_JOB_STATUS</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Oxidized Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Job Runtime</name>
                    <type>TRAP</type>
                    <key>OX_JOB_TIME</key>
                    <delay>0</delay>
                    <value_type>FLOAT</value_type>
                    <units>s</units>
                    <applications>
                        <application>
                            <name>Oxidized Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Node IP</name>
                    <type>TRAP</type>
                    <key>OX_NODE_IP</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <inventory_link>OOB_IP</inventory_link>
                    <applications>
                        <application>
                            <name>Oxidized Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Node Model</name>
                    <type>TRAP</type>
                    <key>OX_NODE_MODEL</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Oxidized Information</name>
                        </application>
                    </applications>
                </item>
                <item>
                    <name>Node Name</name>
                    <type>TRAP</type>
                    <key>OX_NODE_NAME</key>
                    <delay>0</delay>
                    <trends>0</trends>
                    <value_type>TEXT</value_type>
                    <applications>
                        <application>
                            <name>Oxidized Information</name>
                        </application>
                    </applications>
                </item>
            </items>
            <macros>
                <macro>
                    <macro>{$OXIDIZED_AGE_WARNING}</macro>
                    <value>24h</value>
                </macro>
                <macro>
                    <macro>{$OXIDIZED_RUNTIME_SLOW}</macro>
                    <value>60</value>
                </macro>
            </macros>
        </template>
    </templates>
    <triggers>
        <trigger>
            <expression>{Template Application - Oxidized:OX_NODE_NAME.last()}=0 or {Template Application - Oxidized:oxidized.status.last(#1)}=1</expression>
            <recovery_mode>NONE</recovery_mode>
            <name>Oxidized {ITEM.VALUE} Configuration Backup Failed</name>
            <priority>WARNING</priority>
            <type>MULTIPLE</type>
            <manual_close>YES</manual_close>
        </trigger>
        <trigger>
            <expression>{Template Application - Oxidized:OX_NODE_NAME.last()}=0 or {Template Application - Oxidized:oxidized.status.last(#1)}=2</expression>
            <recovery_mode>NONE</recovery_mode>
            <name>Oxidized {ITEM.VALUE} Configuration Changed</name>
            <priority>INFO</priority>
            <description>Oxidized has reported that the backup for {HOST.NAME} ({HOST.IP}) has failed. The last failure reason was {{HOST.HOST}:OX_REASON.last()}.</description>
            <type>MULTIPLE</type>
            <manual_close>YES</manual_close>
        </trigger>
    </triggers>
</zabbix_export>

<?xml version="1.0" encoding="UTF-8"?> <zabbix_export> <version>5.2</version> <date>2021-04-16T06:03:29Z</date> <groups> <group> <name>Templates</name> </group> </groups> <templates> <template> <template>Template Application - Oxidized</template> <name>Template Application - Oxidized</name> <description>This template allows traps to be sent to Zabbix using Oxidized Hooks. See https://github.com/clontarfx/zabbix-template-oxidized for more information.</description> <groups> <group> <name>Templates</name> </group> </groups> <applications> <application> <name>Oxidized Backup Status</name> </application> <application> <name>Oxidized Information</name> </application> </applications> <items> <item> <name>Backup Time</name> <type>TRAP</type> <key>oxidized.datetime</key> <delay>0</delay> <units>unixtime</units> <applications> <application> <name>Oxidized Backup Status</name> </application> </applications> </item> <item> <name>Backup Status</name> <type>TRAP</type> <key>oxidized.status</key> <delay>0</delay> <applications> <application> <name>Oxidized Backup Status</name> </application> </applications> </item> <item> <name>Event</name> <type>TRAP</type> <key>OX_EVENT</key> <delay>0</delay> <trends>0</trends> <value_type>TEXT</value_type> <applications> <application> <name>Oxidized Information</name> </application> </applications> </item> <item> <name>Job Status</name> <type>TRAP</type> <key>OX_JOB_STATUS</key> <delay>0</delay> <trends>0</trends> <value_type>TEXT</value_type> <applications> <application> <name>Oxidized Information</name> </application> </applications> </item> <item> <name>Job Runtime</name> <type>TRAP</type> <key>OX_JOB_TIME</key> <delay>0</delay> <value_type>FLOAT</value_type> <units>s</units> <applications> <application> <name>Oxidized Information</name> </application> </applications> </item> <item> <name>Node IP</name> <type>TRAP</type> <key>OX_NODE_IP</key> <delay>0</delay> <trends>0</trends> <value_type>TEXT</value_type> <inventory_link>OOB_IP</inventory_link> <applications> <application> <name>Oxidized Information</name> </application> </applications> </item> <item> <name>Node Model</name> <type>TRAP</type> <key>OX_NODE_MODEL</key> <delay>0</delay> <trends>0</trends> <value_type>TEXT</value_type> <applications> <application> <name>Oxidized Information</name> </application> </applications> </item> <item> <name>Node Name</name> <type>TRAP</type> <key>OX_NODE_NAME</key> <delay>0</delay> <trends>0</trends> <value_type>TEXT</value_type> <applications> <application> <name>Oxidized Information</name> </application> </applications> </item> </items> <macros> <macro> <macro>{$OXIDIZED_AGE_WARNING}</macro> <value>24h</value> </macro> <macro> <macro>{$OXIDIZED_RUNTIME_SLOW}</macro> <value>60</value> </macro> </macros> </template> </templates> <triggers> <trigger> <expression>{Template Application - Oxidized:OX_NODE_NAME.last()}=0 or {Template Application - Oxidized:oxidized.status.last(#1)}=1</expression> <recovery_mode>NONE</recovery_mode> <name>Oxidized {ITEM.VALUE} Configuration Backup Failed</name> <priority>WARNING</priority> <type>MULTIPLE</type> <manual_close>YES</manual_close> </trigger> <trigger> <expression>{Template Application - Oxidized:OX_NODE_NAME.last()}=0 or {Template Application - Oxidized:oxidized.status.last(#1)}=2</expression> <recovery_mode>NONE</recovery_mode> <name>Oxidized {ITEM.VALUE} Configuration Changed</name> <priority>INFO</priority> <description>Oxidized has reported that the backup for {HOST.NAME} ({HOST.IP}) has failed. The last failure reason was {{HOST.HOST}:OX_REASON.last()}.</description> <type>MULTIPLE</type> <manual_close>YES</manual_close> </trigger> </triggers> </zabbix_export>

参考:

https://cloud.tencent.com/developer/article/1657025
https://github.com/clontarfx/zabbix-template-oxidized
https://github.com/ytti/oxidized/blob/master/docs/Hooks.md

oxidized 最好用的网络设备备份系统(二)

原文地址 : https://www.xj123.info/8243.html

本站遵循 : 署名-非商业性使用-相同方式共享 2.5 中国大陆 (CC BY-NC-SA 2.5)

版权声明 : 原创文章转载时,请务必以超链接形式标明文章原始出处

  • 上一篇:Zabbix 5.0 LTS版本MySQL表分区及编译安装随记
  • 下一篇:2021好久没更新博客
1条评论
  1. 鸟叔 说:

    尽管不知道干啥的,还是来顶一下

    POST:2022-05-18 18:42 回复
发表评论 点击取消评论.

*必填

*必填

  • 文章归档
  • 子网计算
  • 我的共享
  • 锻炼计划
  • 给我留言
  • 关于老谢
2023年 2月
一 二 三 四 五 六 日
 12345
6789101112
13141516171819
20212223242526
2728  
« 10月    

最新文章

  • 2021好久没更新博客
  • Zabbix监控oxidized备份状态
  • Zabbix 5.0 LTS版本MySQL表分区及编译安装随记
  • centos7.9部署oxidized自动备份交换机配置
  • Surface Pro 4更换屏幕与电池
  • VCSA中删除horizon view链接克隆生成的replica-受保护副本
  • Esxi6.7U3安装SanDisk Fusion-io 1.3T ioscale Pci SSD加速卡驱动
  • 搭建ELK日志系统分析处理fortigate的syslog日志
  • 华为USG防火墙配置NAT映射回流解决内网通过公网映射访问内部服务器
  • 飞塔防火墙fortitoken配置

最新评论

  • waids:推出最好的投资工具,今天开始赚钱。 ...
  • waids:需要钱吗? 轻松拿到这里? https://i...
  • waids:相信你的美元给机器人,看看它是如何...
  • waids:#网络金融专家! 看看新的机器人。 ht...
  • waids:机器人从不睡觉。 它为你赚钱24/7。 h...
  • waids:没有钱? 在线赚取。 https://iujxnsp...
  • waids:只需点击一下即可将您的美元变成$1000...
  • waids:需要钱吗? 金融机器人是你的解决方案...
  • waids:开始每周只用这个机器人赚几千美元。 ...
  • waids:现在启动金融机器人开始赚钱。 https:...

日志存档

  • 2021年10月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2020年11月
  • 2020年9月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年1月
  • 2019年12月
  • 2019年10月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年3月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年1月
  • 2017年10月
  • 2017年9月
  • 2017年8月
  • 2017年7月
  • 2017年2月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年7月
  • 2016年6月
  • 2016年4月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年10月
  • 2015年9月
  • 2015年7月
  • 2015年5月
  • 2015年4月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2014年1月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年2月
  • 2013年1月
  • 2012年12月
  • 2012年11月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2012年3月
  • 2012年2月
  • 2012年1月
  • 2011年12月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2011年8月
  • 2011年7月
  • 2011年6月
  • 2011年5月
  • 2011年4月
  • 2011年3月
  • 2011年2月
  • 2011年1月
  • 2010年12月
  • 2010年11月
  • 2010年10月
  • 2010年9月
  • 2010年8月
  • 2010年7月

W3C

  • XHTML 1.0 Transitional
  • CSS level 3
  • Google+
Copyright © 2010-2022 老谢博客 All rights reserved.
Gzipped 76.5% | Optimized loading 64 queries in 0.277 seconds | Memory 33.85 MB | 皖ICP备13010663号-1
Powered by WordPress. | Hosted By 腾讯云 | Theme by WordPress主题巴士 | 站点地图 | SiteMap | Uptime | 技术支持:苏州天剑计算机系统有限公司