Ad Widget

Collapse

[Announce]: zabbix templates 1.0.4

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • kloczek
    Senior Member
    • Jun 2006
    • 1771

    #1

    [Announce]: zabbix templates 1.0.4

    Hi,

    I'm glad to announce release my set of zabbix templates. Recently I've spent some time cleaning, updating and documenting those templates to prepare them to first official release.

    Zabbix templates. Contribute to kloczek/zabbix-templates development by creating an account on GitHub.


    The goal of the project is to provide the full alternative set of templates with naming convention across applications, item names, graphs and screens allowing easier navigation across monitoring data.
    On maintaining those templates I've been using my Zabbix API SH binding (AKA zapish).
    export_templates script allows easy dump templates over zabbix API to per template directory structure with reporting if something new has been found in just exported templates.

    Feel free to comment/discuss those templates here or by send some git new issue topic or contribute by send git PR.

    kloczek

    Changelog:

    1.0.4 (2018-06-11)
    • The first version tagged in git repo to stamp state of templates and tools and to provide better tracking changes by using git command
    • The development of the next versions of the templates will continue on devel branch. When all changes are ready devel branch will be merged to master one. It will be way better for those who have interested enough tested template.
    • Recent changes
      • All templates:
        • change all graphs resolution to 1200x300
      • ICMP
        • Screens:
          • new NET::ICMP
      • MIB
        • changed all description OID trees URLs to http://www.oidview.com/mibs/ based (http://support.ipmonitor.comseems no longer available)
        • IF-MIB
          • Applications:
            • the new prototype for all interfaces LLD prototype items IF-MIB::interfaces::{#IFDESCR}
          • LLDs:
            • new interfaces LLD discovery[{#IFDESCR},IF-MIB::ifDescr,{#IFOPERSTATUS},IF-MIB::ifOperStatus] and added filter to remove from the list all interfaces with ifOperStatus=Down state. Switch from {#SNMPVALUE} to {#IFDESCR} as macro indexing all prototype items
          • Screens:
            • new:
              • IF-MIB::ifHCOctets
              • IF-MIB::ifOctets
        • SNMPv2-MIB
          • Applications:
            • rename mib-2.system to SNMPv2-MIB::system and mib-2.system.snmp to '''SNMPv2-MIB::snmp''' to use matching MIB naming conventoion
          • Items:
            • changed units in update interval from number of seconds to number of m/h/d
          • Graphs:
            • new normal graph SNMPv2-MIB::snmpPkts with SNMPv2-MIB::snmp{in,Out}Pkts OIDs presenting rate of SNMP requests/replies
      • OS Linux
        • Items:
          • added MEM:: items descriptions
          • fixed NET::segments retransmitted item use new sed regexp in this item s/\( *\)\(.*\) segments retransmitted*/\2/ p/
        • Triggers:
          • fixed typo in name: s/SYS:uname changed/SYS::uname changed/
          • rename "Lack of free memory" to MEM::free {ITEM.LASTVALUE}
          • use diff()=1 function (instead change() and str()) in triggers:
            • HW::devices list has been changed
            • HW::CPU info has changed
      • OS Solaris
        • Triggers:
          • fixed typo in trigger name s/SYS:uname changed/SYS::uname changed/
          • added MEM::free {ITEM.LASTVALUE}
      • OS Windows
        • Triggers:
          • rename trigger to the same name as it is in other OS templates s/Host information was changed/SYS:uname changed/
          • rename "Lack of free memory" to MEM::free {ITEM.LASTVALUE}
      • Service MySQL
        • Applications:
          • new:
          • SVC::MySQL::cfg for all read configuration parameters
          • SVC::MySQL::Com for all Com_* metrics
          • SVC::MySQLB::{#DB} prototype for all per database metrics
          • SVC::MySQL::innodb for all innodb storage engine metrics
          • SVC::MySQL::threads for all treads related metrics
        • Graphs:
          • new SVC::MySQL::threads with Threads_cached, Threads_connected and Threads_running metrics
        • Items:
          • new max_allowed_packet - the maximum size of one packet or any generated/intermediate string
          • new show_compatibility_56 - show is MySQL engine running in MySQL 5.6 compatibility mode is ON/OFF
          • new Threads_cached - the number of threads in the thread cache
          • mew Threads_running - the number of threads that are not sleeping
          • rewrite most of the items SQL queries to use uppercase SQL keywords and lowercase for table names and row names (this will cause problems with imprt new template b ut I need to standarize thuis before first officially announced release of the templates)
        • Screens:
          • new SVC::MySQL::threads which combines SVC::MySQL::threads graph and Connections simple graph
        • Triggers:
          • new SVC::MySQL::version has been changed (severity: Not classified)
          • new SVC::MySQL::cfg::show_compatibility_56=ON (severity: High, because this template requires show_compatibility_56=OFF)
      • Service Zabbix Proxy
        • Applications:
          • new SVC::Zabbix Proxy:roc
        • Graphs:
          • updated:
            • SVC::zabbix_proxy:rocess busy %
            • SVC::zabbix_proxy::data gathering process busy %
        • Items:
          • new:
            • proc::busy::configuration syncer
            • proc::busy::data sender
            • proc::busy::heartbeat sender
            • proc::busy::ipmi manager
            • proc::busy::ipmi poller
            • proc::busy::java poller
            • proc::busy::snmp trapper
            • wcache::index:free
          • delete items which have been by mistake copied from Service Zabbix Server template
            • wcache::text::free
            • wcache::text::total
            • wcache::text::used
          • move Processes:: items to SVC::Zabbix Proxy:roc Application
          • rename all Processes::$4::$2 to proc::$4::$2 and remove quotes on all those items second key parameter (to allow easy migration from standard "Template App Zabbix Proxy" template)
        • Triggers:
          • new:
            • SVC::zabbix_proxy::configuration syncer >=75% busy
            • SVC::zabbix_proxy::data sender >=75% busy
            • SVC::zabbix_proxy::heartbeat sender >=75% busy
            • SVC::zabbix_proxy::ipmi manager >=75% busy
            • SVC::zabbix_proxy::ipmi poller >=75% busy
            • SVC::zabbix_proxy::java poller >=75% busy
            • SVC::zabbix_proxy::snmp trapper >=75% busy
            • SVC::zabbix_proxy::vmware collector >=75% busy
      • Service Zabbix Server
        • Applications:
          • new:
            • SVC::Zabbix Server::rcache::buffer
            • SVC::Zabbix Server::vcache::buffer
            • SVC::Zabbix Server::vcache::cache
            • SVC::Zabbix Server::wcache::history
            • SVC::Zabbix Server::wcache::trend
            • SVC::Zabbix Server::wcache::values
          • rename SVC::Zabbix Server:rocess::busy to SVC::Zabbix Server:roc
        • Graphs:
          • updated SVC::zabbix_server:rocess busy %
          • new SVC::zabbix_server:reprocessing queue
        • Items:
          • added all items descriptions
          • new:
            • proc::busy::alert manager %
            • proc::busy::escalator %
            • proc::busy::ipmi manager %
            • proc::busy::ipmi poller %
            • proc::busy::java poller %
            • proc::busy:reprocessing manager %
            • proc::busy:reprocessing worker %
            • proc::busy:roxy poller %
            • proc::busy::snmp trapper poller %
            • proc::busy::task manager %
            • proc::busy::timer %
            • proc::busy::vmware collector %
            • triggers
            • queue:reprocessing
          • remove items::queued (it duplicates information provided by queue::* items)
          • removed quotes around processes names to make migration from standard zabbix template easier
          • rename all process::* items to proc::* (keep it in sync with proxy template)
          • rename Uptime to uptime
          • Triggers:
            • new:
              • SVC::zabbix_server::alert manager processes >=75% busy
              • SVC::zabbix_server::escalator processes >=75% busy
              • SVC::zabbix_server::ipmi manager processes >=75% busy
              • SVC::zabbix_server::ipmi poller processes >=75% busy
              • SVC::zabbix_server::java poller processes >=75% busy
              • SVC::zabbix_server:reprocessing manager processes >=75% busy
              • SVC::zabbix_server:reprocessing worker processes >=75% busy
              • SVC::zabbix_server:roxy poller processes >=75% busy
              • SVC::zabbix_server::snmp trapper processes >=75% busy
              • SVC::zabbix_server::task manager processes >=75% busy
              • SVC::zabbix_server::timer processes >=75% busy
              • SVC::zabbix_server::vmware collector processes >=75% busy
      • Service Nginx
        • new template

    List of templates:
    Last edited by kloczek; 11-06-2018, 17:34.
    http://uk.linkedin.com/pub/tomasz-k%...zko/6/940/430/
    https://kloczek.wordpress.com/
    zapish - Zabbix API SHell binding https://github.com/kloczek/zapish
    My zabbix templates https://github.com/kloczek/zabbix-templates
  • kloczek
    Senior Member
    • Jun 2006
    • 1771

    #2
    Short post release update:

    I've received some feedback :P and just fixed in zapish some bashisms which caused failing all zapish based scripts in some exact situations (export_templates from zabbix-templates is using zapish.inc from zapish).
    By this issue all people using Debian and other Unixes which have no bash as /bin/sh had some "disappointing results" of all zapish based scripts :P

    Just FTR: easiest way how to start working with those templates is just:
    - clone zabbix-templates and zapish git repos in the same directory

    $ git clone [email protected]:kloczek/zabbix-templates
    $ git clone [email protected]:kloczek/zapish

    - import xml templates over web interface xml files (import_templates still is not finished)

    If someone wants to submit own changes to zabbix-templates xml files just:
    - execute "export_templates" script from zabbix-templates repo
    - review changes by "git diff"
    - send me the parch produced above command or create own git fork->commit changes to forked repo-> submit PR (https://github.com/kloczek/zabbix-templates/pulls)

    PS. Thanks for feedback goes to Tomasz T. Ciaszczyk
    http://uk.linkedin.com/pub/tomasz-k%...zko/6/940/430/
    https://kloczek.wordpress.com/
    zapish - Zabbix API SHell binding https://github.com/kloczek/zapish
    My zabbix templates https://github.com/kloczek/zabbix-templates

    Comment

    • Chewbakka-Wakka
      Junior Member
      • Feb 2018
      • 25

      #3
      Been following the changes and I've spent some time working mainly on the OS Windows template. After looking around other alternative versions of OS Windows I've not found any as comprehensive (after a bit of work). The ones on the share contain additional scripts, usually missing quite a lot of other items and no official standard as to the naming or interval timings. (with minimal LLDs). This said I have seen some good ideas in some templates or commands which can be taken out from the scripts to just be executed in a key natively.

      Made PR to the Devel branch and now this template is starting to take good shape I could use some assistance from the community to improve it (Ideally someone with good, better understanding of Windows fundamentals than I do). Until this is approved it can be found here with latest changes - https://github.com/Chewbakka-Wakka/z...l/OS%20Windows

      Note this is still a WIP and some things need work. Here is the todo list:

      Expand on Search Indexer (The one I named SIND) which needs descriptions, I also don't know the Levels from 0 - 8 what they are for and do?

      How to get Bitlocker monitored ONLY when it has been enabled.

      Same for Storage Spaces (SS) - Yes I have already seen other templates for this.

      Possibly fragmentation levels, ONLY if a HDD is used. Is defrag enabled? What are the levels?

      Remove leading : when LLD picks up drive letters, this causes the name to appear as C::: not just C:: as per rest of our naming conventions.

      Add more physical disk perf counters in LLD.

      Also unless I am blind LLD for NET discovery doesn't seem to work.

      Status of Windows Updates and or with Service Packs, to the exact build number perhaps. Do we need to update? Are we missing any critical security patches?

      Possible pending reboot value to observe.

      Add Licence details, is Windows activated? What Key was used?

      More triggers once good items are established and better understanding of linking problematic states. More graphs and or screens too.

      After trying SVC LLD it works with finding all services, issue is that trigger per service can result in one host with many alarms for minor services. Either can be left as is to investigate, or maybe disable this and only enable triggers for some static service items which are critical to functionality. May cause duplicated services though if other templates are used which refer to a specific service.

      How to migrate from statically used Perf_Counters into the use of LLD, this allows the same template to be used regardless of which version of Windows you are using, whether that be: Windows 7, Windows 10, Windows 2003, Windows 2008 etc. ( had an incomplete go in LLD looking at the SYNC items ) as the counters change between versions.

      Does anyone need FAX lol?

      GPU _Total required.

      Which is less resource intensive to collect data from Windows Perf_Counter or wmi.get calls? (249 items currently)

      AV detection.

      TSS (Terminal Services Server)

      One possible issue I have is that using wmi.get as per - https://www.zabbix.com/documentation...agent/win_keys "Execute WMI query and return the first selected object." this very much limits what can be extracted from WMI when in use, such as if I want a full listing of all software installed in plain text form, only one basic line returns and I don't think with using this key you can pass filtering within PowerShell to format the data to a single line. Could be wrong...

      wmi.get appears it would be useful.

      Use of these built in keys where possible is preferred. Wonder if Windows can be supported for some more such as:

      system.hw.macaddr[<interface>,<format>]
      system.hw.chassis[<info>] system.hw.devices[<type>]
      system.sw.packages[<package>,<manager>,<format>]

      - https://www.zabbix.com/documentation...ed_by_platform

      p.s. With Zapish it would be good if you can obscure the password entry so it is not typed in plain text to the terminal screen.
      Last edited by Chewbakka-Wakka; 01-09-2018, 14:43.

      Comment

      Working...