老谢博客

  • 首页
  • 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
https://www.opscaff.com/2018/04/23/oxidized-%E6%9C%80%E5%A5%BD%E7%94%A8%E7%9A%84%E7%BD%91%E7%BB%9C%E8%AE%BE%E5%A4%87%E5%A4%87%E4%BB%BD%E7%B3%BB%E7%BB%9F%E4%BA%8C/

原文地址 : 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 回复
发表评论 点击取消评论.

*必填

*必填

  • 文章归档
  • 子网计算
  • 我的共享
  • 锻炼计划
  • 给我留言
  • 关于老谢
2025 年 7 月
一 二 三 四 五 六 日
 123456
78910111213
14151617181920
21222324252627
28293031  
« 5 月    

最新文章

  • 认知,是否是一座大山?当架构决策变成配置清单比价
  • 重装博客服务器环境
  • 特斯拉24款标续 Model Y 2万公里使用体验
  • 接盘的傻子
  • 小牛us电瓶指示灯闪三次不上电
  • 一次还不错的小米售后体验
  • 装台1600元办公主机
  • 2021好久没更新博客
  • Zabbix监控oxidized备份状态
  • Zabbix 5.0 LTS版本MySQL表分区及编译安装随记

最新评论

  • zwwooooo:类似以前做网站开发时,一开始有自...
  • 老陳网志:有点高端,像我们整点nas玩玩就够...
  • springwood:自从 CentOS 不维护之后,我换 U...
  • 大D:难都搞下来了,那就更得YM了
  • 大D:只能是YM了,谢总牛啊
  • 灰常记忆:经济不好 今年我也换了机器 一...
  • 大峰:这是海外服务器嘛?速度挺快的。
  • 大D:只能单走一个6了哈哈哈
  • zwwooooo:买特斯拉和买iPhone的人群其实相似...
  • 平安家属子痕:一直坚持油车,看你写的心里有...

日志存档

  • 2025 年 5 月
  • 2025 年 4 月
  • 2025 年 3 月
  • 2024 年 9 月
  • 2024 年 5 月
  • 2024 年 1 月
  • 2023 年 4 月
  • 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-2025 老谢博客 All rights reserved.
Gzipped 76.5% | Optimized loading 51 queries in 0.363 seconds | Memory 39.03 MB | 尼玛的备案
Powered by WordPress. | Hosted By LAOXUEHOST | Theme by WordPress主题巴士 | 站点地图 | SiteMap | uptime查询