├── .codespell.exclude ├── .codespell.ignore-words ├── .flake8 ├── .gitignore ├── .rubocop.yml ├── .travis.yml ├── Makefile ├── README.md ├── images ├── README.md └── t-shirts │ ├── README.md │ ├── logo-horizontal-tshirt-black-modified.svg │ ├── logo-horizontal-tshirt-black.svg │ └── logo-shirt-black.svg ├── plugins ├── 2wire │ └── 2wire ├── README.md ├── accounting │ └── accounting_ ├── adguardhome │ └── adguardhome_dns ├── amavis │ ├── amavis-debian │ ├── amavis_ │ ├── amavis_awk │ └── amavis_multi ├── amr │ └── amr ├── amule │ ├── amule_queue │ ├── amule_shares │ ├── amule_transfers │ └── amule_uptime ├── apache │ ├── apache_activity │ ├── apache_average_time_last_n_requests │ ├── apache_blackbox │ ├── apache_byprojects │ │ ├── README.md │ │ ├── byprojects_access │ │ ├── byprojects_bandwidth │ │ └── byprojects_inout_bandwidth │ ├── apache_cache_disk_count │ ├── apache_memory │ ├── apache_servers │ ├── apache_smaps │ ├── apache_status │ ├── apache_threads │ ├── apache_tmemmory │ ├── apache_users │ ├── apache_vhosts │ │ ├── README.txt │ │ ├── apache_logparser │ │ ├── apache_pipelogger │ │ └── apache_vhosts │ ├── apache_watch_ │ ├── example-graphs │ │ └── apache_activity-week.png │ ├── page_load │ ├── qpid_bytedepth │ ├── qpid_discardsring │ ├── qpid_enqueuebytes │ ├── qpid_enqueuecount │ └── qpid_msgdepth ├── apt │ ├── acng │ ├── approx │ ├── apt-proxy │ └── deb_packages │ │ ├── README.md │ │ ├── deb_packages.munin.conf │ │ ├── deb_packages.py │ │ └── example-graphs │ │ ├── deb_packages.py-1.png │ │ └── deb_packages.py-week.png ├── arangodb │ └── arangodb_ ├── aris │ └── aris_players ├── arp │ ├── arp_ │ └── arp_bsd_ ├── assp │ ├── assp-envelope-recipient-statistics │ ├── assp-general-runtime-information │ ├── assp-message-statistics │ ├── assp-smtp-connection-statistics │ └── assp-smtp-handler-statistics ├── asterisk │ ├── asterisk │ ├── asterisk_14_fax_ffa │ │ ├── TEMPLATE │ │ ├── asterisk_fax_cancelled │ │ ├── asterisk_fax_current_sessions │ │ ├── asterisk_fax_failed_completed │ │ ├── asterisk_fax_iofail │ │ ├── asterisk_fax_iopartial │ │ ├── asterisk_fax_licensed_channels │ │ ├── asterisk_fax_max_concurrent │ │ ├── asterisk_fax_negotiations_failed │ │ ├── asterisk_fax_nofax │ │ ├── asterisk_fax_partial │ │ ├── asterisk_fax_protocol_error │ │ ├── asterisk_fax_success │ │ ├── asterisk_fax_switched2t38 │ │ ├── asterisk_fax_train_failure │ │ ├── asterisk_fax_txrx_attempts │ │ ├── can-install.pl │ │ ├── fax_show_stats.txt │ │ ├── fax_test │ │ └── get_fax_stats.pl │ ├── asterisk_16_fax_ffa │ │ ├── asterisk_fax_cancelled │ │ ├── asterisk_fax_channels │ │ ├── asterisk_fax_current_sessions │ │ ├── asterisk_fax_failed_completed │ │ ├── asterisk_fax_iofail │ │ ├── asterisk_fax_iopartial │ │ ├── asterisk_fax_licensed_channels │ │ ├── asterisk_fax_max_concurrent │ │ ├── asterisk_fax_negotiations_failed │ │ ├── asterisk_fax_nofax │ │ ├── asterisk_fax_partial │ │ ├── asterisk_fax_protocol_error │ │ ├── asterisk_fax_success │ │ ├── asterisk_fax_switched2t38 │ │ ├── asterisk_fax_train_failure │ │ └── asterisk_fax_txrx_attempts │ ├── asterisk_18_fax_spandsp │ │ ├── asterisk_fax_call_dropped │ │ ├── asterisk_fax_current_sessions │ │ ├── asterisk_fax_failed_completed │ │ ├── asterisk_fax_file_error │ │ ├── asterisk_fax_memory_error │ │ ├── asterisk_fax_negotiations_failed │ │ ├── asterisk_fax_nofax │ │ ├── asterisk_fax_protocol_error │ │ ├── asterisk_fax_retries_exceeded │ │ ├── asterisk_fax_rxtx_protocol_error │ │ ├── asterisk_fax_success │ │ ├── asterisk_fax_switched2t38 │ │ ├── asterisk_fax_train_failure │ │ ├── asterisk_fax_txrx_attempts │ │ └── asterisk_fax_unknown_error │ ├── asterisk_channels │ └── asterisk_inuse ├── audit │ └── portaudit ├── backup │ ├── backup.sh │ ├── example-graphs │ │ └── fresh_backups-week.png │ └── fresh-backups ├── backuppc │ └── backuppc ├── bacula │ ├── bacula_job │ └── bacula_sd ├── balanceng │ └── bng ├── battery │ ├── acpi-battery │ ├── acpi_batt_ │ ├── acpi_sys_batt_ │ ├── batteries │ └── battery_ ├── bigbrother │ └── b3error_ ├── bind │ ├── bind95_ │ ├── bind9_resolver_stats │ ├── bind9_rr │ ├── bind9_server_stats │ ├── bind9_socket_stats │ └── bind_ ├── bird │ └── bird ├── boinc │ ├── boinc_credit │ ├── boinc_estwk │ ├── boinc_processes │ ├── boinc_projs │ └── boinc_wus ├── brocade │ └── snmp__brocade_temp_module_ ├── bsd │ ├── df_abs_bsd │ ├── df_bsd │ ├── example-graphs │ │ └── netstat_bsd_m_-day.png │ ├── freebsd_hdd_power_state │ ├── netstat_bsd_m_ │ ├── openbsd-memory │ ├── openbsd-swap │ ├── spamd-blacklist-bsd │ ├── spamd-tarpit-bsd │ └── uptime_bsd ├── cacti │ ├── cacti-host │ ├── cacti_poller_time │ └── cacti_rrds ├── celery │ ├── celery_tasks │ └── celery_tasks_states ├── ceph │ ├── ceph-osd-info │ ├── ceph_capacity │ └── ceph_osd ├── change.org │ └── changeorg_signature_count ├── chat │ └── tinychat_users_ ├── cherokee │ └── munin-plugin-for-cherokee ├── chilli │ └── chilli_sessions_ ├── chrony │ ├── chrony │ ├── chrony_ │ ├── chrony_drift │ ├── chrony_sourcestats │ ├── chrony_status │ └── example-graphs │ │ ├── chrony_-day.png │ │ ├── chrony_sourcestats-1.png │ │ ├── chrony_sourcestats-2.png │ │ ├── chrony_sourcestats-3.png │ │ └── chrony_sourcestats-4.png ├── cicd │ └── drone ├── clamav │ └── clamav ├── comet │ ├── LICENSE │ ├── README.md │ ├── comet_jobs_classification │ ├── comet_jobs_status │ ├── comet_latency │ ├── comet_online_devices │ ├── comet_server.py │ ├── comet_server_history │ ├── comet_uptime │ └── example.png ├── condor │ ├── condor_activity_ │ ├── condor_ops_ │ ├── condor_queue_ │ └── condor_states_ ├── coturn │ └── coturn_sessions ├── courier │ └── courier_log ├── cpan │ └── cpanp_o ├── cpu │ ├── cpu-usage-by-process │ ├── cpu_ │ ├── cpu_by_group │ ├── cpu_by_process │ ├── cpu_osx │ ├── cpuload_ │ ├── cpuutil │ ├── example-graphs │ │ ├── cpu_by_group_KThread-day.png │ │ ├── cpu_by_group_System-day.png │ │ ├── cpu_by_group_caddy-day.png │ │ ├── multicpu1sec-c.c-days.png │ │ ├── multicpu1sec-c.c-hours.png │ │ └── multicpu1sec-c.c-minutes.png │ ├── multicpu │ ├── multicpu1sec │ ├── multicpu1sec-c.c │ ├── process_count │ ├── process_cpushare │ └── process_group ├── currency │ ├── bitcoin │ │ ├── bitcoind_ │ │ ├── btcguild_hashrate_ │ │ ├── slush_hashrate_ │ │ └── slush_reward_ │ ├── ethereum │ │ ├── ethermine_hashrate_ │ │ └── etherscan_balance_ │ ├── nanopool │ │ └── nanopool_ │ └── zcash │ │ └── zcash_flypool_hashrate_ ├── cyrus │ └── cyrus-imapd ├── darwin │ ├── dar_cpuusage │ ├── dar_memusage │ ├── dar_swap │ ├── dar_uptime │ ├── dar_vmstat │ └── dar_vpnd ├── db2 │ └── db2_cnx ├── dd-wrt │ ├── dd-wrt-wifi-devices_ │ └── example-graphs │ │ ├── dd-wrt-wifi-devices_-day.png │ │ └── dd-wrt-wifi-devices_-week.png ├── debian │ ├── deborphan │ ├── debsecan │ ├── debsecan_ │ └── example-graphs │ │ ├── debsecan_-day.png │ │ ├── debsecan_-month.png │ │ ├── debsecan_-week.png │ │ └── debsecan_-year.png ├── dhcp │ ├── dhcp-pool │ ├── dhcpd-pools │ └── kea ├── disk │ ├── btrfs_device_stats │ ├── btrfs_device_usage │ ├── btrfs_subvol_usage │ ├── df_with_nfs │ ├── dirsizes │ ├── dm_cache_occupancy_ │ ├── dm_cache_statistics_ │ ├── du │ ├── du-2 │ ├── du_multidirs │ ├── du_pattern │ ├── e2 │ ├── example-graphs │ │ ├── btrfs_device_usage-day.png │ │ ├── btrfs_subvol_usage-day.png │ │ └── quota2percent_-day.png │ ├── file_age │ ├── freedisk │ ├── gluster │ ├── hdsentinel │ ├── hp_temp │ ├── hpasmcli2_ │ ├── iostat-xfrs │ ├── linux_diskstat_ │ ├── log_sizes │ ├── lvm_ │ ├── lvm_snap_used │ ├── lvm_usage │ ├── md_iostat_ │ ├── megaraid-controller-information │ ├── megaraid-hdd-temperature-using-megacli │ ├── nvme │ ├── quota2percent_ │ ├── raid │ ├── raid-mismatch-count │ ├── raid2 │ ├── scsi_queue │ ├── smart-c │ │ ├── Makefile │ │ ├── common.c │ │ ├── common.h │ │ └── smart_.c │ ├── snmp__areca_ │ ├── snmp__hp_temp │ ├── storagebox_df │ ├── stratis │ ├── useddisk │ ├── xfs │ ├── xfs_frag │ └── zram ├── djabberd │ └── djabberd_ ├── dkim │ └── dkimproxy_mails ├── docker │ ├── docker_ │ ├── docker_cpu │ ├── docker_memory │ ├── docker_volumesize │ └── example-graphs │ │ ├── docker_cpu-day.png │ │ └── docker_memory-day.png ├── dovecot │ ├── dovecot │ ├── dovecot1 │ └── dovecot_stats_ ├── drbd │ ├── drbd │ └── drbd-stat ├── drupal │ ├── drupal_files_total.php │ ├── drupal_forums_total.php │ ├── drupal_node_distribution_count.php │ ├── drupal_page_speed_test.php │ ├── drupal_users_online.php │ └── drupal_users_total.php ├── dspam │ ├── dspam_ │ └── dspam_activity ├── dvb │ ├── 2wcomdsr_ │ └── femon ├── ejabberd │ ├── ejabberd_resources_ │ ├── ejabberd_scanlog │ ├── ejabberd_stats_ │ └── example-graphs │ │ ├── ejabberd_resources_-month.png │ │ ├── ejabberd_scanlog-day.png │ │ └── ejabberd_stats_-day.png ├── elasticsearch │ ├── elasticsearch_cache │ ├── elasticsearch_cluster_health │ ├── elasticsearch_cluster_nodes │ ├── elasticsearch_cluster_shards │ ├── elasticsearch_docs │ ├── elasticsearch_gc_time │ ├── elasticsearch_index_size │ ├── elasticsearch_index_total │ ├── elasticsearch_jvm_memory │ ├── elasticsearch_jvm_pools_size │ ├── elasticsearch_jvm_threads │ └── elasticsearch_open_files ├── emc │ ├── emc_vnx_block_lun_perfdata │ ├── emc_vnx_file_ │ └── example-graphs │ │ ├── emc_vnx_block_lun_perfdata-1.png │ │ ├── emc_vnx_block_lun_perfdata-2.png │ │ ├── emc_vnx_block_lun_perfdata-3.png │ │ ├── emc_vnx_block_lun_perfdata-4.png │ │ ├── emc_vnx_block_lun_perfdata-5.png │ │ ├── emc_vnx_block_lun_perfdata-6.png │ │ ├── emc_vnx_block_lun_perfdata-7.png │ │ ├── emc_vnx_block_lun_perfdata-8.png │ │ ├── emc_vnx_file_-1.png │ │ ├── emc_vnx_file_-2.png │ │ ├── emc_vnx_file_-3.png │ │ ├── emc_vnx_file_-4.png │ │ ├── emc_vnx_file_-5.png │ │ ├── emc_vnx_file_-6.png │ │ ├── emc_vnx_file_-7.png │ │ ├── emc_vnx_file_-8.png │ │ ├── emc_vnx_file_-9.png │ │ ├── emc_vnx_file_-a.png │ │ ├── emc_vnx_file_-b.png │ │ ├── emc_vnx_file_-c.png │ │ ├── emc_vnx_file_-g.png │ │ ├── emc_vnx_file_-h.png │ │ ├── emc_vnx_file_-i.png │ │ └── emc_vnx_file_-j.png ├── etherpadlite │ └── etherpadlite_ ├── exodus │ └── exodus_ ├── fan │ ├── dell_fans │ └── ibmfan ├── fax │ └── faxstat ├── firebird │ └── firebird ├── foomuuri │ └── foomuuri ├── fr24 │ └── fr24 ├── freeradius │ ├── freeradius │ ├── freeradius_queue │ └── freeradius_sqlippools_ ├── ftp │ ├── proftpd │ ├── proftpd_bytes │ ├── proftpd_count │ ├── pure-ftpd │ ├── pure-ftpd-bw │ ├── pure-ftpd-logs │ ├── pureftpd_count │ ├── pureftpd_traffic │ ├── vsftpd │ └── vsftpd-rel ├── funkytown │ └── denon_x311_volume ├── games │ ├── cstat │ ├── game │ └── munin-game.ini ├── gearman │ ├── gearman_queue │ └── gearman_workers ├── geowebcache │ ├── geowebcache-bandwidth │ ├── geowebcache-blankitems │ └── geowebcache-cache-hits-ratio ├── git │ ├── example-graphs │ │ ├── git_commit_behind-day.png │ │ └── git_commit_behind-week.png │ ├── git_commit_behind │ ├── gitea_commit_time_diff │ └── gitlab_statistics ├── glance │ ├── glance_size_ │ └── glance_status ├── glassfish │ └── glassfish_counters_ ├── google │ ├── google-rank │ ├── googlecode │ └── snmp__gsa_docs ├── gpsd │ ├── example-graphs │ │ ├── gps_error_estimate-day.png │ │ ├── gps_precision-day.png │ │ ├── gps_satellites-day.png │ │ ├── gps_time_offset-day.png │ │ ├── gpsd_dop-day.png │ │ └── gpsd_satellites-day.png │ ├── gpsd │ ├── gpsd.c │ └── gpsd_ ├── gpu │ ├── amd_gpu_ │ ├── nvidia_gpu_ │ ├── nvidia_smi_ │ └── nvidia_smi_.nocheck ├── groupwise │ ├── snmp__gwia_bytes_ │ ├── snmp__gwia_msgs_ │ ├── snmp__gwmta_msgs_ │ └── snmp__gwpoa_ ├── gunicorn │ ├── gunicorn_memory_status │ └── gunicorn_status ├── haproxy │ ├── haproxy-bytes │ ├── haproxy-connection-errors │ ├── haproxy-downtime │ ├── haproxy-errors │ ├── haproxy-failed-checks │ ├── haproxy-response-errors │ ├── haproxy-sessions │ ├── haproxy-sessions-by-servers │ ├── haproxy_abort_backend │ ├── haproxy_active_backend │ ├── haproxy_bytes_backend │ ├── haproxy_bytes_compressor_backend │ ├── haproxy_bytes_compressor_frontend │ ├── haproxy_bytes_frontend │ ├── haproxy_denied_backend │ ├── haproxy_denied_frontend │ ├── haproxy_errors_backend │ ├── haproxy_errors_frontend │ ├── haproxy_queue_backend │ ├── haproxy_rate_backend │ ├── haproxy_rate_frontend │ ├── haproxy_reqrate_frontend │ ├── haproxy_response_compressor_backend │ ├── haproxy_response_compressor_frontend │ ├── haproxy_responses_backend │ ├── haproxy_responses_frontend │ ├── haproxy_sessions_backend │ ├── haproxy_sessions_frontend │ ├── haproxy_sessions_total_backend │ ├── haproxy_sessions_total_frontend │ └── haproxy_warnings_backend ├── harddisks │ └── powered_up_ ├── hdfs │ ├── hadoop-dfs-plugin │ └── hadoop-under_replicated-blocks ├── heimdal │ ├── heimdal_kdc_bandwidth │ └── heimdal_kdc_requests ├── hibiscus │ ├── example-graphs │ │ ├── hibiscus_account_balances-1.png │ │ └── hibiscus_last_account_update-1.png │ ├── hibiscus_account_balances │ └── hibiscus_last_account_update ├── horde │ └── horde ├── http │ ├── example-graphs │ │ └── http_responsecode-1.png │ ├── http-response-times │ ├── http_load_ │ ├── http_pagespeed │ ├── http_request_time │ ├── http_response │ ├── http_responsecode │ ├── http_responsetime │ ├── mongrel_memory │ ├── mongrel_process_memory │ ├── multi_http_responsetime │ ├── vhost_requests_ │ └── wget_page ├── hue │ └── hue ├── i2p │ └── i2p_ ├── icecast │ ├── icecast2 │ ├── icecast2_ │ ├── icecast2_all │ ├── icecast2_simple │ ├── icecast2_stats_ │ └── icecast_ ├── icinga │ └── icinga_checks ├── ilias │ ├── example-graphs │ │ └── ilias_session-day.png │ └── ilias_session ├── imapproxy │ └── imapproxy_multi ├── ip6 │ ├── ip6_ │ └── ip6t_accounting ├── ipmi │ └── freeipmi ├── ipvs │ ├── ipvs_active │ ├── ipvs_bps │ ├── ipvs_conn │ └── ipvs_cps ├── ircd │ ├── irc2 │ └── ircd ├── isp │ ├── example-graphs │ │ ├── internode_current-day.png │ │ ├── internode_daily-week.png │ │ └── internode_usage-month.png │ └── internode_usage ├── java │ └── jmx │ │ └── plugin │ │ ├── .classpath │ │ ├── .gitignore │ │ ├── .project │ │ ├── META-INF │ │ └── MANIFEST.MF │ │ └── src │ │ └── org │ │ └── munin │ │ ├── Configuration.java │ │ └── JMXQuery.java ├── jchkmail │ └── jchkmail_counters_ ├── jellyfin │ └── jellyfin_sessions ├── jenkins │ ├── jenkins_ │ └── jenkins_nodes_ ├── jitsi │ └── jitsi_videobridge ├── jmx │ ├── examples │ │ ├── java │ │ │ ├── java_cpu.conf │ │ │ ├── java_process_memory.conf │ │ │ └── java_threads.conf │ │ └── tomcat │ │ │ ├── catalina_requests.conf │ │ │ ├── catalina_threads.conf │ │ │ ├── catalina_times.conf │ │ │ └── catalina_traffic.conf │ ├── plugin │ │ ├── jmx_ │ │ └── jmxquery.jar │ └── readme.txt ├── joomla │ └── joomla-sessions ├── jvm │ ├── jstat__gccount │ ├── jstat__gctime │ ├── jstat__heap │ ├── jvm_sun_memory │ ├── jvm_sun_minorgcs │ └── jvm_sun_tenuredgcs ├── kamailio │ ├── README.md │ ├── kamailio_memory │ ├── kamailio_mysql_shared_memory │ └── kamailio_transactions_users ├── keystone │ └── keystone_stats ├── knot │ └── knot ├── languagetool │ └── languagetool_checks ├── libreoffice │ └── loolwsd ├── libretranslate │ └── libretranslate_requests ├── libvirt │ ├── kvm_cpu │ ├── kvm_io │ ├── kvm_mem │ ├── kvm_net │ ├── libvirt │ └── munin-libvirtpy ├── licensing │ └── flexlm_ ├── lighttpd │ └── lighttpd_ ├── load │ └── load_extended ├── logins │ └── logins ├── logs │ ├── example-graphs │ │ ├── loggrepx_-day.png │ │ ├── loggrepx_-week.png │ │ ├── service_events-day.png │ │ └── service_events-week.png │ ├── loggrepx_ │ └── service_events ├── luftdaten │ └── feinstaubsensor ├── lustre │ ├── lustre_df │ ├── lustre_df_abs │ ├── lustre_df_absfree │ └── lustre_df_inodes ├── lxc │ └── lxc_guests ├── lxd │ ├── lxd_disk │ └── lxd_mem ├── mail │ ├── eoc_subscribers_count │ ├── imap_bandwidth │ ├── mail_connections │ ├── nullmailer_queue │ ├── opensmtpd │ ├── postfwd-rbl │ └── procmail_ ├── mailman │ ├── mailman-queue-check │ └── mailman_subscribers ├── mediawiki │ ├── mediawiki │ └── mediawiki_api ├── memcached │ ├── memcached_bytes_ │ ├── memcached_bytes_all │ ├── memcached_connections_ │ ├── memcached_ext_bytes_ │ ├── memcached_ext_connections_ │ ├── memcached_ext_hits_ │ ├── memcached_ext_items_ │ ├── memcached_ext_requests_ │ ├── memcached_ext_traffic_ │ ├── memcached_hits_ │ ├── memcached_items_ │ ├── memcached_multi_ │ ├── memcached_requests_ │ ├── memcached_servers_ │ └── memcached_traffic_ ├── memory │ ├── kmemsum │ ├── memory_by_process │ ├── memory_osx │ ├── multimemory │ ├── proc_mem │ └── proc_memory_status ├── minecraft │ ├── bukkit-jsonapi-players │ ├── bukkit-jsonapi-ramusage │ ├── bukkit-jsonapi-tps │ ├── bukkit-statistician-killshostile │ ├── bukkit-statistician-killsneutral │ ├── bukkit-statistician-killspassive │ ├── bukkit-statistician-players │ ├── bukkit-ultrabans-shame │ ├── minecraft-users │ └── minecraft-users-ram_ ├── mixminion │ └── mixminion ├── moblock │ └── moblock_connections ├── mod_jk │ └── mod_jk ├── mogilefs │ ├── mogilefsd_activity │ └── mogilefsd_queries ├── moinmoin │ └── moinmoin_pages ├── mongodb │ ├── mongo_btree │ ├── mongo_collection_ │ ├── mongo_conn │ ├── mongo_lag │ ├── mongo_lock │ ├── mongo_mem │ ├── mongo_ops │ ├── mongodb_conn │ ├── mongodb_cpu │ ├── mongodb_docs │ ├── mongodb_multi │ └── mongodb_ram ├── monit │ └── monit_parser ├── moodle │ ├── moodle_files │ ├── moodle_logs │ ├── moodle_mod_chat │ ├── moodle_mod_forum │ ├── moodle_mod_quiz │ ├── moodle_modules_total │ ├── moodle_users_online │ └── moodle_users_total ├── mpd │ ├── example-graphs │ │ └── mpdstats_-day.png │ └── mpdstats_ ├── mssql │ ├── microsoft-sql │ ├── microsoft-sql-buffer-cache-hit-ratio │ ├── microsoft-sql-data-file-sizes │ └── microsoft-sql-log-file-size ├── mumble │ ├── mumble_users │ └── murmur-stats ├── munin │ ├── healthcheck_log │ ├── healthcheck_process │ ├── healthcheck_url │ ├── munin_events │ ├── munin_stats_plugins │ └── update ├── mysql │ ├── hs_read │ ├── hs_write │ ├── mysql-schema-size │ ├── mysql-table-size │ ├── mysql_aggregate_ │ ├── mysql_audit │ ├── mysql_connections │ ├── mysql_connections_per_user │ ├── mysql_disk_by_prefix │ ├── mysql_qcache │ ├── mysql_qcache_mem │ ├── mysql_report │ ├── mysql_size_ │ ├── mysql_size_all │ ├── mysql_size_ondisk │ ├── mysql_slave │ └── mysql_slave_threads ├── mythtv │ ├── dvb-signal │ ├── mythtv_programs │ └── mythtv_status_ ├── nagios │ ├── nagios_multi_ │ └── nagiosstatus ├── naxsi │ └── naxsi_exceptions ├── netapp │ ├── snmp__netapp_cifs │ ├── snmp__netapp_cifs2 │ ├── snmp__netapp_cifscalls │ ├── snmp__netapp_cpu │ ├── snmp__netapp_cpu2 │ ├── snmp__netapp_diskbusy │ ├── snmp__netapp_diskusage2_ │ ├── snmp__netapp_diskutil │ ├── snmp__netapp_ndmp │ ├── snmp__netapp_net │ ├── snmp__netapp_nfs3calls │ ├── snmp__netapp_ops │ ├── snmp__netapp_reallocate │ └── snmp__netapp_sis ├── netscaler │ ├── snmp__netscaler_connections │ └── snmp__netscaler_cpu ├── network │ ├── bandwidth-OVH-Network │ ├── bandwidth_ │ ├── bgpd │ ├── brc_rssi │ ├── count-me │ ├── dansguardian │ ├── ddclient │ ├── denyhosts │ ├── dns │ │ ├── dnsperftest │ │ ├── dnsresponse_ │ │ ├── example-graphs │ │ │ ├── dnsperftest-day.png │ │ │ └── dnsresponse_-day.png │ │ └── nsd_ │ ├── ethtool_ │ ├── example-graphs │ │ ├── netstat_s_-day.png │ │ ├── netstat_s_-month.png │ │ ├── olsrd-link_quality_day.png │ │ ├── olsrd-neighbour_link_count_day.png │ │ ├── tc_-day.png │ │ └── tc_-week.png │ ├── fms │ ├── fms_apps │ ├── fms_apps_rate │ ├── fwbuilder_ │ ├── hfsc │ ├── hfsc_sep │ ├── host_traffic │ ├── hostsdeny │ ├── http__tp_link │ ├── if │ ├── if1sec-c.c │ ├── if1sec_ │ ├── if_uptime │ ├── ifem_ │ ├── interfaces_linux_multi │ ├── ip_forward_ │ ├── iperf_ │ ├── ipfwcnt_ │ ├── ipfwnat_ │ ├── ipsec │ ├── ipset │ ├── ipt_accounting_ │ ├── ipt_basic_ │ ├── keepalived │ ├── ldap_connections │ ├── linux_if │ │ ├── README.md │ │ ├── example-graphs │ │ │ ├── linux_if-1.png │ │ │ └── linux_if-2.png │ │ └── linux_if │ ├── mtr100_ │ ├── multibandwidth │ ├── multiping_async │ ├── net_hosts_ │ ├── netatalk │ ├── netatalk3 │ ├── netstat_s_ │ ├── nft_counter │ ├── nsd3 │ ├── nsr_device_writing │ ├── olsrd │ ├── packetloss │ ├── pgld │ ├── proc_netstat │ ├── psad │ ├── qos_ │ ├── quagga_routes │ ├── radio │ ├── shorewall-accounting_ │ ├── shorewall_ │ ├── shorewall_acc │ ├── smtp_hello_ │ ├── sockstat │ ├── sockstat-via-procfs │ ├── speedtest-download-bandwidth │ ├── tc_ │ ├── tc_drops_ │ ├── tc_packets_ │ ├── traffic │ ├── traffic_ipt │ ├── transmission │ │ ├── README.md │ │ ├── transmission_ │ │ ├── transmission_activity_example_day_.png │ │ ├── transmission_ratios │ │ ├── transmission_status_example_day.png │ │ └── transmission_traffic_example_day.png │ ├── ubiquiti_airfiber_ │ ├── ubiquiti_airos_ │ ├── umts_sig │ ├── upnp_router_ │ ├── upnpc_ │ ├── vnstat │ ├── vnstat_ │ ├── vnstat_month │ ├── whois │ ├── windows_domain │ └── zenus_ ├── newznab │ └── nn_ ├── nextcloud │ ├── nextcloud_ │ ├── nextcloud_groupfolders_ │ └── signaling ├── nfs-freebsd │ ├── README.rst │ ├── nfs_client │ ├── nfs_client_cache │ └── nfsd ├── nfs │ └── nfsv4 ├── nginx │ ├── example-graphs │ │ └── nginx_connection_request-month.png │ ├── nginx-cache-hit-rate │ ├── nginx-cache-multi_ │ ├── nginx-combined │ ├── nginx_byprojects │ │ ├── LICENSE.txt │ │ ├── README.md │ │ ├── byprojects_access │ │ ├── byprojects_bandwidth │ │ └── byprojects_inout_bandwidth │ ├── nginx_connection_request │ ├── nginx_error │ ├── nginx_memory │ ├── nginx_upstream │ ├── nginx_upstream_multi_ │ ├── nginx_vhost_traffic │ ├── nginx_vts │ └── nginx_working_set ├── nginx_unit │ └── nginx_unit ├── nova │ ├── nova_floating_ips │ ├── nova_instance_ │ ├── nova_instance_launched │ ├── nova_instance_timing │ └── nova_services ├── nscd │ └── nscd_ ├── nsd │ └── nsd_requests ├── ntp │ ├── ntp_drift │ ├── ntp_kernel_pll_prec │ ├── ntp_kernel_pll_tol │ ├── ntp_packets │ ├── ntp_peers │ ├── ntp_peers_ipv6 │ ├── ntp_pool_score_ │ ├── ntp_queries │ └── ntpdate_ ├── omreport │ ├── omreport_fan_speed │ ├── omreport_pwrmon_current │ ├── omreport_pwrmon_power │ ├── omreport_storage_temp │ └── omreport_temp ├── onlyoffice │ └── onlyoffice ├── openfire │ └── openfire_ ├── openntpd │ └── openntp_offset ├── openstack │ └── openstack_swift_stats_ ├── openvz │ ├── openvz-load-avg │ ├── openvz_ │ ├── openvzcpu │ └── vpsmem ├── openwrt │ └── snmp__memory_openwrt ├── oracle │ ├── example-graphs │ │ ├── oracle_sysstat-1.png │ │ └── oracle_sysstat-2.png │ ├── oracle-pga-monitor │ ├── oracle-sga │ ├── oracle__connections │ ├── oracle__database_hitratio │ ├── oracle__locks │ ├── oracle__tablespace_usage │ ├── oracle_connections │ ├── oracle_sysmetricspl │ └── oracle_sysstat ├── ossec │ ├── ossec_active_response │ ├── ossec_agents │ └── ossec_alerts ├── other │ ├── beanstalkd │ ├── cm2 │ ├── delayed_jobs_queue_size │ ├── earthquakes │ ├── earthquakes-stronger-than-m4-and-m5-plus-solar-act │ ├── foldingathome_activecpu │ ├── freebsd-upgrades │ ├── globesurfer │ ├── hookbox │ ├── ksm_ │ ├── listeners │ ├── morenin │ ├── opentracker_ │ ├── pacman_pending_updates │ ├── pacman_unrequired_packages │ ├── pid │ ├── port_ │ ├── proc_ │ ├── radwho_cnt │ ├── s9y │ ├── services │ ├── xcache_hits │ └── xcache_items ├── passenger │ ├── passenger_memory │ ├── passenger_processes │ └── passenger_status ├── pdns │ ├── pdns_errors │ ├── pdns_latency │ ├── pdns_qsize │ ├── pdns_queries │ ├── pdns_rec_answers │ ├── pdns_rec_cache │ ├── pdns_rec_cache_size │ ├── pdns_rec_concurrent │ ├── pdns_rec_issues │ ├── pdns_rec_outqueries │ ├── pdns_rec_qtypes │ ├── pdns_rec_querylatency │ ├── pdns_rec_questions │ ├── pdns_rec_throttle │ ├── pdns_rec_unauth │ └── pdns_rel ├── percona │ └── percona_ ├── pf │ ├── pf │ ├── pf_bytes │ ├── pf_ipv4_ipv6_packets │ ├── pf_openbsd │ ├── pf_packets │ ├── pf_states │ └── pf_tables_ ├── php │ ├── eaccelerator │ ├── eaccelerator-python │ ├── eaccelerator-usage │ ├── hhvm_ │ ├── php-cgi │ ├── php-fastcgi │ ├── php_apc.php │ ├── php_apc_ │ ├── php_eaccelerator │ ├── php_errors_ │ ├── php_fpm_process │ ├── php_fpm_status │ ├── php_opcache │ ├── php_opcache.php │ ├── php_sessions │ ├── php_time_execution │ └── php_xcache ├── ping │ ├── example-graphs │ │ └── ping-day.png │ ├── fping_ │ ├── multi_tcp_ping │ ├── multiping │ ├── ping │ ├── ping-with-ceil │ ├── ping_host │ └── pinger ├── poseidon │ └── snmp__poseidon-sensors ├── postfix │ ├── greyfix │ ├── policyd-spf-python │ ├── postfix-policyd │ ├── postfix-queue-size │ ├── postfix-rbl-blocked-mails │ ├── postfix_filtered │ ├── postfix_filtered_awk │ ├── postfix_mail_stats │ ├── postfix_mail_stats1 │ ├── postfix_mailfiltered │ ├── postfix_mailqueue_ │ ├── postfix_mailqueuelog_ │ ├── postfix_mailstats │ ├── postfix_mailstats_ │ ├── postfix_mailvolume_multi │ ├── postfix_stats │ ├── postfwd2 │ ├── postgrey │ └── postgrey-new ├── postgresql │ ├── pg__connections │ ├── pgbouncer_ │ ├── pgbouncer_client_connections │ ├── pgbouncer_maxwait │ ├── pgbouncer_server_connections │ ├── postgres_block_read_ │ ├── postgres_locks │ ├── postgres_queries2_ │ ├── postgres_queries3_ │ ├── postgres_size_detail_ │ ├── postgres_space_ │ ├── postgres_tuplesratio_ │ ├── postgresql_active_backends │ ├── postgresql_active_backends_by_database │ ├── postgresql_active_locks │ ├── postgresql_database_ratio │ ├── postgresql_database_size │ ├── postgresql_tablespace_size │ ├── postgresql_transactions │ ├── slony_ │ ├── slony_lag_events_ │ ├── slony_lag_time │ └── slony_lag_time_ ├── power │ ├── apc_status │ ├── apcupsd_pct │ ├── apcupsd_ww │ ├── currentcost │ ├── eatonups_ │ ├── nut │ ├── nutups2_ │ ├── snmp__apc_pdu │ ├── snmp__apc_ups │ ├── snmp__ipoman_ │ ├── snmp__sentry │ ├── snmp__ups_ │ ├── tasmota_ │ └── upsmonpro_ ├── power5 │ ├── consumed_cpu_cycles │ ├── cpu_entitlemens │ ├── cpu_in_lpar │ └── weight_of_a_lpar ├── powermta │ ├── pmta_ │ └── powermta_vmta_recpients ├── printer │ ├── dell_5310n_health_ │ ├── dell_5310n_pages_ │ ├── hp2600_count_ │ ├── hp2600_status_ │ ├── oki_c5500_health_ │ ├── oki_c5500_pages_ │ ├── snmp__hpclj │ ├── toshiba_5520c_byfunction_black_ │ ├── toshiba_5520c_byfunction_fullcolor_ │ ├── toshiba_5520c_print_ │ ├── toshiba_5520c_scan_ │ ├── xerox-wc3220 │ └── xerox-wc7232-consumables ├── prosody │ ├── README.md │ ├── prosody_ │ ├── prosody_0.12_ │ └── prosody_openmetrics ├── proxmox │ └── proxmox_vm_count ├── puma │ └── puma_ ├── punbb │ └── punbb_users ├── puppet │ ├── example-graphs │ │ ├── puppet_runtime-day.png │ │ └── puppetdb-day.png │ ├── puppet_runtime │ └── puppetdb ├── qmail │ ├── qmailconn │ ├── qmailsend │ ├── qmailsend_plesk │ ├── qremote │ ├── queuestats │ └── spamdyke ├── qpsmtpd │ └── qpsmtpd_mailstats ├── quake │ ├── qstat │ ├── qstatcod4and5_ │ ├── qstatet_ │ └── qstatqw_ ├── rabbitmq │ ├── rabbitmq_connections │ ├── rabbitmq_consumers │ ├── rabbitmq_messages │ ├── rabbitmq_messages_unacknowledged │ ├── rabbitmq_messages_uncommitted │ └── rabbitmq_queue_memory ├── rackspace │ ├── README │ ├── rackspace_cdn_count.php │ └── rackspace_cdn_size.php ├── radiator │ ├── radiator_acct_lag │ ├── radiator_acct_ppm │ ├── radiator_auth_lag │ └── radiator_auth_ppm ├── raspberry-pi │ ├── cpu_freq_1sec │ ├── raspi_temp │ ├── rpi_temp │ └── w1_ ├── reddit_karma │ └── reddit_karma_ ├── redis │ ├── redis │ ├── redis-speed │ └── resque ├── relayd │ └── relayd ├── requesttracker │ └── rt_ticket_loadtime ├── resolvectl │ └── resolvectl ├── rethinkdb │ └── rethinkdb_node_io ├── riak │ ├── riak_fsm_time_95 │ ├── riak_memory │ └── riak_node ├── router │ ├── ag241-adsl │ ├── arris-sb6183 │ ├── arris-sb8200 │ ├── arris-tg3442 │ ├── arris-tm502g_ │ ├── avm-fritzbox-wan-traffic │ ├── bbox │ ├── cisco-epc3010_ │ ├── cisco_bgp_ │ ├── conexant_adsl │ ├── d-link-dir-655-router-statistics-plugin │ ├── dartybox │ ├── dsl-connection-speed │ ├── dsl-stats │ ├── example-graphs │ │ ├── freebox_adsl-day.png │ │ ├── freebox_adsl_errors-day.png │ │ ├── freebox_traffic-day.png │ │ ├── freebox_uptime-day.png │ │ └── freebox_users-day.png │ ├── freebox │ ├── freeboxuptime │ ├── mikrotik_system │ ├── modem-nvg510 │ ├── motorola_sb6141 │ ├── snmp__cisco_ │ ├── snmp__cisco_sbs_cpu │ ├── snmp__juniper │ ├── snmp__juniper_spu │ ├── snmp__linksys_poe │ ├── snmp__mikrotik │ ├── snmp__screenos │ ├── snmp_zyxel_usg__cpu │ ├── snmp_zyxel_usg__ram │ ├── snmp_zyxel_usg__sessions │ ├── snmp_zyxel_zywall__cpu │ ├── snmp_zyxel_zywall__flash │ ├── snmp_zyxel_zywall__ram │ ├── snmp_zyxel_zywall__sessions │ ├── speedport_300 │ ├── technicolor_tc8715d │ └── tg585v7__ ├── rsnapshot │ └── rsnapshot_duration ├── rsync │ ├── rsyncd_bytes │ └── rsyncd_count ├── rtorrent │ ├── rtom_allsessions_mem │ ├── rtom_allsessions_peers │ ├── rtom_allsessions_spdd │ ├── rtom_allsessions_vol │ ├── rtom_mem │ ├── rtom_peers │ ├── rtom_spdd │ └── rtom_vol ├── s3 │ ├── s3_items │ └── s3_storage ├── sabnzbd │ ├── sabnzbd_dataleft │ └── sabnzbd_speed ├── samba │ ├── samba_locked │ └── samba_users ├── san │ └── emc_comprehensive │ │ └── emc_comprehensive ├── sar │ └── iostat-cputps-average ├── scalix │ ├── scalix_clients │ ├── scalix_indexwork │ ├── scalix_processes │ └── scalix_queues ├── security │ ├── crowdsec │ ├── example-graphs │ │ ├── fail2ban_-1.png │ │ ├── fail2ban_-2.png │ │ ├── fail2ban_-3.png │ │ └── fail2ban_-4.png │ ├── fail2ban_ │ └── forefront_ ├── senderbase │ └── senderbase ├── senderscore │ └── senderscore ├── sendmail │ └── sendmail_mailq ├── sensors │ ├── adb_temperatures │ ├── alertme_keyfobsathome │ ├── alertme_power │ ├── allnet__ │ ├── cleware │ ├── example-graphs │ │ ├── adb_temperatures-day.png │ │ ├── adb_temperatures-week.png │ │ ├── switchbotmeter-1.png │ │ ├── switchbotmeterbt-1.png │ │ ├── switchbotplugmini-1.png │ │ └── turbostat_watt-day.png │ ├── hwmon │ ├── ip_thermo_125 │ ├── mbmon │ ├── nvclock │ ├── sequoia_websens │ ├── switchbotmeter │ ├── switchbotmeter_multi │ ├── switchbotmeterbt │ ├── switchbotplugmini │ ├── turbostat_ │ ├── voltcraft_tcm220_ │ ├── w1-therm │ └── w1_multi ├── sfsnmp │ ├── snmp__sfsnmp_fan │ ├── snmp__sfsnmp_temp │ └── snmp__sfsnmp_volt ├── sge │ ├── sge_job_stats │ ├── sge_queue_ │ └── sge_queue_xml_ ├── shorewall │ └── shorewall_log ├── shoutcast │ ├── shoutcast │ └── shoutcast2_multi ├── sickbeard │ ├── sickbeard │ ├── sickbeard_episodes │ └── sickbeard_shows ├── smf │ ├── smf_errors │ ├── smf_mail_queue │ ├── smf_online │ └── smf_stats ├── smstools │ └── smstools_ ├── snmp │ ├── example-graphs │ │ ├── snmp__fn-cpu.png │ │ ├── snmp__fn-memory.png │ │ ├── snmp__fn-sessions.png │ │ ├── snmp__fn-vpnsessions.png │ │ ├── snmp_if_combined-1.png │ │ └── snmp_if_combined-day.png │ ├── multi_snmp_querier │ ├── snmp___bri_se_ │ ├── snmp__airport │ ├── snmp__brocade_ifs │ ├── snmp__cpu_usage │ ├── snmp__cyberpower │ ├── snmp__fn │ ├── snmp__if_combined │ ├── snmp__rms2_ │ ├── snmp__webthermometer │ ├── snmp__wmsconnectedplayers │ ├── snmp__wmsplayerallocatedbandwidth │ ├── snmp__wmsstreaminghttpplayers │ ├── snmp__wmsstreamingmmsplayers │ ├── snmp__wmsstreamingplayers │ ├── snmp__wmsstreamingrtspplayers │ └── snmp_room_alert_ ├── solar │ ├── deye │ ├── example-graphs │ │ └── fronius-week.png │ ├── fronius │ ├── solarman_api_inverter │ └── sun2000_ ├── solaris │ ├── forks │ ├── fsstat_act_ │ ├── fsstat_bytes │ ├── interrupts │ ├── io_disk │ ├── solaris-memstat │ ├── zones_cpu │ └── zones_mem ├── solr │ ├── solr-stats │ ├── solr4_ │ └── wfsolr_ ├── sourceds │ ├── srcds_cpu │ ├── srcds_fps │ ├── srcds_inout │ ├── srcds_players │ └── srcds_uptime ├── spamassasin │ └── sa-learn ├── sphinx │ ├── sphindex_ │ ├── sphinx_connections │ ├── sphinx_documents │ └── sphinx_queries ├── spotweb │ ├── spotweb_average │ ├── spotweb_cat_average │ ├── spotweb_cat_total │ ├── spotweb_catsize_average │ └── spotweb_total ├── squeezebox │ └── squeezebox_multi ├── squid │ ├── squid │ ├── squid_efficiency │ └── squid_times ├── ssh │ ├── example-graphs │ │ ├── hostdenied-week.png │ │ ├── sshd_log-day.png │ │ └── sshd_log-month.png │ ├── hostdenied │ ├── openssh-denyhosts │ ├── sshd_invalid_countries │ ├── sshd_invalid_countries_ruby │ └── sshd_log ├── ssl │ ├── certbot_expiry │ ├── certificate_file_expiry │ ├── example-graphs │ │ ├── letsencrypt_weekly-1.png │ │ └── letsencrypt_weekly-2.png │ ├── letsencrypt_weekly │ ├── ssl-certificate-expiry │ └── ssl_ ├── streaming │ └── packetship_ ├── swap │ └── swapspace-info ├── swift │ ├── swift-async_ │ ├── swift-dispersion │ ├── swift-quarantined_ │ └── swift-replication-time_ ├── synapse │ ├── mas_ │ └── synapse_ ├── syncthing │ ├── example-graphs │ │ ├── strelaysrv_-1.png │ │ ├── strelaysrv_-2.png │ │ ├── strelaysrv_-3.png │ │ ├── strelaysrv_-4.png │ │ ├── syncthing_-1.png │ │ ├── syncthing_-2.png │ │ ├── syncthing_-3.png │ │ ├── syncthing_-4.png │ │ └── syncthing_-5.png │ ├── strelaysrv_ │ └── syncthing_ ├── synology │ ├── snmp__synology │ ├── snmp__synology_hddtemp │ ├── snmp__synology_temperature │ └── snmp__synology_ups ├── syslog │ └── syslog_ng_stats ├── system │ ├── auth │ ├── blockhosts │ ├── cpu_linux_multi │ ├── example-graphs │ │ ├── inotify-day.png │ │ ├── kernel_same_page_merging-month.png │ │ └── zswap-daily.png │ ├── file_length_ │ ├── fresh-backups │ ├── hugepages │ ├── inotify │ ├── irq │ ├── kernel_same_page_merging │ ├── linux_psi │ ├── pagefaults_by_process │ ├── raminfo │ ├── read_serial_temperature │ ├── top-free-memory │ ├── top-memory │ ├── total_by_process_ │ └── zswap ├── systemd │ ├── example-graphs │ │ └── systemd_mem-day.png │ ├── systemd_mem │ ├── systemd_status │ ├── systemd_units │ └── timesync_status ├── tarsnap │ ├── README.md │ └── tarsnap ├── tcp │ ├── tcp-retransmissions │ └── tcp-states ├── teamspeak │ ├── teamspeak_user │ ├── ts3v2_ │ └── tsuser ├── tesla │ ├── example-graphs │ │ ├── tesla_wall_connector_temperature-day.png │ │ ├── tesla_wall_connector_voltage-week.png │ │ └── tesla_wall_connector_wifi-week.png │ └── tesla_wall_connector_ ├── thecus │ └── snmp__thecus_fans ├── thin │ ├── thin_memory │ ├── thin_threads │ └── thins_peak_memory ├── tinydns │ ├── tinydns │ └── tinydns_err ├── tomcat │ └── tomcat_access ├── tor │ ├── example-graphs │ │ ├── tor_-1.png │ │ ├── tor_-2.png │ │ ├── tor_-3.png │ │ ├── tor_-4.png │ │ ├── tor_-5.png │ │ ├── tor_-6.png │ │ └── tor_-7.png │ ├── tor-bandwidth-usage │ ├── tor-connections │ ├── tor-traffic │ ├── tor_ │ ├── tor_routers │ └── tor_traffic ├── torrent │ ├── deluge_ │ └── example-graphs │ │ ├── deluge_bandwidth-day.png │ │ ├── deluge_peers-day.png │ │ └── deluge_states-day.png ├── tplink │ ├── example-graphs │ │ └── tl_sg-day.png │ └── tl_sg ├── trafic_ro │ └── trafic_ro_24h ├── tv │ └── hdhomerun_ ├── twemproxy │ └── nutcracker_requests_ ├── ubiquiti │ ├── example-graphs │ │ ├── unifi_api-clients_by_device-detail.png │ │ ├── unifi_api-clients_by_device.png │ │ ├── unifi_api-clients_by_type-detail.png │ │ ├── unifi_api-clients_by_type.png │ │ ├── unifi_api-device_cpu.png │ │ ├── unifi_api-device_load.png │ │ ├── unifi_api-device_mem.png │ │ ├── unifi_api-device_uptime.png │ │ ├── unifi_api-xfer_by_device-detail.png │ │ ├── unifi_api-xfer_by_device.png │ │ ├── unifi_api-xfer_by_network-detail.png │ │ ├── unifi_api-xfer_by_network.png │ │ ├── unifi_api-xfer_by_port-detail.png │ │ ├── unifi_api-xfer_by_port.png │ │ ├── unifi_api-xfer_by_radio-detail.png │ │ ├── unifi_api-xfer_by_radio.png │ │ └── unifi_api-xfer_by_uplink.png │ └── unifi_api ├── ubuntu │ ├── apt_ubuntu │ └── ubuntu-mirrors ├── udp │ └── udp-statistics ├── ultramonkey │ └── ultramonkey-l7 ├── unicorn │ ├── unicorn_ │ ├── unicorn_memory_status │ └── unicorn_status ├── user │ ├── cpubyuser │ ├── cronjobs │ ├── membyuser │ ├── multipsu │ ├── proc_mem_by_user │ ├── procbyuser │ └── system_users ├── uucp │ └── uustat ├── uwsgi │ └── uwsgi_ ├── varnish │ ├── README-varnish4.md │ ├── README.rst │ ├── varnish │ ├── varnish2_ │ ├── varnish4_ │ ├── varnish5_ │ └── varnish_devicedetect ├── vbulletin │ ├── vbulletin4_users │ └── vbulletin_users ├── vdr │ └── vdr_ ├── virtualbox │ ├── virtualbox_cpu_kernel │ ├── virtualbox_cpu_user │ └── virtualbox_ram_usage ├── vmware │ ├── esx_ │ ├── esxcli_env_ │ ├── esxi │ ├── esxi__sensors │ ├── fusion_ │ └── vm_cpu_load ├── voip │ ├── murmur_ice_users │ ├── murmur_users │ ├── murmurice_host_port_id_description │ ├── murmurice_host_port_id_description_avg │ └── zapchans ├── voldemort │ └── voldemort ├── vpn │ ├── openvpn_as_mtime │ ├── openvpn_as_traffic │ ├── openvpn_as_ttime │ ├── openvpn_as_users │ └── openvpn_multi ├── vserver │ ├── vserver_jiffies │ ├── vserver_limit_hits │ ├── vserver_limits │ └── vserver_procs ├── weather │ ├── buienradar_ │ ├── example-graphs │ │ └── wunderground_STATION-week.png │ ├── humidity-sensor │ ├── novra_s300 │ ├── openweather_ │ ├── temperature_ │ ├── temperatures │ ├── weather_ │ ├── weather_hum_ │ ├── weather_press_ │ ├── weather_temp_ │ ├── wfrog │ └── wunderground_ ├── websphere │ └── webspherelogin ├── wifi │ ├── ath9k_ │ ├── example-graphs │ │ ├── ath9k_-stats_phy0_dfs_events_year.png │ │ ├── ath9k_-stats_phy0_phy0_wlan0_events_day.png │ │ ├── ath9k_-stats_rcstats_day.png │ │ ├── wireless_channel_active_-week.png │ │ ├── wireless_channel_active_-year.png │ │ ├── wireless_channel_occupation_-day.png │ │ ├── wireless_signal_noise_-day.png │ │ └── wireless_signal_ranges_-day.png │ ├── wifi_signal │ ├── wireless_channel_active_ │ ├── wireless_channel_occupation_ │ ├── wireless_signal_noise_ │ └── wireless_signal_ranges_ ├── wireguard │ ├── example-graphs │ │ ├── wireguard_peer_count.png │ │ └── wireguard_peer_traffic.png │ └── wireguard_ ├── wordpress │ ├── wordpress │ ├── wordpress-mu-or-network │ ├── wordpress-multisite │ └── wordpress2 ├── wowza │ └── wowza-media-server ├── wuala │ └── wuala_stats ├── xastir │ └── xastir ├── xbnbt │ └── xbnbt_peers ├── xen │ ├── xen │ ├── xen-cpu │ ├── xen-multi │ ├── xen_cpu_v2 │ ├── xen_memory │ ├── xen_traffic_ │ ├── xen_traffic_all │ └── xen_vbd ├── yacy │ └── yacy ├── yum │ └── yum_activity ├── zfs │ ├── example-graphs │ │ ├── zfs_arcstats-1.png │ │ ├── zfs_arcstats-2.png │ │ ├── zpool_iostat-month.png │ │ └── zpool_iostat-week.png │ ├── zfs-filesystem-graph │ ├── zfs-stats-for-freebsd-arc-efficiency │ ├── zfs-stats-for-freebsd-arc-utilization │ ├── zfs-stats-for-freebsd-cache-hits-by-cache-list │ ├── zfs-stats-for-freebsd-cache-hits-by-data-type │ ├── zfs-stats-for-freebsd-dmu-prefetch │ ├── zfs_arcstats │ ├── zfs_cache_efficiency │ ├── zfs_list │ ├── zfs_pool_dataset_count │ ├── zfs_stats_ │ ├── zfs_usage_ │ ├── zfsarcstats-counters │ ├── zfsonlinux_stats_ │ ├── zlist │ ├── zpool_capacity │ ├── zpool_fragmentation │ └── zpool_iostat ├── zimbra │ └── zimbra-mailboxsizes ├── znc │ ├── README.md │ ├── example-graphs │ │ └── znc_logs.py-day.png │ └── znc_logs.py └── zope │ ├── README-zodb │ ├── scripts_zodb │ ├── munin_cache_parameters.py │ └── munin_db_activity.py │ ├── zeo_monitor_ │ ├── zeomonitor │ ├── zope_cache_parameters │ ├── zope_conflict_errors │ └── zope_db_activity ├── samples └── munin.conf │ └── Overviews ├── t ├── test-exception-wrapper ├── test-exception-wrapper.expected-failures └── test.t ├── templates ├── muncollapse │ ├── .gitignore │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── sample-image │ │ ├── sample-group.png │ │ ├── sample-home.png │ │ ├── sample-node.png │ │ └── sample-zoom.png │ ├── static │ │ ├── css │ │ │ └── style-munstrap.css │ │ └── js │ │ │ └── dynazoom.js │ └── templates │ │ ├── munin-categoryview.tmpl │ │ ├── munin-comparison-day.tmpl │ │ ├── munin-comparison-month.tmpl │ │ ├── munin-comparison-week.tmpl │ │ ├── munin-comparison-year.tmpl │ │ ├── munin-domainview.tmpl │ │ ├── munin-nodeview.tmpl │ │ ├── munin-overview.tmpl │ │ ├── munin-problemview.tmpl │ │ ├── munin-serviceview.tmpl │ │ └── partial │ │ ├── bottom_navigation.tmpl │ │ ├── compare_navigation.tmpl │ │ ├── footer.tmpl │ │ ├── footer_pre.tmpl │ │ ├── head.tmpl │ │ ├── logo_navigation.tmpl │ │ └── search_and_reload.tmpl ├── munstrap │ ├── LICENSE │ ├── README.md │ ├── sample-node.jpg │ ├── sample-zoom.jpg │ ├── sample.jpg │ ├── static │ │ ├── css │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.css.map │ │ │ ├── style-munstrap.css │ │ │ └── style-munstrap.min.css │ │ ├── fonts │ │ │ ├── glyphicons-halflings-regular.eot │ │ │ ├── glyphicons-halflings-regular.svg │ │ │ ├── glyphicons-halflings-regular.ttf │ │ │ ├── glyphicons-halflings-regular.woff │ │ │ └── glyphicons-halflings-regular.woff2 │ │ ├── img │ │ │ ├── favicon.ico │ │ │ ├── favicon.png │ │ │ └── logo-munin.png │ │ └── js │ │ │ ├── bootstrap.min.js │ │ │ ├── dynazoom.js │ │ │ ├── dynazoom.min.js │ │ │ ├── formatdate.js │ │ │ ├── formatdate.min.js │ │ │ ├── jquery.min.js │ │ │ ├── jquery.min.map │ │ │ ├── lazysizes.min.js │ │ │ ├── munstrap.js │ │ │ ├── munstrap.min.js │ │ │ ├── querystring.js │ │ │ └── querystring.min.js │ └── templates │ │ ├── logo.png │ │ ├── munin-categoryview.tmpl │ │ ├── munin-comparison-day.tmpl │ │ ├── munin-comparison-month.tmpl │ │ ├── munin-comparison-week.tmpl │ │ ├── munin-comparison-year.tmpl │ │ ├── munin-domainview.tmpl │ │ ├── munin-nodeview.tmpl │ │ ├── munin-overview.tmpl │ │ ├── munin-problemview.tmpl │ │ ├── munin-serviceview.tmpl │ │ ├── munstrap.png │ │ └── partial │ │ ├── bottom_navigation.tmpl │ │ ├── footer.tmpl │ │ ├── footer_pre.tmpl │ │ ├── generated_by.tmpl │ │ ├── head.tmpl │ │ ├── logo_navigation.tmpl │ │ ├── logo_navigation_comparison.tmpl │ │ ├── logo_navigation_problem.tmpl │ │ ├── logo_path.tmpl │ │ ├── navigation.tmpl │ │ └── path.tmpl └── official │ ├── munin-categoryview.tmpl │ ├── munin-comparison-day.tmpl │ ├── munin-comparison-month.tmpl │ ├── munin-comparison-week.tmpl │ ├── munin-comparison-year.tmpl │ ├── munin-domainview.tmpl │ ├── munin-dynazoom.tmpl │ ├── munin-nodeview.tmpl │ ├── munin-overview.tmpl │ ├── munin-problemview.tmpl │ ├── munin-serviceview.tmpl │ └── partial │ ├── bottom_navigation.tmpl │ ├── footer.tmpl │ ├── generated_by.tmpl │ ├── head.tmpl │ ├── logo_navigation.tmpl │ ├── logo_navigation_comparison.tmpl │ ├── logo_navigation_problem.tmpl │ ├── logo_path.tmpl │ ├── navigation.tmpl │ └── path.tmpl └── tools ├── munin-cli └── munin ├── munin-node-c └── README ├── munin-node-from-hell ├── MIT-LICENSE ├── README.rst ├── basic.conf ├── example-config.conf ├── huge.conf ├── muninnode-from-hell ├── notifications.conf ├── simple.conf └── tarpit.conf ├── munin-plugins-busybox └── README ├── munin2json └── cgi-bin │ └── munin-cgi-datafile ├── munin2snmp ├── MUNIN-MIB └── munin2snmp ├── nagios └── check_munin ├── pmmn ├── bin │ └── pmmn └── plugins │ └── README ├── profiling ├── dump_node └── munin-profile-node.py └── pypmmn ├── README.rst ├── pypmmn ├── __init__.py ├── daemon.py └── pypmmn.py └── setup.py /.codespell.ignore-words: -------------------------------------------------------------------------------- 1 | cas 2 | conexant 3 | ende 4 | referer 5 | wan 6 | -------------------------------------------------------------------------------- /.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | ignore = W503, E203 3 | max-line-length = 99 4 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .*.swp 2 | *~ 3 | 4 | __pycache__/ 5 | -------------------------------------------------------------------------------- /.rubocop.yml: -------------------------------------------------------------------------------- 1 | # Allow "=begin"/"=end" multiline comments in order to protect munin's 2 | # magic markers ("#%#"). 3 | Style/BlockComments: 4 | Enabled: false 5 | 6 | AllCops: 7 | NewCops: enable 8 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: lint 2 | lint: 3 | # TODO: add "--ignore-words .codespell.ignore-words" as soon as travis supports a newer 4 | # testing environment (containing codespell 0.11 or later). 5 | find plugins/ -type f -not -name "*.png" -not -name "*.conf" -not -name "*.jar" -not -name "*.pyc" -print0 \ 6 | | xargs -0 codespell \ 7 | --exclude-file .codespell.exclude 8 | -------------------------------------------------------------------------------- /images/README.md: -------------------------------------------------------------------------------- 1 | Please **don't** put screenshots of your plugins here. 2 | Put them right next to your plugins. 3 | 4 | The `t-shirt/` subdir contains a t-shirt vector gfx. 5 | -------------------------------------------------------------------------------- /images/t-shirts/README.md: -------------------------------------------------------------------------------- 1 | # T-Shirt subproject 2 | 3 | Some t-shirts 4 | 5 | ![logo-horizontal-tshirt-black-modified.svg](logo-horizontal-tshirt-black-modified.svg "logo-horizontal-tshirt-black-modified.svg") 6 | ![logo-shirt-black.svg](logo-shirt-black.svg "logo-shirt-black.svg") 7 | ![logo-horizontal-tshirt-black.svg](logo-horizontal-tshirt-black.svg "logo-horizontal-tshirt-black.svg") 8 | -------------------------------------------------------------------------------- /plugins/apache/apache_vhosts/README.txt: -------------------------------------------------------------------------------- 1 | apache_pipelogger: to be used in an apache CustomLog directive 2 | apache_logparser: daemon to watch logs and store stats in shared mem 3 | plugins/apache_vhosts: munin plugin to deliver stats 4 | -------------------------------------------------------------------------------- /plugins/apache/example-graphs/apache_activity-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/apache/example-graphs/apache_activity-week.png -------------------------------------------------------------------------------- /plugins/apt/deb_packages/deb_packages.munin.conf: -------------------------------------------------------------------------------- 1 | [deb_packages] 2 | # plugin is quite expensive and has to write statistics to cache output 3 | # so it has to write to plugins.cache 4 | user munin 5 | 6 | # Packagelists to this size are printed as extra Information to munin.extinfo 7 | env.MAX_LIST_SIZE_EXT_INFO 50 8 | 9 | # Age in seconds an $CACHE_FILE can be. If it is older, the script updates 10 | # default if not set is 3540 (one hour) 11 | env.CACHE_FILE_MAX_AGE 3540 12 | 13 | # sort_by values ... 14 | # possible values are 'label', 'archive', 'origin', 'site', FIXME 15 | env.graph00_type installed 16 | env.graph00_sort_by_0 label 17 | env.graph00_sort_by_1 archive 18 | env.graph00_show_ext_0 origin 19 | env.graph00_show_ext_1 site 20 | 21 | env.graph01_type upgradable 22 | env.graph01_sort_by_0 label 23 | env.graph01_sort_by_1 archive 24 | env.graph01_show_ext_0 origin 25 | env.graph01_show_ext_1 site 26 | 27 | -------------------------------------------------------------------------------- /plugins/apt/deb_packages/example-graphs/deb_packages.py-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/apt/deb_packages/example-graphs/deb_packages.py-1.png -------------------------------------------------------------------------------- /plugins/apt/deb_packages/example-graphs/deb_packages.py-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/apt/deb_packages/example-graphs/deb_packages.py-week.png -------------------------------------------------------------------------------- /plugins/asterisk/asterisk_14_fax_ffa/fax_test: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use Carp; 4 | use strict; 5 | use Asterisk::AMI; 6 | do './get_fax_stats.pl'; 7 | 8 | my $ret = undef; 9 | if ( ! eval "require Asterisk::AMI;" ) { 10 | $ret = "Asterisk::AMI not found"; 11 | }; 12 | 13 | if ( $ARGV[ 0 ] and $ARGV[ 0 ] eq "config" ) { 14 | print "graph_title Asterisk active fax channels\n"; 15 | print "graph_args --base 1000 -l 0\n"; 16 | print "graph_vlabel channels\n"; 17 | print "graph_category voip\n"; 18 | print "channels.draw AREA\n"; 19 | print "channels.label channels\n"; 20 | exit 0; 21 | }; 22 | 23 | #my $host = exists $ENV{ 'host' } ? $ENV{ 'host' } : "127.0.0.1"; 24 | #my $port = exists $ENV{ 'port' } ? $ENV{ 'port' } : "5038"; 25 | #my $username = $ENV{ 'username' }; 26 | #my $secret = $ENV{ 'secret' }; 27 | 28 | our $username = 'manager'; 29 | our $host = '127.0.0.1'; 30 | our $port = '5038'; 31 | our $secret = 'insecure'; 32 | our $timeout = '5'; 33 | 34 | my %faxstats = get_fax_stats(); 35 | 36 | my $channels = $faxstats{'Digium G.711'}{'Licensed Channels'}; 37 | print "channels.value $channels\n"; 38 | 39 | exit( 0 ); 40 | -------------------------------------------------------------------------------- /plugins/asterisk/asterisk_channels: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # Munin plugin 3 | # Gets number of active channels 4 | # By Eugene Varnavsky 5 | # Converted to /bin/sh by Steve Schnepp 6 | # June 2012 7 | # Version 1.0 8 | # 9 | # Run as root or make sure munin user can run 'asterisk -r' command 10 | # 11 | # [asterisk_channels] 12 | # user root 13 | # 14 | # LGPL License 15 | 16 | if [ "$1" = "autoconf" ]; then 17 | [ -z $(which asterisk) ] && echo "no" || echo "yes" 18 | exit 0 19 | fi 20 | 21 | if [ "$1" = "config" ]; then 22 | echo "graph_title Asterisk Channels" 23 | echo "graph_args --base 1000 -l 0" 24 | echo "graph_vlabel Channels" 25 | echo "graph_category voip" 26 | echo "channels.label Channels" 27 | exit 0 28 | fi 29 | 30 | asterisk -rx "core show channels" | awk '/active channels/ { print "channels.value " $1 }' 31 | exit 0 32 | -------------------------------------------------------------------------------- /plugins/audit/portaudit: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to monitor the number of vulnerabilities on the machine using portaudit. 4 | # 5 | # Parameters: 6 | # 7 | # config (required) 8 | # autoconf (optional - used by munin-config) 9 | # 10 | # Magick markers (optional - used by munin-config and some installation 11 | # scripts): 12 | #%# family=auto 13 | #%# capabilities=autoconf 14 | 15 | PORTAUDIT=/usr/local/sbin/portaudit 16 | 17 | if [ "$1" = "autoconf" ]; then 18 | if [ -x $PORTAUDIT ]; then 19 | echo yes 20 | exit 0 21 | else 22 | echo no '(portaudit not found)' 23 | exit 0 24 | fi 25 | fi 26 | 27 | if [ "$1" = "config" ]; then 28 | 29 | echo 'graph_title Number of Vulnerabilities' 30 | echo 'graph_args --base 1000 -l 0 ' 31 | echo 'graph_vlabel number of vulnerabilities' 32 | echo 'graph_category security' 33 | echo 'graph_info This graph shows the number of vulnerabilities in the system.' 34 | echo 'vulnerabilities.label vulnerabilities' 35 | echo 'vulnerabilities.info The current number of vulnerabilities.' 36 | echo 'vulnerabilities.draw LINE2' 37 | exit 0 38 | fi 39 | 40 | echo -n "vulnerabilities.value " 41 | $PORTAUDIT -qa | /usr/bin/wc -l 42 | -------------------------------------------------------------------------------- /plugins/backup/backup.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Configuration directives, edit before first use. 4 | BACKUP_DIR=/path/to/your/backups 5 | # How old backups should be considered as non-yound anymore in [days]. 6 | LIFETIME=2 7 | 8 | # The situation is critical if there are no young files, the backup is down. 9 | case $1 in 10 | config) 11 | cat <<'EOM' 12 | graph_title Number of young files at backup directory 13 | graph_vlabel number 14 | graph_category backup 15 | autobackup.label number 16 | autobackup.critical 1: 17 | EOM 18 | exit 0;; 19 | esac 20 | 21 | printf "autobackup.value " 22 | find "$BACKUP_DIR" -mtime "-$LIFETIME" | wc -l 23 | -------------------------------------------------------------------------------- /plugins/backup/example-graphs/fresh_backups-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/backup/example-graphs/fresh_backups-week.png -------------------------------------------------------------------------------- /plugins/bsd/example-graphs/netstat_bsd_m_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/bsd/example-graphs/netstat_bsd_m_-day.png -------------------------------------------------------------------------------- /plugins/bsd/openbsd-memory: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | if [ "$1" = "config" ]; then 3 | echo "graph_title Memory usage (in MB)" 4 | echo 'graph_category system' 5 | echo "acti.label Active" 6 | echo "used.label Used" 7 | echo "total.label Total" 8 | echo "free.label Free" 9 | exit 0 10 | fi 11 | 12 | # Memory: Real: 14M/69M act/tot Free: 173M Swap: 0K/612M used/tot 13 | 14 | top -un | nawk ' 15 | function scale(v) { 16 | if (v ~ /G$/) { sub("G", "", v);v *= 1024 } 17 | else if (v ~ /M$/) sub("M", "", v) 18 | else if (v ~ /K$/) { sub("K", "", v);v /= 1024 } 19 | else v /= 1024 * 1024; 20 | return v; 21 | } 22 | function spliter(v, i) { 23 | split(v, a, "/"); 24 | return(a[i]); 25 | } 26 | /^Memory/ { 27 | acti = scale(spliter($3,1)); 28 | used = scale(spliter($3,2)); 29 | free = scale($6); 30 | total = used + free; 31 | 32 | print "acti.value", acti 33 | print "used.value", used 34 | print "total.value", total 35 | print "free.value", free 36 | }' 37 | -------------------------------------------------------------------------------- /plugins/bsd/openbsd-swap: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # @author northox 3 | # Mantor Organization 4 | # 5 | if [ "$1" = "config" ]; then 6 | echo "graph_title Swap usage (in MB)" 7 | echo 'graph_category system' 8 | echo "swap.label Swap used" 9 | echo "swapt.label Swap total" 10 | exit 0 11 | fi 12 | 13 | # Memory: Real: 14M/69M act/tot Free: 173M Swap: 0K/612M used/tot 14 | 15 | top -un | nawk ' 16 | function scale(v) { 17 | if (value ~ /G$/) { sub("G", "", v); v *= 1024 } 18 | else if (v ~ /M$/) sub("M", "", v) 19 | else if (v ~ /K$/) { sub("K", "", v); v /= 1024 } 20 | else v /= 1024 * 1024; 21 | return v; 22 | } 23 | function spliter(v, i) { 24 | split(v,a,"/"); 25 | return(a[i]); 26 | } 27 | /^Memory/ { 28 | swap = scale(spliter($8,1)); 29 | swapt = scale(spliter($8,2)); 30 | 31 | print "swap.value", swap 32 | print "swapt.value", swapt 33 | }' 34 | -------------------------------------------------------------------------------- /plugins/cacti/cacti-host: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Munin script to obtain the number o hosts 4 | # by kasandrapadisha@gmail.com 5 | # 6 | 7 | #----- Configuration variables 8 | database="cacti" 9 | hostname="localhost" 10 | user="admincacti" 11 | password="passwdcacti" 12 | 13 | 14 | #----- Configuration variables 15 | if [[ $1 != "" ]]; then 16 | if [[ $1 == "autoconf" ]]; then 17 | echo "yes" 18 | exit 0 19 | fi 20 | if [[ $1 == "config" ]]; then 21 | echo "graph_title Servidores consultados" 22 | echo "graph_vlabel Numero servidores (s)" 23 | echo "poller_hosts.label hosts(s)" 24 | echo 'graph_category munin' 25 | exit 0 26 | fi 27 | fi 28 | 29 | salida=`mysql -B -e "SELECT value FROM settings WHERE name='stats_poller' LIMIT 1" -h $hostname --user=$user --password=$password $database` 30 | 31 | if [[ $? != 0 ]]; then 32 | echo "No se pudo ejecutar" 33 | exit 0 34 | fi 35 | 36 | echo $salida | cut -f 6 -d":" | awk '{print"poller_hosts.value "$1}' 37 | -------------------------------------------------------------------------------- /plugins/cacti/cacti_poller_time: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Munin script to obtain the poller time 4 | # by kasandrapadisha@gmail.com 5 | # 6 | 7 | #----- Configuration variables 8 | database="cacti" 9 | hostname="localhost" 10 | user="admincacti" 11 | password="passwdcacti" 12 | 13 | 14 | #----- Configuration variables 15 | if [[ $1 != "" ]]; then 16 | if [[ $1 == "autoconf" ]]; then 17 | echo "yes" 18 | exit 0 19 | fi 20 | if [[ $1 == "config" ]]; then 21 | echo "graph_title Poller Time" 22 | echo "graph_vlabel Time(s)" 23 | echo "poller_time.label time(s)" 24 | echo 'graph_category munin' 25 | exit 0 26 | fi 27 | fi 28 | 29 | salida=`mysql -B -e "SELECT value FROM settings WHERE name='stats_poller' LIMIT 1" -h $hostname --user=$user --password=$password $database` 30 | 31 | if [[ $? != 0 ]]; then 32 | echo "No se pudo ejecutar" 33 | exit 0 34 | fi 35 | 36 | echo $salida | cut -f 2 -d":" | awk '{print"poller_time.value "$1}' 37 | -------------------------------------------------------------------------------- /plugins/cacti/cacti_rrds: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Munin script to obtain the number of RRDs processed 4 | # by kasandrapadisha@gmail.com 5 | # 6 | 7 | #----- Configuration variables 8 | database="cacti" 9 | hostname="localhost" 10 | user="admincacti" 11 | password="passwdcacti" 12 | 13 | 14 | #----- Configuration variables 15 | if [[ $1 != "" ]]; then 16 | if [[ $1 == "autoconf" ]]; then 17 | echo "yes" 18 | exit 0 19 | fi 20 | if [[ $1 == "config" ]]; then 21 | echo "graph_title RRDs Procesados Time" 22 | echo "graph_vlabel Numero de RRDs" 23 | echo "rrds.label rrds" 24 | echo 'graph_category munin' 25 | exit 0 26 | fi 27 | fi 28 | 29 | salida=`mysql -B -e "SELECT value FROM settings WHERE name='stats_poller' LIMIT 1" -h $hostname --user=$user --password=$password $database` 30 | 31 | if [[ $? != 0 ]]; then 32 | echo "No se pudo ejecutar" 33 | exit 0 34 | fi 35 | 36 | echo $salida | cut -f 9 -d":" | awk '{print"rrds.value "$1}' 37 | -------------------------------------------------------------------------------- /plugins/ceph/ceph_osd: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | : << =cut 4 | 5 | =head1 NAME 6 | 7 | ceph_osd - Shows ceph OSD states (total configured, up and in) 8 | 9 | =head1 APPLICABLE SYSTEMS 10 | 11 | Any host with ceph configured and "jq" being installed . 12 | 13 | =head1 AUTHOR 14 | 15 | Mate Gabri 16 | 17 | =head1 LICENSE 18 | 19 | GPLv2 20 | 21 | =head1 MAGICK MARKERS 22 | 23 | #%# family=auto 24 | #%# capabilities=autoconf 25 | 26 | =cut 27 | 28 | if [ "$1" = "autoconf" ]; then 29 | echo yes 30 | exit 0 31 | fi 32 | 33 | 34 | if [ "$1" = "config" ]; then 35 | 36 | echo 'graph_title CEPH OSDs' 37 | echo 'graph_category fs' 38 | echo 'graph_vlabel nr' 39 | echo 'graph_info CEPH OSD up/down status' 40 | echo 'graph_scale no' 41 | echo 'graph_args --base 1000 -l 0' 42 | 43 | echo "osds.label OSDs" 44 | echo "up.label Up" 45 | echo "in.label In" 46 | echo "in.draw AREA" 47 | 48 | exit 0 49 | fi 50 | 51 | CEPH_STATUS=$(ceph -s --format=json) 52 | 53 | echo "osds.value $(echo "$CEPH_STATUS" | jq '.osdmap.num_osds')" 54 | echo "up.value $(echo "$CEPH_STATUS" | jq '.osdmap.num_up_osds')" 55 | echo "in.value $(echo "$CEPH_STATUS" | jq '.osdmap.num_in_osds')" 56 | -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/chrony/example-graphs/chrony_-day.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_sourcestats-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/chrony/example-graphs/chrony_sourcestats-1.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_sourcestats-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/chrony/example-graphs/chrony_sourcestats-2.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_sourcestats-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/chrony/example-graphs/chrony_sourcestats-3.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_sourcestats-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/chrony/example-graphs/chrony_sourcestats-4.png -------------------------------------------------------------------------------- /plugins/clamav/clamav: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #%# family=manual 3 | #%# capabilities=autoconf 4 | log=/var/log/clamav/clamd.log 5 | 6 | if [ "$1" = "autoconf" ]; then 7 | if [ -r $log ]; then 8 | echo "yes" 9 | else 10 | echo "no (cannot read $log)" 11 | fi 12 | exit 0 13 | fi 14 | 15 | if [ "$1" = "config" ]; then 16 | 17 | cat < 1 and sys.argv[1] == 'config': 33 | config() 34 | else: 35 | main() -------------------------------------------------------------------------------- /plugins/comet/comet_latency: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | import sys 5 | from comet_server import CometServer 6 | 7 | def config(): 8 | print('graph_title Comet API Latency') 9 | print('graph_category Comet') 10 | print('apitime.label API time (ms)') 11 | print('apitime.colour 58b154') 12 | 13 | 14 | def main(): 15 | cs = CometServer() 16 | print("apitime.value " + str(cs.getAPITime())) 17 | 18 | if __name__ == '__main__': 19 | if len(sys.argv) > 1 and sys.argv[1] == 'config': 20 | config() 21 | else: 22 | main() -------------------------------------------------------------------------------- /plugins/comet/comet_online_devices: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | import sys 5 | from comet_server import CometServer 6 | 7 | def config(): 8 | print('graph_title Comet Online Devices') 9 | print('graph_args --base 1000 -l 0 ') 10 | print('graph_category Comet') 11 | print('offline.label Offline') 12 | print('offline.draw AREASTACK') 13 | print('offline.min 0') 14 | print('offline.colour cf4848') 15 | print('outdated.label Online (Outdated)') 16 | print('outdated.draw AREASTACK') 17 | print('outdated.min 0') 18 | print('outdated.colour fa9545') 19 | print('online.label Online') 20 | print('online.draw AREASTACK') 21 | print('online.min 0') 22 | print('online.colour 58b154') 23 | 24 | def main(): 25 | cs = CometServer() 26 | print("offline.value " + str(cs.countOffline())) 27 | print("outdated.value " + str(cs.countOutdated())) 28 | print("online.value " + str(cs.countOnline())) 29 | 30 | if __name__ == '__main__': 31 | if len(sys.argv) > 1 and sys.argv[1] == 'config': 32 | config() 33 | else: 34 | main() 35 | -------------------------------------------------------------------------------- /plugins/comet/comet_server_history: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | import sys 5 | from comet_server import CometServer 6 | 7 | def config(): 8 | print('graph_title Comet Server History') 9 | print('graph_args --base 1000') 10 | print('graph_category Comet') 11 | print('buckets.label Storage buckets') 12 | print('buckets.colour 4d98d7') 13 | print('users.label Users') 14 | print('users.colour cf4848') 15 | print('devices.label Devices') 16 | print('devices.colour 58b154') 17 | print('boosters.label Boosters') 18 | print('boosters.colour a561d3') 19 | 20 | def main(): 21 | cs = CometServer() 22 | print("buckets.value " + str(cs.countBuckets())) 23 | print("users.value " + str(cs.countUsers())) 24 | print("devices.value " + str(cs.countDevices())) 25 | print("boosters.value " + str(cs.countBoosters())) 26 | 27 | if __name__ == '__main__': 28 | if len(sys.argv) > 1 and sys.argv[1] == 'config': 29 | config() 30 | else: 31 | main() 32 | -------------------------------------------------------------------------------- /plugins/comet/comet_uptime: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import os 4 | import sys 5 | from comet_server import CometServer 6 | 7 | def config(): 8 | cs = CometServer() 9 | onlineCheck = cs.checkOnline() 10 | print('graph_title Comet Uptime') 11 | print('graph_args --base 1000 -l 0 ') 12 | print('graph_category Comet') 13 | print('online.label Online') 14 | print('online.draw AREA') 15 | print('online.min 0') 16 | if onlineCheck == 1: 17 | print('online.colour 58b154') 18 | else: 19 | print('online.colour cf4848') 20 | 21 | def main(): 22 | cs = CometServer() 23 | print("online.value " + str(cs.checkOnline())) 24 | 25 | if __name__ == '__main__': 26 | if len(sys.argv) > 1 and sys.argv[1] == 'config': 27 | config() 28 | else: 29 | main() -------------------------------------------------------------------------------- /plugins/comet/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/comet/example.png -------------------------------------------------------------------------------- /plugins/cpan/cpanp_o: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | use Modern::Perl; 3 | 4 | given ($ARGV[0]) { 5 | when ("config") { 6 | print < 1: 22 | command = sys.argv[1] 23 | 24 | if command == 'config': 25 | print "graph_title Slush Hashrate" 26 | print "graph_args --upper-limit 3000 -l 0" 27 | print "graph_vlabel MHash/s" 28 | print "graph_category htc" 29 | for worker in workers: 30 | label = worker.replace(".","_") 31 | print label + ".label " +label 32 | sys.exit(0) 33 | 34 | for worker in workers: 35 | hash_rate = workers[worker]['hashrate'] 36 | label = worker.replace(".","_") 37 | print label + ".value %d" % int(hash_rate) 38 | -------------------------------------------------------------------------------- /plugins/darwin/dar_vpnd: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # -*- perl -*- 3 | 4 | =head1 NAME 5 | 6 | dar_vpnd a Plugin for displaying VPN Stats for the Darwin (MacOS) vpnd Service. 7 | 8 | =head1 INTERPRETATION 9 | 10 | The Plugin displays the number of active VPN connections. 11 | 12 | =head1 CONFIGURATION 13 | 14 | No Configuration necessary! 15 | 16 | =head1 AUTHOR 17 | 18 | Philipp Haussleiter (email) 19 | 20 | =head1 LICENSE 21 | 22 | GPLv2 23 | 24 | =cut 25 | 26 | # MAIN 27 | use warnings; 28 | use strict; 29 | 30 | 31 | my $cmd = "ps -ef | awk '/[p]ppd/ {print substr(\$NF,2);}' | wc -l"; 32 | 33 | if ( exists $ARGV[0] and $ARGV[0] eq "config" ) { 34 | print "graph_category network\n"; 35 | print "graph_args --base 1024 -r --lower-limit 0\n"; 36 | print "graph_title Number of VPN Connections\n"; 37 | print "graph_vlabel VPN Connections\n"; 38 | print "graph_info The Graph shows the Number of VPN Connections\n"; 39 | print "connections.label Number of VPN Connections\n"; 40 | print "connections.type GAUGE\n"; 41 | } else { 42 | my $output = `$cmd`; 43 | print "connections.value $output"; 44 | } 45 | -------------------------------------------------------------------------------- /plugins/db2/db2_cnx: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # (c) 2012 - Steve Schnepp - LGPL 3 | 4 | # XXX - coded hastily 5 | 6 | # Source the DB2 profile 7 | . /home/db2inst1/sqllib/db2profile 8 | 9 | echo "graph_title Number of connections" 10 | echo "graph_category db" 11 | echo "graph_args -l 0" 12 | 13 | db2 list application | tail +5 | awk ' /^[A-Z]/ { print $1 }' | sort | uniq -c > $HOME/run/$(basename $0).txt 14 | 15 | # Get users list 16 | touch $HOME/run/$(basename $0).users 17 | awk '{ print $2 }' $HOME/run/$(basename $0).txt | cat $HOME/run/$(basename $0).users - | sort -ru > $HOME/run/$(basename $0).users.tmp 18 | mv $HOME/run/$(basename $0).users.tmp $HOME/run/$(basename $0).users 19 | 20 | # Emit config 21 | if [ "$1" = "config" ] 22 | then 23 | awk ' { print $1 ".label " $1 "\n" $1 ".draw AREASTACK" }' $HOME/run/$(basename $0).users 24 | fi 25 | 26 | # Emit values 27 | for i in $( cat $HOME/run/$(basename $0).users ) 28 | do 29 | TMPLINE=$(awk -v i=$i '($2 == i) { print }' $HOME/run/$(basename $0).txt) 30 | if [ -z "$TMPLINE" ] 31 | then 32 | echo "$i.value 0" 33 | else 34 | echo "$TMPLINE" | awk ' { print $2 ".value " $1 }' 35 | 36 | fi 37 | done 38 | -------------------------------------------------------------------------------- /plugins/dd-wrt/example-graphs/dd-wrt-wifi-devices_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/dd-wrt/example-graphs/dd-wrt-wifi-devices_-day.png -------------------------------------------------------------------------------- /plugins/dd-wrt/example-graphs/dd-wrt-wifi-devices_-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/dd-wrt/example-graphs/dd-wrt-wifi-devices_-week.png -------------------------------------------------------------------------------- /plugins/debian/debsecan: -------------------------------------------------------------------------------- 1 | debsecan_ -------------------------------------------------------------------------------- /plugins/debian/example-graphs/debsecan_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/debian/example-graphs/debsecan_-day.png -------------------------------------------------------------------------------- /plugins/debian/example-graphs/debsecan_-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/debian/example-graphs/debsecan_-month.png -------------------------------------------------------------------------------- /plugins/debian/example-graphs/debsecan_-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/debian/example-graphs/debsecan_-week.png -------------------------------------------------------------------------------- /plugins/debian/example-graphs/debsecan_-year.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/debian/example-graphs/debsecan_-year.png -------------------------------------------------------------------------------- /plugins/disk/du_multidirs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # (c)2009, Christian Kujau modified by dano229 4 | # Based on the 'homedirs' plugin, initially written in Perl by Philipp Gruber 5 | # 6 | # We still need a cronjob to update CACHEFILE once in a while, e.g.: 7 | # 0 * * * * root [ -O /tmp/munin-du_multidirs.cache ] && du -sk /dir /dir2 dir3/* > /tmp/munin-du_multidirs.cache 8 | # 9 | CACHEFILE=/tmp/munin-du_multidirs.cache 10 | 11 | if [ "$1" = "autoconf" ]; then 12 | echo yes 13 | exit 0 14 | fi 15 | 16 | if [ "$1" = "config" ]; then 17 | echo 'graph_title Directory usage' 18 | echo 'graph_args --base 1024 -l 1' 19 | echo 'graph_vlabel Bytes' 20 | echo 'graph_category disk' 21 | echo 'graph_info This graph shows the size of several directories' 22 | 23 | awk '!/lost\+found/ {print $2 }' $CACHEFILE | sort | while read label; do 24 | field=`echo "$label" | sed 's/^[^A-Za-z_]/_/' | sed 's/[^A-Za-z0-9_]/_/g'` 25 | echo "$field".label "$label" 26 | echo "$field".draw LINE1 27 | # echo "$field".warning 0 28 | # echo "$field".critical 0 29 | done 30 | exit 0 31 | fi 32 | 33 | awk '!/lost\+found/ { sub(/[^a-zA-Z_]/,"_",$2); gsub(/[^a-zA-Z0-9_]/,"_",$2); print $2".value "$1 * 1024 }' $CACHEFILE | sort -r -n -k2 34 | -------------------------------------------------------------------------------- /plugins/disk/example-graphs/btrfs_device_usage-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/disk/example-graphs/btrfs_device_usage-day.png -------------------------------------------------------------------------------- /plugins/disk/example-graphs/btrfs_subvol_usage-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/disk/example-graphs/btrfs_subvol_usage-day.png -------------------------------------------------------------------------------- /plugins/disk/example-graphs/quota2percent_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/disk/example-graphs/quota2percent_-day.png -------------------------------------------------------------------------------- /plugins/disk/freedisk: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Wildcard-plugin to monitor free disk. 4 | # 5 | # ln -s /usr/share/munin/plugins/freedisk_ /etc/munin/plugins/freedisk_hda1 6 | # 7 | # ...will monitor /dev/hda1. 8 | # 9 | # $Log$ 10 | # Revision 0.1 2010/11/01 guenter@grodotzki.ph 11 | # init 12 | 13 | # parse wildcard config 14 | DISK=`basename $0 | sed 's/^freedisk_//g'` 15 | 16 | # output config 17 | if [ "$1" = "config" ]; then 18 | echo "graph_title Free Disk on /dev/$DISK" 19 | echo "graph_args --base 1024" 20 | echo "graph_vlabel Free Disk in Bytes" 21 | echo "graph_category disk" 22 | echo "freedisk.label free Bytes" 23 | echo "freedisk.draw LINE3" 24 | echo "freedisk.cdef freedisk,1024,*" 25 | echo "totaldisk.label total Bytes" 26 | echo "totaldisk.draw AREA" 27 | echo "totaldisk.cdef totaldisk,1024,*" 28 | exit 0 29 | fi 30 | 31 | # get data 32 | OUTPUT=`df -P | grep "$DISK"` 33 | 34 | echo "freedisk.value `echo $OUTPUT | cut -d ' ' -f 4`" 35 | echo "totaldisk.value `echo $OUTPUT | cut -d ' ' -f 2`" 36 | -------------------------------------------------------------------------------- /plugins/disk/iostat-xfrs: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Monitor disk iostat on FreeBSD host. 4 | # 5 | # Parameters understood: 6 | # 7 | # config (required) 8 | # autoconf (optional - used by munin-config) 9 | # 10 | # Magic markers (optional - used by munin-config and installation 11 | # scripts): 12 | # 13 | #%# family=auto 14 | #%# capabilities=autoconf 15 | 16 | PATH=/bin:/usr/bin 17 | 18 | if [ "$1" = "autoconf" ]; then 19 | echo yes 20 | exit 0 21 | fi 22 | 23 | DISKS=`/usr/sbin/iostat -dIn9 | head -1` 24 | 25 | if [ "$1" = "config" ]; then 26 | echo 'graph_title IOstat xfrs' 27 | echo 'graph_args -l 0' 28 | echo 'graph_vlabel Transfers per ${graph_period}' 29 | echo 'graph_category disk' 30 | echo 'graph_info This graph shows disk load on the machine.' 31 | 32 | for D in $DISKS 33 | do 34 | if echo $D | grep -vq '^pass'; then 35 | echo "$D.label $D" 36 | echo "$D.type DERIVE" 37 | echo "$D.min 0" 38 | fi 39 | done 40 | 41 | exit 0 42 | fi 43 | 44 | VALUES=`/usr/sbin/iostat -dIn9 | tail -1` 45 | COL=2 # 2nd value for each disk is grabbed 46 | 47 | for D in $DISKS 48 | do 49 | if echo $D | grep -vq '^pass'; then 50 | echo -n "$D.value " 51 | echo $VALUES | cut -d ' ' -f $COL 52 | fi 53 | COL=$(($COL + 3)) 54 | done 55 | -------------------------------------------------------------------------------- /plugins/disk/log_sizes: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | #H=`echo $0 | awk -F_ '{print $2}'` 4 | 5 | #LOGFILES=`ls /var/log/messages /var/log/syslog /var/log/daemon.log /myapplication/logs/*.log` 6 | LOGFILES="/var/log/messages /var/log/syslog /var/log/daemon.log" 7 | 8 | if [ "$1" = "config" ] ; then 9 | 10 | echo "graph_title log sizes" 11 | echo "graph_category disk" 12 | echo "graph_info this graph shows sizes of log files" 13 | echo "graph_vlabel size (bytes)" 14 | 15 | for F in $LOGFILES 16 | do 17 | MF=`echo $F | sed 's/[-\/\.]/_/g'` 18 | echo "$MF.label $F" 19 | done 20 | 21 | else 22 | 23 | for F in $LOGFILES 24 | do 25 | MF=`echo $F | sed 's/[-\/\.]/_/g'` 26 | echo -n "$MF.value " 27 | stat --printf="%s\n" $F 28 | done 29 | 30 | fi 31 | -------------------------------------------------------------------------------- /plugins/disk/smart-c/Makefile: -------------------------------------------------------------------------------- 1 | smart_: smart_.o common.o 2 | 3 | .PHONY: clean 4 | 5 | clean: 6 | rm -f smart_ smart_.o common.o 7 | -------------------------------------------------------------------------------- /plugins/disk/useddisk: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Wildcard-plugin to monitor used disk. 4 | # 5 | # ln -s /usr/share/munin/plugins/useddisk_ /etc/munin/plugins/useddisk_hda1 6 | # 7 | # ...will monitor /dev/hda1. 8 | # 9 | # $Log$ 10 | # Revision 0.1 2013/08/23 avances123@gmail.com 11 | # init 12 | 13 | # parse wildcard config 14 | DISK=`basename $0 | sed 's/^useddisk_//g'` 15 | 16 | # output config 17 | if [ "$1" = "config" ]; then 18 | echo "graph_title Used Disk on /dev/$DISK" 19 | echo "graph_args --base 1024" 20 | echo "graph_vlabel Used Disk in Bytes" 21 | echo "graph_category disk" 22 | echo "useddisk.label used Bytes" 23 | echo "useddisk.draw LINE3" 24 | echo "useddisk.cdef useddisk,1024,*" 25 | echo "totaldisk.label total Bytes" 26 | echo "totaldisk.draw AREA" 27 | echo "totaldisk.cdef totaldisk,1024,*" 28 | exit 0 29 | fi 30 | 31 | # get data 32 | OUTPUT=`df -P | grep "$DISK"` 33 | 34 | echo "useddisk.value `echo $OUTPUT | cut -d ' ' -f 3`" 35 | echo "totaldisk.value `echo $OUTPUT | cut -d ' ' -f 2`" 36 | -------------------------------------------------------------------------------- /plugins/docker/example-graphs/docker_cpu-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/docker/example-graphs/docker_cpu-day.png -------------------------------------------------------------------------------- /plugins/docker/example-graphs/docker_memory-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/docker/example-graphs/docker_memory-day.png -------------------------------------------------------------------------------- /plugins/ejabberd/example-graphs/ejabberd_resources_-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ejabberd/example-graphs/ejabberd_resources_-month.png -------------------------------------------------------------------------------- /plugins/ejabberd/example-graphs/ejabberd_scanlog-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ejabberd/example-graphs/ejabberd_scanlog-day.png -------------------------------------------------------------------------------- /plugins/ejabberd/example-graphs/ejabberd_stats_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ejabberd/example-graphs/ejabberd_stats_-day.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-1.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-2.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-3.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-4.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-5.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-6.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-7.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-8.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-1.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-2.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-3.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-4.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-5.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-6.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-7.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-8.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-9.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-a.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-b.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-c.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-g.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-h.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-i.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/emc/example-graphs/emc_vnx_file_-j.png -------------------------------------------------------------------------------- /plugins/fan/ibmfan: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to monitor fan speed on an IBM/Lenovo Laptop 4 | # 5 | # This plugin reads the current speed of the system fan from 6 | # the /proc file system. As it queries specific files provided 7 | # by kernel modules for IBM/Lenovo Laptops, it probably only 8 | # works for those, but it should be easy to adapt to others 9 | # if similar information is available for other types of laptops. 10 | # 11 | # By dominik dot stadler at gmx dot at 12 | # 13 | # Magic markers (optional - only used by munin-config and some 14 | # installation scripts): 15 | # 16 | #%# family=auto 17 | #%# capabilities=autoconf 18 | 19 | if [ "$1" = "autoconf" ]; then 20 | if [ -r /proc/acpi/ibm/fan ]; then 21 | echo yes 22 | else 23 | echo no 24 | fi 25 | exit 0 26 | fi 27 | 28 | 29 | if [ "$1" = "config" ]; then 30 | echo 'graph_title Fan speed' 31 | echo 'graph_args --base 1000 -l 0' 32 | echo 'graph_vlabel speed' 33 | echo 'graph_scale no' 34 | echo 'graph_category sensors' 35 | echo 'graph_info This graph shows the speed of the system fan.' 36 | echo 'fan.label speed' 37 | echo 'fan.info The current speed of the system fan.' 38 | exit 0 39 | fi 40 | 41 | cat /proc/acpi/ibm/fan | grep "speed:" | awk '{print "fan.value " $2}' 42 | -------------------------------------------------------------------------------- /plugins/fr24/fr24: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | : <<=cut 4 | 5 | =head1 NAME 6 | 7 | fr24 - Plugin to monitor your flightradar24.com feeder. 8 | 9 | =head1 APPLICABLE SYSTEMS 10 | 11 | All Linux systems. 12 | 13 | =head1 CONFIGURATION 14 | 15 | The following is default configuration: 16 | 17 | [fr24] 18 | env.MONITOR http://192.168.1.1:8754/monitor.json 19 | 20 | Set the right URL according to your FR24 Feeder. 21 | 22 | =head1 VERSION 23 | 24 | 1 25 | 26 | =head1 AUTHOR 27 | 28 | Benoît.S « Benpro » 29 | 30 | =head1 LICENSE 31 | 32 | WTFPL 33 | 34 | =cut 35 | 36 | MONITOR=${MONITOR:-http://192.168.1.1:8754/monitor.json} 37 | 38 | case $1 in 39 | config) 40 | echo "graph_title Number of planes in sight 41 | graph_info Number of planes in sight with DVB-T receiver. 42 | graph_category tv 43 | graph_vlabel Number of planes 44 | planes.label planes" 45 | exit 0;; 46 | esac 47 | 48 | planes=$(curl -qs "$MONITOR" | grep -Eo '"d11_map_size":"[0-9]+"' | grep -Eo '[0-9]+' | tail -1) 49 | echo "planes.value $planes" 50 | -------------------------------------------------------------------------------- /plugins/ftp/proftpd: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | # configuration : 3 | # 4 | # env.LOGFILE /var/log/proftpd/proftpd.log 5 | 6 | if [ "$1" = 'config' ]; then 7 | echo "graph_args --base 1000 -l 0" 8 | echo "graph_title Serveur FTP" 9 | echo "graph_category network" 10 | echo "graph_vlabel Stats Proftpd" 11 | echo "succes.label Login success" 12 | echo "succes.draw AREA" 13 | echo "failed.label Login failed" 14 | echo "failed.draw AREA" 15 | fi 16 | 17 | LOGFILE=${LOGFILE:-"/var/log/proftpd/proftpd.log"} 18 | 19 | success=$(grep -c "successful" "$LOGFILE") 20 | failed=$(grep -c "Login failed" "$LOGFILE" ) 21 | 22 | echo "succes.value $success" 23 | echo "failed.value $failed" 24 | 25 | exit 0 26 | -------------------------------------------------------------------------------- /plugins/gearman/gearman_queue: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | 3 | use strict; 4 | use warnings; 5 | 6 | my $HOST = exists $ENV{'host'} ? $ENV{'host'} : "localhost"; 7 | my $PORT = exists $ENV{'port'} ? $ENV{'port'} : "4730"; 8 | my $ADMIN = exists $ENV{'admin'} ? $ENV{'admin'} : "gearadmin"; 9 | 10 | my @result = `$ADMIN -h$HOST -p$PORT --status 2>&1`; 11 | 12 | my $gearman = {}; 13 | my $keys = ["queue", "running", "total"]; 14 | 15 | foreach my $line (@result) { 16 | last if ($line =~ /\./); 17 | my @array = split(/\s+/, $line); 18 | chomp @array; 19 | my $string_name = shift @array; 20 | my %hash; 21 | @hash{@$keys} = @array; 22 | 23 | $gearman->{$string_name}=\%hash; 24 | }; 25 | 26 | if (defined $ARGV[0] and $ARGV[0] eq 'config') { 27 | print "graph_title Gearman queue\n"; 28 | print "graph_args --base 1000\n"; 29 | print "graph_vlabel jobs\n"; 30 | print "graph_category cloud\n"; 31 | while ( my ($key, $value) = each(%$gearman) ) { 32 | my $param = $key."_"."queue"; 33 | print "$param.type GAUGE\n"; 34 | print "$param.label $param\n"; 35 | print "$param.draw LINE\n"; 36 | print "$param.min 0\n"; 37 | } 38 | exit 0; 39 | } 40 | 41 | while ( my ($key, $value) = each(%$gearman) ) { 42 | my $param = $key."_"."queue"; 43 | print "$param.value ".$value->{"queue"}."\n"; 44 | } 45 | -------------------------------------------------------------------------------- /plugins/git/example-graphs/git_commit_behind-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/git/example-graphs/git_commit_behind-day.png -------------------------------------------------------------------------------- /plugins/git/example-graphs/git_commit_behind-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/git/example-graphs/git_commit_behind-week.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gps_error_estimate-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/gpsd/example-graphs/gps_error_estimate-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gps_precision-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/gpsd/example-graphs/gps_precision-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gps_satellites-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/gpsd/example-graphs/gps_satellites-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gps_time_offset-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/gpsd/example-graphs/gps_time_offset-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gpsd_dop-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/gpsd/example-graphs/gpsd_dop-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gpsd_satellites-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/gpsd/example-graphs/gpsd_satellites-day.png -------------------------------------------------------------------------------- /plugins/gpu/nvidia_smi_.nocheck: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/gpu/nvidia_smi_.nocheck -------------------------------------------------------------------------------- /plugins/haproxy/haproxy-bytes: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Pasha "p01nt" Klets 3 | 4 | name=`basename $0` 5 | title=`echo ${name} | awk -F_ '{print $NF}'` 6 | 7 | hp_stat() { 8 | echo "show stat" | socat unix-connect:/tmp/haproxy stdio 9 | } 10 | 11 | servers_section() { 12 | hp_stat | grep '^'${title}',' | egrep -v '^'${title}',(FRONTEND|BACKEND)' 13 | } 14 | 15 | servers() { 16 | servers_section | awk -F, '{print $2}' 17 | } 18 | 19 | labels() { 20 | servers_section | awk -F, '{print $2"_out.label "$2" out\n"$2"_in.label "$2" in\n"$2"_out.type COUNTER\n"$2"_in.type COUNTER\n"$2"_in.negative "$2"_out" }' 21 | } 22 | 23 | values() { 24 | servers_section | awk -F, '{print $2"_out.value "$10"\n"$2"_in.value "$9}' 25 | } 26 | 27 | graph_title="${title} bytes" 28 | graph_vlabel=${title} 29 | 30 | case $1 in 31 | config) 32 | cat < 3 | 4 | name=`basename $0` 5 | title=`echo ${name} | awk -F_ '{print $NF}'` 6 | 7 | hp_stat() { 8 | echo "show stat" | socat unix-connect:/tmp/haproxy stdio 9 | } 10 | 11 | servers_section() { 12 | hp_stat | grep '^'${title}',' | egrep -v '^'${title}',(FRONTEND|BACKEND)' 13 | } 14 | 15 | servers() { 16 | servers_section | awk -F, '{print $2}' 17 | } 18 | 19 | labels() { 20 | servers_section | awk -F, '{print $2".label "$2"\n"$2".type COUNTER\n"$2".draw AREASTACK"}' 21 | } 22 | 23 | values() { 24 | servers_section | awk -F, '{print $2".value "$14}' 25 | } 26 | 27 | 28 | graph_title="${title} connection errors" 29 | graph_vlabel=${title} 30 | 31 | case $1 in 32 | config) 33 | cat < 3 | 4 | name=`basename $0` 5 | title=`echo ${name} | awk -F_ '{print $NF}'` 6 | 7 | hp_stat() { 8 | echo "show stat" | socat unix-connect:/tmp/haproxy stdio 9 | } 10 | 11 | servers_section() { 12 | hp_stat | grep '^'${title}',' | egrep -v '^'${title}',(FRONTEND|BACKEND)' 13 | } 14 | 15 | servers() { 16 | servers_section | awk -F, '{print $2}' 17 | } 18 | 19 | labels() { 20 | servers_section | awk -F, '{print $2"_dwn.label "$2" down\n"$2"_dwntime.label "$2" downtime\n"$2"_dwn.type COUNTER\n"$2"_dwntime.type COUNTER\n"$2"_dwntime.negative "$2"_dwn" }' 21 | } 22 | 23 | values() { 24 | servers_section | awk -F, '{print $2"_dwn.value "$23"\n"$2"_dwntime.value "$25}' 25 | } 26 | 27 | graph_title="${title} downtime" 28 | graph_vlabel=${title} 29 | 30 | case $1 in 31 | config) 32 | cat < 3 | 4 | name=`basename $0` 5 | title=`echo ${name} | awk -F_ '{print $NF}'` 6 | 7 | hp_stat() { 8 | echo "show stat" | socat unix-connect:/tmp/haproxy stdio 9 | } 10 | 11 | labels() { 12 | cat < 3 | 4 | name=`basename $0` 5 | title=`echo ${name} | awk -F_ '{print $NF}'` 6 | 7 | hp_stat() { 8 | echo "show stat" | socat unix-connect:/tmp/haproxy stdio 9 | } 10 | 11 | servers_section() { 12 | hp_stat | grep '^'${title}',' | egrep -v '^'${title}',(FRONTEND|BACKEND)' 13 | } 14 | 15 | servers() { 16 | servers_section | awk -F, '{print $2}' 17 | } 18 | 19 | labels() { 20 | servers_section | awk -F, '{print $2".label "$2"\n"$2".type COUNTER\n"$2".draw AREASTACK"}' 21 | } 22 | 23 | values() { 24 | servers_section | awk -F, '{print $2".value "$22}' 25 | } 26 | 27 | 28 | graph_title="${title} failed checks" 29 | graph_vlabel=${title} 30 | 31 | case $1 in 32 | config) 33 | cat < 3 | 4 | name=`basename $0` 5 | title=`echo ${name} | awk -F_ '{print $NF}'` 6 | 7 | hp_stat() { 8 | echo "show stat" | socat unix-connect:/tmp/haproxy stdio 9 | } 10 | 11 | servers_section() { 12 | hp_stat | grep '^'${title}',' | egrep -v '^'${title}',(FRONTEND|BACKEND)' 13 | } 14 | 15 | servers() { 16 | servers_section | awk -F, '{print $2}' 17 | } 18 | 19 | labels() { 20 | servers_section | awk -F, '{print $2".label "$2"\n"$2".type COUNTER\n"$2".draw AREASTACK"}' 21 | } 22 | 23 | values() { 24 | servers_section | awk -F, '{print $2".value "$15}' 25 | } 26 | 27 | 28 | graph_title="${title} response errors" 29 | graph_vlabel=${title} 30 | 31 | case $1 in 32 | config) 33 | cat < 3 | 4 | name=`basename $0` 5 | title=`echo ${name} | awk -F_ '{print $NF}'` 6 | 7 | hp_stat() { 8 | echo "show stat" | socat unix-connect:/tmp/haproxy stdio 9 | } 10 | 11 | labels() { 12 | cat < 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /plugins/java/jmx/plugin/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /.settings/ 3 | *.class 4 | -------------------------------------------------------------------------------- /plugins/java/jmx/plugin/.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | plugin 4 | 5 | 6 | 7 | 8 | 9 | org.eclipse.jdt.core.javabuilder 10 | 11 | 12 | 13 | 14 | 15 | org.eclipse.jdt.core.javanature 16 | 17 | 18 | -------------------------------------------------------------------------------- /plugins/java/jmx/plugin/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Ant-Version: Apache Ant 1.8.1 3 | Created-By: 1.6.0_22-b04-307-10M3261 (Apple Inc.) 4 | -------------------------------------------------------------------------------- /plugins/jmx/examples/java/java_cpu.conf: -------------------------------------------------------------------------------- 1 | graph_args --upper-limit 100 -l 0 2 | graph_scale no 3 | graph_title CPU Usage 4 | graph_vlabel 1000* CPU time % 5 | graph_category appserver 6 | graph_order java_cpu_time java_cpu_user_time 7 | 8 | java_cpu_time.label cpu 9 | java_cpu_time.jmxObjectName java.lang:type=Threading 10 | java_cpu_time.jmxAttributeName CurrentThreadCpuTime 11 | java_cpu_time.type DERIVE 12 | java_cpu_time.min 0 13 | java_cpu_time.graph yes 14 | java_cpu_time.cdef java_cpu_time,3000000,/ 15 | 16 | java_cpu_user_time.label user 17 | java_cpu_user_time.jmxObjectName java.lang:type=Threading 18 | java_cpu_user_time.jmxAttributeName CurrentThreadUserTime 19 | java_cpu_user_time.type DERIVE 20 | java_cpu_user_time.min 0 21 | java_cpu_user_time.graph yes 22 | java_cpu_user_time.cdef java_cpu_user_time,3000000,/ -------------------------------------------------------------------------------- /plugins/jmx/examples/java/java_threads.conf: -------------------------------------------------------------------------------- 1 | graph_title Thread Count 2 | graph_vlabel Thread Count 3 | graph_category appserver 4 | graph_order java_thread_count java_thread_count_peak 5 | 6 | java_thread_count.label count 7 | java_thread_count.jmxObjectName java.lang:type=Threading 8 | java_thread_count.jmxAttributeName ThreadCount 9 | 10 | java_thread_count_peak.label peak 11 | java_thread_count_peak.jmxObjectName java.lang:type=Threading 12 | java_thread_count_peak.jmxAttributeName PeakThreadCount 13 | -------------------------------------------------------------------------------- /plugins/jmx/examples/tomcat/catalina_requests.conf: -------------------------------------------------------------------------------- 1 | graph_title Requests Per Second 2 | graph_vlabel requests per second 3 | graph_category appserver 4 | graph_order catalina_request_count catalina_error_count 5 | 6 | catalina_request_count.label requests 7 | catalina_request_count.jmxObjectName Catalina:name=http-8080,type=GlobalRequestProcessor 8 | catalina_request_count.jmxAttributeName requestCount 9 | catalina_request_count.type DERIVE 10 | catalina_request_count.min 0 11 | 12 | catalina_error_count.label errors 13 | catalina_error_count.jmxObjectName Catalina:name=http-8080,type=GlobalRequestProcessor 14 | catalina_error_count.jmxAttributeName errorCount 15 | catalina_error_count.type DERIVE 16 | catalina_error_count.min 0 17 | -------------------------------------------------------------------------------- /plugins/jmx/examples/tomcat/catalina_threads.conf: -------------------------------------------------------------------------------- 1 | graph_title Thread Count 2 | graph_vlabel Thread Count 3 | graph_category appserver 4 | graph_order catalina_threads_count catalina_threads_busy 5 | 6 | catalina_threads_busy.label busy 7 | catalina_threads_busy.jmxObjectName Catalina:name=http-8080,type=ThreadPool 8 | catalina_threads_busy.jmxAttributeName currentThreadsBusy 9 | 10 | catalina_threads_count.label current 11 | catalina_threads_count.jmxObjectName Catalina:name=http-8080,type=ThreadPool 12 | catalina_threads_count.jmxAttributeName currentThreadCount 13 | -------------------------------------------------------------------------------- /plugins/jmx/examples/tomcat/catalina_traffic.conf: -------------------------------------------------------------------------------- 1 | graph_title Traffic 2 | graph_vlabel Bytes rec(-)/sent(+) per second 3 | graph_category appserver 4 | graph_order catalina_bytes_received catalina_bytes_sent 5 | 6 | catalina_bytes_sent.label bps 7 | catalina_bytes_sent.jmxObjectName Catalina:name=http-8080,type=GlobalRequestProcessor 8 | catalina_bytes_sent.jmxAttributeName bytesSent 9 | catalina_bytes_sent.type DERIVE 10 | catalina_bytes_sent.min 0 11 | catalina_bytes_sent.negative catalina_bytes_received 12 | 13 | catalina_bytes_received.label received 14 | catalina_bytes_received.jmxObjectName Catalina:name=http-8080,type=GlobalRequestProcessor 15 | catalina_bytes_received.jmxAttributeName bytesReceived 16 | catalina_bytes_received.type DERIVE 17 | catalina_bytes_received.min 0 18 | catalina_bytes_received.graph no -------------------------------------------------------------------------------- /plugins/jmx/plugin/jmxquery.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/jmx/plugin/jmxquery.jar -------------------------------------------------------------------------------- /plugins/kamailio/README.md: -------------------------------------------------------------------------------- 1 | # Kamailio Munin Plugin 2 | Munin plugins for Kamailio. It monitors: 3 | ## Number of transactions, user and contact numbers. 4 | ![kamailio_transaction](http://desmond.imageshack.us/Himg820/scaled.php?server=820&filename=kamailiotransactionsuse.png&res=landing "kamailio_transaction") 5 | 6 | ## Usage of shared memory (total, used and real used). 7 | ![kamailio_shared_memory](http://desmond.imageshack.us/Himg837/scaled.php?server=837&filename=kamailiomysqlsharedmemo.png&res=landing "kamailio_shared_memory") 8 | 9 | ## Memory usage by Kamailio, Freeswitch and RTPproxy. 10 | ![kamailio_memory](http://desmond.imageshack.us/Himg851/scaled.php?server=851&filename=kamailiomemoryweek.png&res=landing "kamailio_memory") 11 | 12 | it requires MySQL [statistics] (http://siremis.asipto.com/install-charts-panel) table created in Kamailio database. 13 | 14 | ## Configuration 15 | edit /etc/munin/plugin-conf.d/munin-node and add: 16 | 17 | [kamailio*] 18 | user root 19 | group root 20 | env.mysql [optional-override-of-mysqladmin-path] 21 | env.mysqlauth -u[User] -p[Password] 22 | env.kamailiodb [kamailio data base] 23 | 24 | -------------------------------------------------------------------------------- /plugins/logins/logins: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | do_config() { 4 | graph=( 2 # number of graphs. 5 | label draw colour # graph setup 6 | logins AREA 40ff40 # 1st graph setup data 7 | users LINE2 ff0080 # 2nd graph setup data 8 | ) 9 | 10 | cat << EOF 11 | graph_title Users Online 12 | graph_vlabel Number of users and logins 13 | graph_category system 14 | graph_args --base 1000 -l 0 15 | graph_scale no 16 | EOF 17 | 18 | # can go into an include file 19 | labels=$((${#graph[*]}/(graph+1))) 20 | for ((i=0; i 6 | # Licensed under WTFPL 7 | # 8 | # Standard config options you may want to set: 9 | # [eoc_*] 10 | # user list 11 | # env.HOME /var/list 12 | # 13 | # Magic markers - optional - used by installation scripts and 14 | # munin-config: 15 | # 16 | #%# family=manual 17 | #%# capabilities=autoconf 18 | 19 | if [ "$1" = "autoconf" ]; then 20 | echo yes 21 | exit 0 22 | fi 23 | 24 | LISTNAME=$(basename "$0" | sed 's/^eoc_subscribers_count_//g' | tr '_' '@') 25 | 26 | if [ "$1" = "config" ]; then 27 | 28 | echo "graph_title Number of subscribers to ${LISTNAME}" 29 | echo 'graph_vlabel subscribers' 30 | echo 'graph_category mailinglist' 31 | echo 'subscribers.label subscribers' 32 | echo 'subscribers.draw AREA' 33 | echo 'subscribers.info Number of subscribers to the list' 34 | exit 0 35 | fi 36 | 37 | printf "subscribers.value %s" "$(enemies-of-carlotta --name "${LISTNAME}" --list | wc -l)" 38 | -------------------------------------------------------------------------------- /plugins/memcached/memcached_bytes_: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # ex:ts=4 3 | 4 | use strict; 5 | use warnings; 6 | 7 | use Cache::Memcached; 8 | 9 | my $cmd = shift || ''; 10 | if ($cmd eq 'config') { 11 | print "graph_title Memcached bytes used\n"; 12 | print "graph_args --base 1024 -l 0\n"; 13 | print "graph_vlabel bytes\n"; 14 | print "graph_category memory\n"; 15 | print "graph_info This graph monitors the size of the memcached cache.\n"; 16 | print "bytes.label bytes used\n"; 17 | print "bytes.info Number of bytes currently used\n"; 18 | print "bytes.min 0\n"; 19 | print "bytes.draw AREA\n"; 20 | print "maxbytes.label maximum available\n"; 21 | print "maxbytes.info The configured cache size\n"; 22 | print "maxbytes.min 0\n"; 23 | exit 0; 24 | } 25 | 26 | $0 =~ /memcached_bytes_(\d+_\d+_\d+_\d+)_(\d+)$/; 27 | my ($ip, $port) = ($1, $2); 28 | $ip =~ s/_/./g; 29 | my $address = "$ip:$port"; 30 | 31 | my $memd = new Cache::Memcached { 'servers' => [$address] }; 32 | my $memstats = $memd->stats(['misc']); 33 | 34 | print "bytes.value " . $memstats->{hosts}->{$address}->{misc}->{bytes} . "\n"; 35 | print "maxbytes.value " . 36 | $memstats->{hosts}->{$address}->{misc}->{limit_maxbytes} . "\n"; 37 | -------------------------------------------------------------------------------- /plugins/memcached/memcached_connections_: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # ex:ts=4 3 | 4 | use strict; 5 | use warnings; 6 | 7 | use Cache::Memcached; 8 | 9 | my $cmd = shift || ''; 10 | if ($cmd eq 'config') { 11 | print "graph_title Memcached connections\n"; 12 | print "graph_args --base 1000 -l 0\n"; 13 | print "graph_vlabel connections\n"; 14 | print "graph_category memory\n"; 15 | print "graph_info This graph monitors the connections to the memcached server.\n"; 16 | print "connections.label connections\n"; 17 | print "connections.info Number of connections to memcached\n"; 18 | print "connections.min 0\n"; 19 | print "connections.draw AREA\n"; 20 | exit 0; 21 | } 22 | 23 | $0 =~ /memcached_connections_(\d+_\d+_\d+_\d+)_(\d+)$/; 24 | my ($ip, $port) = ($1, $2); 25 | $ip =~ s/_/./g; 26 | my $address = "$ip:$port"; 27 | 28 | my $memd = new Cache::Memcached { 'servers' => [$address] }; 29 | my $memstats = $memd->stats(['misc']); 30 | 31 | print "connections.value " . 32 | $memstats->{hosts}->{$address}->{misc}->{curr_connections} . "\n"; 33 | -------------------------------------------------------------------------------- /plugins/memcached/memcached_hits_: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # ex:ts=4 3 | 4 | use strict; 5 | use warnings; 6 | 7 | use Cache::Memcached; 8 | 9 | $0 =~ /memcached_hits_(\d+_\d+_\d+_\d+)_(\d+)$/; 10 | my ($ip, $port) = ($1, $2); 11 | $ip =~ s/_/./g; 12 | my $address = "$ip:$port"; 13 | 14 | my $title = $ENV{title} || $address; 15 | 16 | my $cmd = shift || ''; 17 | if ($cmd eq 'config') { 18 | print "graph_title Memcached cache hits and misses -- $title\n"; 19 | print "graph_args --base 1000 -l 0\n"; 20 | print "graph_vlabel requests\n"; 21 | print "graph_category memory\n"; 22 | print "graph_info This graph monitors the number of cache hits and misses.\n"; 23 | print "hits.label hits\n"; 24 | print "hits.info Number of cache hits\n"; 25 | print "hits.min 0\n"; 26 | print "hits.type DERIVE\n"; 27 | print "misses.label misses\n"; 28 | print "misses.info Number of cache misses\n"; 29 | print "misses.min 0\n"; 30 | print "misses.type DERIVE\n"; 31 | print "misses.draw AREA\n"; 32 | exit 0; 33 | } 34 | 35 | my $memd = new Cache::Memcached { 'servers' => [$address] }; 36 | my $memstats = $memd->stats(['misc']); 37 | 38 | print "hits.value " . $memstats->{hosts}->{$address}->{misc}->{get_hits} . "\n"; 39 | print "misses.value " . 40 | $memstats->{hosts}->{$address}->{misc}->{get_misses} . "\n"; 41 | -------------------------------------------------------------------------------- /plugins/memcached/memcached_items_: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # ex:ts=4 3 | 4 | use strict; 5 | use warnings; 6 | 7 | use Cache::Memcached; 8 | 9 | my $cmd = shift || ''; 10 | if ($cmd eq 'config') { 11 | print "graph_title Memcached cached items\n"; 12 | print "graph_args --base 1000 -l 0\n"; 13 | print "graph_vlabel items\n"; 14 | print "graph_category memory\n"; 15 | print "graph_info This graph monitors the number of items stored by the memcached server.\n"; 16 | print "items.label items\n"; 17 | print "items.info Number of cached items\n"; 18 | print "items.min 0\n"; 19 | print "items.draw AREA\n"; 20 | exit 0; 21 | } 22 | 23 | $0 =~ /memcached_items_(\d+_\d+_\d+_\d+)_(\d+)$/; 24 | my ($ip, $port) = ($1, $2); 25 | $ip =~ s/_/./g; 26 | my $address = "$ip:$port"; 27 | 28 | my $memd = new Cache::Memcached { 'servers' => [$address] }; 29 | my $memstats = $memd->stats(['misc']); 30 | 31 | print "items.value " . 32 | $memstats->{hosts}->{$address}->{misc}->{curr_items} . "\n"; 33 | -------------------------------------------------------------------------------- /plugins/memcached/memcached_requests_: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | # ex:ts=4 3 | 4 | use strict; 5 | use warnings; 6 | 7 | use Cache::Memcached; 8 | 9 | $0 =~ /memcached_requests_(\d+_\d+_\d+_\d+)_(\d+)$/; 10 | my ($ip, $port) = ($1, $2); 11 | $ip =~ s/_/./g; 12 | my $address = "$ip:$port"; 13 | 14 | my $title = $ENV{title} || $address; 15 | 16 | my $cmd = shift || ''; 17 | if ($cmd eq 'config') { 18 | print "graph_title Memcached requests -- $title\n"; 19 | print "graph_args --base 1000 -l 0\n"; 20 | print "graph_vlabel requests\n"; 21 | print "graph_category memory\n"; 22 | print "graph_info This graph monitors the number of get and set requests.\n"; 23 | print "gets.label gets\n"; 24 | print "gets.info Number of get requests\n"; 25 | print "gets.min 0\n"; 26 | print "gets.type DERIVE\n"; 27 | print "gets.draw AREA\n"; 28 | print "sets.label sets\n"; 29 | print "sets.info Number of set requests\n"; 30 | print "sets.min 0\n"; 31 | print "sets.type DERIVE\n"; 32 | print "sets.draw STACK\n"; 33 | exit 0; 34 | } 35 | 36 | my $memd = new Cache::Memcached { 'servers' => [$address] }; 37 | my $memstats = $memd->stats(['misc']); 38 | 39 | print "gets.value " . $memstats->{hosts}->{$address}->{misc}->{cmd_get} . "\n"; 40 | print "sets.value " . $memstats->{hosts}->{$address}->{misc}->{cmd_set} . "\n"; 41 | -------------------------------------------------------------------------------- /plugins/memory/proc_mem: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # (c) 2010, Rodrigo Sieiro 4 | # Based on the 'du_multidirs' plugin, written by Christian Kujau 5 | # 6 | # Configure it by using the processes env var, i.e.: 7 | # 8 | # [proc_mem] 9 | # env.processes munin-node apache2 10 | # 11 | 12 | . $MUNIN_LIBDIR/plugins/plugin.sh 13 | 14 | if [ "$1" = "autoconf" ]; then 15 | echo yes 16 | exit 0 17 | fi 18 | 19 | processes=${processes:="munin-node"} 20 | 21 | if [ "$1" = "config" ]; then 22 | echo 'graph_title Memory usage by process' 23 | echo 'graph_args --base 1024 -l 0' 24 | echo 'graph_vlabel Bytes' 25 | echo 'graph_category processes' 26 | echo 'graph_info This graph shows the memory usage of several processes' 27 | 28 | for proc in $processes; do 29 | echo "$proc.label $proc" 30 | done 31 | 32 | # echo "$u".warning 0 33 | # echo "$u".critical 0 34 | 35 | exit 0 36 | fi 37 | 38 | for proc in $processes; do 39 | echo "$proc.value " `ps u -C $proc | awk 'BEGIN { sum = 0 } NR > 1 { sum += $6 }; END { print sum * 1024 }'` 40 | done 41 | -------------------------------------------------------------------------------- /plugins/minecraft/minecraft-users: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # Config: 3 | # [minecraft_users] 4 | # env.host awesomeserver.com 5 | # env.port 25566 6 | # 7 | 8 | require 'socket' 9 | 10 | if ARGV[0] == 'config' 11 | puts 'graph_title Connected players' 12 | puts 'graph_vlabel players' 13 | puts 'players.label players' 14 | puts 'graph_info Number of players connected to Minecraft' 15 | puts 'graph_category games' 16 | exit 17 | end 18 | 19 | host = ENV['host'] 20 | host ||= 'localhost' 21 | 22 | port = ENV['port'] 23 | port ||= '25566' 24 | 25 | socket = TCPSocket.new(host, port) 26 | socket.puts 'QUERY' 27 | 28 | response = socket.read 29 | response = response.split("\n") 30 | 31 | server_port = response[0].split(' ', 2)[1].to_i 32 | player_count = response[1].split(' ', 2)[1].to_i 33 | max_players = response[2].split(' ', 2)[1].to_i 34 | player_list = response[3].split(' ', 2)[1].chomp[1..-2] 35 | 36 | puts "players.value #{player_count}" 37 | -------------------------------------------------------------------------------- /plugins/mpd/example-graphs/mpdstats_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/mpd/example-graphs/mpdstats_-day.png -------------------------------------------------------------------------------- /plugins/network/bandwidth-OVH-Network: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ###################################################################### 3 | #Plugins for fetch download bandwidth to your server from ovh network# 4 | ###################################################################### 5 | #By Nicolas I. (McKay1717) 6 | # 7 | # 8 | 9 | # CONFIG ------------------------------------------------------------------ 10 | if [ "$1" = "config" ]; then 11 | echo "graph_title Available download bandwidth to OVH Network" 12 | echo 'graph_args --base 1000 -l 0' 13 | echo 'graph_vlabel MB/s' 14 | echo 'graph_scale no' 15 | echo 'graph_category network' 16 | echo "download.label download" 17 | exit 0 18 | fi 19 | #If is not a config action => launch download test 20 | echo -n "download.value " #echo key word 21 | wget -O /dev/null http://proof.ovh.net/files/1Gb.dat 2>&1\ 22 | | grep MB/s | tail -n 1 | cut -d\( -f2 | 23 | cut -d\ -f1 24 | #Download with wget and get avr speed during the download 25 | -------------------------------------------------------------------------------- /plugins/network/count-me: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # munin plugin that return 1. It is used for counting total server within a group 3 | # 4 | # (c) 2011 josecelano@gmail.com 5 | #%# family=manual 6 | 7 | case $1 in 8 | config) 9 | cat </dev/null | wc -l`" 29 | else 30 | echo "could not get subnet name ($SUBNET)" 31 | fi 32 | -------------------------------------------------------------------------------- /plugins/network/quagga_routes: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ "$1" = "config" ]; then 4 | echo 'graph_title quagga routes' 5 | echo 'graph_args -l 0' 6 | echo 'graph_vlabel routes' 7 | echo 'graph_category network' 8 | echo 'graph_scale no' 9 | /usr/local/bin/vtysh -e "sh ip ro sum" | awk ' 10 | /connected/ {print $1 ".label " $1 "\n" $1 ".draw AREASTACK"} 11 | /static/ {print $1 ".label " $1 "\n" $1 ".draw AREASTACK"} 12 | /ebgp/ {print $1 ".label " $1 "\n" $1 ".draw AREASTACK"} 13 | /ibgp/ {print $1 ".label " $1 "\n" $1 ".draw AREASTACK"} 14 | /ospf/ {print $1 ".label " $1 "\n" $1 ".draw AREASTACK"} 15 | /Totals/ {print $1 ".label " $1 "\n" $1 ".draw LINE1"} 16 | ' 17 | exit 0 18 | fi 19 | 20 | /usr/local/bin/vtysh -e "sh ip ro sum" | awk ' 21 | /connected/ {print $1 ".value "$2} 22 | /static/ {print $1 ".value "$2} 23 | /ebgp/ {print $1 ".value "$2} 24 | /ibgp/ {print $1 ".value "$2} 25 | /ospf/ {print $1 ".value "$2} 26 | /Totals/ {print $1 ".value "$2} 27 | ' 28 | -------------------------------------------------------------------------------- /plugins/network/sockstat: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | 4 | PATH=/bin:/usr/bin 5 | 6 | if [ "$1" = "autoconf" ]; then 7 | echo yes 8 | exit 0 9 | fi 10 | 11 | DAEMONS=`sockstat | awk '{print substr($0, 1, 8)}' | sort | uniq` 12 | 13 | if [ "$1" = "config" ]; then 14 | echo 'graph_title Connections' 15 | echo 'graph_vlabel Connections' 16 | echo 'graph_noscale true' 17 | echo 'graph_category network' 18 | echo 'graph_info This graph shows connections load.' 19 | 20 | for D in $DAEMONS 21 | do 22 | echo "_$D.label $D" 23 | done 24 | 25 | echo "_TOTAL.label TOTAL" 26 | 27 | exit 0 28 | fi 29 | 30 | VALUES=`sockstat | awk '{print substr($0, 1, 8)}' | sort | uniq -c` 31 | NUM=1 32 | 33 | for D in $DAEMONS 34 | do 35 | echo -n "_$D.value " 36 | VAL=`echo $VALUES | cut -d ' ' -f $NUM` 37 | echo $VAL 38 | NUM=$(($NUM + 2)) 39 | done 40 | 41 | echo -n "_TOTAL.value " 42 | sockstat | wc -l 43 | -------------------------------------------------------------------------------- /plugins/network/sockstat-via-procfs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | 3 | import re 4 | import sys 5 | 6 | fields = ( 7 | ('sockets_used', 'sockets used'), 8 | ('tcp_inuse', 'TCP inuse'), 9 | ('tcp_orphan', 'TCP orphan'), 10 | ('tcp_tw', 'TCP tw'), 11 | ('tcp_alloc', 'TCP alloc'), 12 | ('tcp_mem', 'TCP mem'), 13 | ('udp_inuse', 'UDP inuse'), 14 | ('udplite_inuse', 'UDPLITE inuse'), 15 | ('raw_inuse', 'RAW inuse'), 16 | ('frag_inuse', 'FRAG inuse'), 17 | ('frag_memory', 'FRAG memory'), 18 | ) 19 | 20 | if len(sys.argv) > 1: 21 | arg = sys.argv[1] 22 | if arg == 'autoconfig': 23 | print('yes') 24 | sys.exit(0) 25 | if arg == 'config': 26 | print('graph_title sockstat') 27 | print('graph_category network') 28 | for name, label in fields: 29 | print('%s.label %s' % (name, label)) 30 | sys.exit(0) 31 | 32 | re_num = re.compile(r'(\d+)') 33 | sockstat = open('/proc/net/sockstat').read() 34 | numbers = re_num.findall(sockstat) 35 | 36 | for i, (name, label) in enumerate(fields): 37 | print('%s.value %s' % (name, numbers[i])) 38 | 39 | sys.exit(0) 40 | -------------------------------------------------------------------------------- /plugins/network/transmission/transmission_activity_example_day_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/network/transmission/transmission_activity_example_day_.png -------------------------------------------------------------------------------- /plugins/network/transmission/transmission_status_example_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/network/transmission/transmission_status_example_day.png -------------------------------------------------------------------------------- /plugins/network/transmission/transmission_traffic_example_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/network/transmission/transmission_traffic_example_day.png -------------------------------------------------------------------------------- /plugins/network/umts_sig: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # A Munin Plugin to show umts signal strength using gcom 4 | # Created by Derik Vercueil 5 | # Based on a work of "auth" 6 | # 7 | # Parameters understood: 8 | # 9 | # config (required) 10 | # autoconf (optional - used by munin-config) 11 | # 12 | # 13 | # Magic markers (optional - used by munin-config and installation 14 | # scripts): 15 | # 16 | #%# family=auto 17 | #%# capabilities=autoconf 18 | 19 | 20 | ############################# 21 | # Configuration 22 | ############################# 23 | MAXLABEL=20 24 | EXPR_BIN=/usr/bin/expr 25 | ############################# 26 | 27 | if [ "$1" = "autoconf" ]; then 28 | echo yes 29 | exit 0 30 | fi 31 | 32 | if [ "$1" = "config" ]; then 33 | 34 | echo 'graph_title UMTS Signal Strength' 35 | echo 'graph_args --base 1000 -l 0' 36 | echo 'graph_vlabel Signal Strength' 37 | echo 'graph_category network' 38 | echo 'signal_strength.label Signal Strength' 39 | exit 0 40 | fi 41 | ############################# 42 | # Illegal User 43 | ############################# 44 | VAL=`gcom -d /dev/ttyUSB2 sig | sed 's/[Signal Quality: ]//g' | sed 's/,/./g'` 45 | echo -en "signal_strength.value $VAL" 46 | echo -n 47 | -------------------------------------------------------------------------------- /plugins/network/windows_domain: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # munin plugin to monitor the number of logged in users 3 | # and the number of hosts they're spread across on a windows domain. 4 | # uses output dump of "net sess" from the domain controller. 5 | # (c) 2011 jon@jon.bpa.nu 6 | #%# family=manual 7 | 8 | SESSIONS="/srv/pub/kram/dud" 9 | 10 | case $1 in 11 | config) 12 | cat <\*\+=\|\\/\?,]" { if(length($2)>=2) ua[tolower($2)] } 23 | $1 !~ "\:" { ha[$1] } 24 | END{ print "users.value",length(ua); 25 | print "hosts.value",length(ha) }' 2>/dev/null 26 | -------------------------------------------------------------------------------- /plugins/nfs-freebsd/README.rst: -------------------------------------------------------------------------------- 1 | NFS plugins for FreeBSD 2 | ------------------------ 3 | 4 | The NFS plugins for Munin depend on the /proc filesystem in Linux for 5 | statistics which does not exist in FreeBSD by default. While one can 6 | add the linproc package to their installation to emulate this 7 | functionality, I felt it would be better to write plugins that made use 8 | of native tools. 9 | 10 | I'm leveraging the nfsstat command to create these plugins. I'm sure 11 | there is a better primary data source in FreeBSD to gather this output 12 | from but for my purposes, using nfsstat is adequate and acceptable. 13 | Unfortunately this means if the output of the nfsstat command changes 14 | due to updates, these plugins will likely report inaccurate data. 15 | These are the days of our lives, as they say. Someone with appropriate 16 | levels of FreeBSD knowledge can probably improve these plugins 17 | trivially. 18 | 19 | I'm specifically targeting FreeNAS/NAS4Free, but the code should work 20 | on any FreeBSD system with minimal package additions. Installing munin 21 | on FreeNAS is not supported in general, but it's easy enough to do and 22 | I wanted it monitored, ergo we are here. 23 | -------------------------------------------------------------------------------- /plugins/nginx/example-graphs/nginx_connection_request-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/nginx/example-graphs/nginx_connection_request-month.png -------------------------------------------------------------------------------- /plugins/nginx/nginx_byprojects/LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2012-2013, Danny Fullerton, danny at mantor dot org 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /plugins/nginx/nginx_working_set: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Munin plugin for monitoring Nginx working set 4 | # 5 | # by Mike Koss, Feb 12, 2012 - MIT License 6 | # 7 | #%# family=auto 8 | #%# capabilities=autoconf 9 | 10 | case $1 in 11 | config) 12 | cat <<'EOF' 13 | graph_title NGINX Working Set 14 | graph_vlabel WS Bytes 15 | graph_category webserver 16 | graph_args --base 1024 17 | ws.label Working Set 18 | EOF 19 | exit 0 20 | ;; 21 | 22 | autoconf) 23 | if [ "$(pidof nginx)" == "" ]; then 24 | echo no 25 | else 26 | echo yes 27 | fi 28 | exit 0 29 | ;; 30 | esac 31 | 32 | KBS=$(ps -o rss --no-heading -p $(pidof nginx)) 33 | total=0 34 | for size in $KBS 35 | do 36 | total=$(($total + $size * 1024)) 37 | done 38 | echo ws.value $total 39 | -------------------------------------------------------------------------------- /plugins/oracle/example-graphs/oracle_sysstat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/oracle/example-graphs/oracle_sysstat-1.png -------------------------------------------------------------------------------- /plugins/oracle/example-graphs/oracle_sysstat-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/oracle/example-graphs/oracle_sysstat-2.png -------------------------------------------------------------------------------- /plugins/ossec/ossec_agents: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | if [ "$1" = "autoconf" ]; then 4 | echo "yes" 5 | exit 0 6 | fi 7 | 8 | if [ "$1" = "config" ]; then 9 | echo "graph_title Ossec agents status" 10 | echo "graph_args --base 1000 -l 0" 11 | echo "graph_vlabel Number of ossec agents" 12 | echo "graph_category security" 13 | echo "graph_scale no" 14 | echo "active.label active" 15 | echo "active.draw LINE2" 16 | echo 'active.min 0' 17 | echo "inactive.label inactive" 18 | echo "inactive.draw LINE2" 19 | echo 'inactive.min 0' 20 | exit 0 21 | fi 22 | 23 | ### where to find the ossec tools 24 | ossecdir="/var/ossec/bin" 25 | 26 | ### count the lines from the output of the list_agents tool 27 | ACTIVE=`$ossecdir/list_agents -c | grep -wv "** No agent available" | wc -l` 28 | INACTIVE=`$ossecdir/list_agents -n | grep -wv "** No agent available" | wc -l` 29 | 30 | echo "active.value ${ACTIVE}" 31 | echo "inactive.value ${INACTIVE}" 32 | exit 0 33 | -------------------------------------------------------------------------------- /plugins/other/freebsd-upgrades: -------------------------------------------------------------------------------- 1 | #!/usr/local/bin/bash 2 | 3 | if [ "$1" = "config" ]; then 4 | echo "graph_title Available Updates" 5 | echo "graph_category security" 6 | echo "graph_args --base 1000 -l 0" 7 | echo "graph_vlabel upgradeable packages/ports " 8 | echo "pkg.label binary packages" 9 | echo "ports.label ports" 10 | exit 0 11 | fi 12 | 13 | if [ "$1" = "autoconf" ]; then 14 | echo "yes" 15 | exit 0 16 | fi 17 | 18 | updates="$(freebsd-update fetch | \ 19 | grep -v 'Looking up update.FreeBSD.org mirrors' | \ 20 | grep -v 'Fetching metadata signature' | \ 21 | grep -v 'Fetching metadata index' | \ 22 | grep -v 'Inspecting system' | \ 23 | grep -v 'Preparing to download files' | \ 24 | grep -v -e '^$' | \ 25 | grep -v 'The following files will be added' | \ 26 | grep -v 'No updates needed' | \ 27 | grep -v 'The following files will be updated' | wc -l | sed -e 's/ //g' )" 28 | 29 | updates="$(echo -n "${updates}")" 30 | 31 | echo "pkg.value $updates" 32 | 33 | 34 | updates="$(portversion | grep '<' | wc -l | sed -e 's/ //g')" 35 | updates="$(echo -n "${updates}")" 36 | 37 | echo "ports.value $updates" 38 | 39 | exit 0 40 | -------------------------------------------------------------------------------- /plugins/other/globesurfer: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # 4 | # Script to the signal strength of a Open GlobeSurfer II 3G router. 5 | # 6 | # Parameters understood: 7 | # 8 | # config (required) 9 | # autoconf (optional - used by munin-config) 10 | # 11 | # 12 | # Magic markers (optional - used by munin-config and installation 13 | # scripts): 14 | # 15 | #%# family=auto 16 | #%# capabilities=autoconf 17 | MAXLABEL=20 18 | 19 | if [ "$1" = "autoconf" ]; then 20 | echo yes 21 | exit 0 22 | fi 23 | 24 | if [ "$1" = "config" ]; then 25 | 26 | echo 'graph_title GlobeSurfer II Signal Strength' 27 | echo 'graph_args --base 1000 -l 0' 28 | echo 'graph_vlabel Daily Statistics' 29 | echo 'signal_strength.label Signal Strength' 30 | exit 0 31 | fi 32 | 33 | wget -q http://192.168.1.1 -O /tmp/index.html 34 | grep "dBm" /tmp/index.html | perl -ne 'if (/(-\d+) dBm/) {print "-en signal_strength.value ".$1}'; 35 | rm /tmp/index.html 36 | -------------------------------------------------------------------------------- /plugins/other/pid: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | #%# family=manual 4 | #%# capabilities=autoconf 5 | 6 | STYLE=LINE2 7 | GRAPH="pid" 8 | SECTION="system" 9 | 10 | run_autoconf() { 11 | echo yes 12 | } 13 | 14 | run_config() { 15 | cat << EOF 16 | graph_title ${GRAPH} 17 | graph_category ${SECTION} 18 | graph_vlabel pid 19 | pid.label pid 20 | pid.draw LINE2 21 | pid.min 0 22 | pid.info pid 23 | EOF 24 | } 25 | 26 | run_() { 27 | echo "pid.value $$" 28 | } 29 | 30 | run_$1 31 | -------------------------------------------------------------------------------- /plugins/other/radwho_cnt: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Plugin to monitor the FreeRadius active users count 3 | # Usage: Link or copy into /etc/munin/node.d/ 4 | # Config variables: 5 | # radwho - radwho binary 6 | 7 | radwho=${radwho:-/usr/local/bin/radwho} 8 | 9 | if [ "$1" = "config" ]; then 10 | echo 'graph_title FreeRadius active users count' 11 | echo 'graph_args --base 1000 -l 0' 12 | echo 'graph_vlabel users' 13 | echo 'graph_noscale true' 14 | echo 'graph_category auth' 15 | echo 'usercnt.label users' 16 | echo 'graph_info FreeRadius active users count.' 17 | echo 'usercnt.info FreeRadius active users count' 18 | exit 0 19 | fi 20 | 21 | echo "usercnt.value $("$radwho" -rci 2>/dev/null | wc -l)" 22 | -------------------------------------------------------------------------------- /plugins/other/xcache_hits: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | # 3 | 4 | require LWP::UserAgent; 5 | 6 | 7 | ######################################################################################## 8 | # 9 | # Installation / Configuration 10 | # 11 | # - place munin_xcache.php in a directory on your webserver 12 | # - add the url config to plugin-conf.d/munin-node 13 | # 14 | # 15 | # for more info see http://www.ohardt.net/dev/munin/ 16 | # 17 | # 18 | 19 | 20 | 21 | 22 | chomp(my $fqdn=`hostname -f`); 23 | 24 | 25 | my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://user:pwd\@$fqdn/munin_xcache_new.php"; 26 | 27 | $URL = $URL . "?what=hits"; 28 | 29 | my $ua = LWP::UserAgent->new(timeout => 30); 30 | 31 | 32 | if ( exists $ARGV[0] and $ARGV[0] eq "config" ) 33 | { 34 | 35 | $URL = $URL . '&config'; 36 | 37 | my $response = $ua->request(HTTP::Request->new('GET',$URL . '&config' )); 38 | 39 | print $response->content; 40 | 41 | 42 | exit( 0 ); 43 | } 44 | 45 | 46 | my $response = $ua->request(HTTP::Request->new('GET',$URL)); 47 | 48 | 49 | print $response->content; 50 | 51 | 52 | exit( 0 ); 53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /plugins/other/xcache_items: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | # 3 | 4 | require LWP::UserAgent; 5 | 6 | ######################################################################################## 7 | # 8 | # Installation / Configuration 9 | # 10 | # - place munin_xcache.php in a directory on your webserver 11 | # - add the url config to plugin-conf.d/munin-node 12 | # 13 | # 14 | # for more info see http://www.ohardt.net/dev/munin/ 15 | # 16 | # 17 | 18 | 19 | 20 | chomp(my $fqdn=`hostname -f`); 21 | 22 | 23 | my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://user:pwd\@$fqdn/munin_xcache_new.php"; 24 | 25 | $URL = $URL . "?what=items"; 26 | 27 | my $ua = LWP::UserAgent->new(timeout => 30); 28 | 29 | 30 | if ( exists $ARGV[0] and $ARGV[0] eq "config" ) 31 | { 32 | 33 | $URL = $URL . '&config'; 34 | 35 | my $response = $ua->request(HTTP::Request->new('GET',$URL . '&config' )); 36 | 37 | print $response->content; 38 | 39 | 40 | exit( 0 ); 41 | } 42 | 43 | 44 | my $response = $ua->request(HTTP::Request->new('GET',$URL)); 45 | 46 | 47 | print $response->content; 48 | 49 | 50 | exit( 0 ); 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /plugins/passenger/passenger_memory: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # Be sure to configure this node in the plugin configuration 4 | # Memory stats must be run by root 5 | # Ex: 6 | # [passenger_memory] 7 | # user root 8 | # env.memory_stats_command path_to_passenger-memory-stats 9 | # 10 | 11 | memory_stats_command = ENV['memory_stats_command'] || '/opt/ruby-enterprise-1.8.6-20080810/bin/passenger-memory-stats' 12 | 13 | if ARGV.length > 0 && ARGV[0] == 'config' 14 | puts 'graph_title Passenger Memory Usage' 15 | puts 'graph_category webserver' 16 | puts 'graph_vlabel MB' 17 | puts 'apache_rss.label Apache Dirty RSS' 18 | puts 'passenger_rss.label Passenger Dirty RSS' 19 | exit(0) 20 | end 21 | 22 | apache_rss = nil 23 | passenger_rss = nil 24 | 25 | `#{memory_stats_command}`.each_line do |line| 26 | next unless /### Total private dirty RSS: (\d+\.\d+) MB/.match(line) 27 | 28 | passenger_rss = $~[1] unless apache_rss.nil? 29 | apache_rss ||= $~[1] 30 | end 31 | 32 | puts "apache_rss.value #{apache_rss}" 33 | puts "passenger_rss.value #{passenger_rss}" 34 | -------------------------------------------------------------------------------- /plugins/passenger/passenger_processes: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env ruby 2 | # 3 | # [passenger_processes] 4 | # user root 5 | # env.process_stats_command /opt/ruby-enterprise-1.8.6-20080810/bin/passenger-status 6 | # 7 | 8 | process_stats_command = ENV['process_stats_command'] || '/opt/ruby-enterprise-1.8.6-20080810/bin/passenger-status' 9 | 10 | if ARGV.length > 0 && ARGV[0] == 'config' 11 | puts 'graph_title Passenger Processes' 12 | puts 'graph_category webserver' 13 | puts 'graph_vlabel processes' 14 | puts 'max.label Max processes' 15 | puts 'count.label Total processes' 16 | puts 'active.label Active processes' 17 | puts 'queued.label Queued requests' 18 | exit(0) 19 | end 20 | 21 | max = nil 22 | count = nil 23 | active = nil 24 | queued = nil 25 | 26 | `#{process_stats_command}`.each_line do |line| 27 | case line 28 | when /max\s+=\s+(\d+)/ 29 | max = $~[1] 30 | when /count\s+=\s+(\d+)/ 31 | count = $~[1] 32 | when /^active\s+=\s+(\d+)/ 33 | active = $~[1] 34 | when /Waiting on global queue\s+=\s+(\d+)/ 35 | queued = $~[1] 36 | end 37 | end 38 | 39 | puts "max.value #{max}" 40 | puts "count.value #{count}" 41 | puts "active.value #{active}" 42 | puts "queued.value #{queued.to_i}" 43 | -------------------------------------------------------------------------------- /plugins/pdns/pdns_latency: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Script to monitor PowerDNS performance 4 | # 5 | # Parameters understood: 6 | # 7 | # config (required) 8 | # autoconf (optional - used by munin-config) 9 | #%# family=auto 10 | #%# capabilities=autoconf 11 | 12 | pdns_control="/usr/bin/pdns_control" 13 | command="$pdns_control show" 14 | 15 | if [ "$1" = "autoconf" ]; then 16 | if [ -e "$pdns_control" ]; then 17 | echo yes 18 | exit 0 19 | else 20 | echo "no (missing $pdns_control)" 21 | exit 0 22 | fi 23 | fi 24 | 25 | if [ "$1" = "config" ]; then 26 | echo 'graph_title Power DNS latency' 27 | echo 'graph_args -l 0' 28 | echo 'graph_vlabel usec' 29 | echo 'graph_category dns' 30 | echo 'graph_info This graph shows Power DNS latency on the machine.' 31 | echo 'latency.label latency' 32 | echo 'latency.info Average number of microseconds needed to answer a question' 33 | echo 'latency.type GAUGE' 34 | exit 0 35 | fi 36 | 37 | 38 | 39 | 40 | echo "latency.value $($command latency)" 41 | -------------------------------------------------------------------------------- /plugins/pdns/pdns_qsize: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Script to monitor PowerDNS performance 4 | # 5 | # Parameters understood: 6 | # 7 | # config (required) 8 | # autoconf (optional - used by munin-config) 9 | #%# family=auto 10 | #%# capabilities=autoconf 11 | 12 | pdns_control="/usr/bin/pdns_control" 13 | command="$pdns_control show" 14 | 15 | if [ "$1" = "autoconf" ]; then 16 | if [ -e "$pdns_control" ]; then 17 | echo yes 18 | exit 0 19 | else 20 | echo "no (missing $pdns_control)" 21 | exit 0 22 | fi 23 | fi 24 | 25 | if [ "$1" = "config" ]; then 26 | echo 'graph_title Power DNS database queue' 27 | echo 'graph_args -l 0' 28 | echo 'graph_vlabel number of waiting queries' 29 | echo 'graph_category dns' 30 | echo 'graph_info This graph shows Power DNS database performance on the machine.' 31 | echo 'qsize.label qsize' 32 | echo 'qsize.info Number of questions waiting for database attention' 33 | echo 'qsize.type GAUGE' 34 | exit 0 35 | fi 36 | 37 | 38 | 39 | 40 | echo "qsize.value $($command qsize-q)" 41 | 42 | -------------------------------------------------------------------------------- /plugins/pdns/pdns_rec_cache_size: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # pdns_recursor munin plugin. 4 | # Written by Sean Reifschneider 2009-12-03 5 | # Placed in the public domain 6 | # 7 | # Requires running as root: 8 | # 9 | # echo '[pdns_rec_*]' >/etc/munin/plugin-conf.d/pdns_rec 10 | # echo 'user root' >>/etc/munin/plugin-conf.d/pdns_rec 11 | 12 | rec_control="/usr/bin/rec_control" 13 | 14 | if [ "$1" = "autoconf" ]; then 15 | if [ -e "$rec_control" ]; then 16 | echo yes 17 | exit 0 18 | else 19 | echo "no (missing $rec_control)" 20 | exit 0 21 | fi 22 | fi 23 | 24 | if [ "$1" = "config" ]; then 25 | echo 'graph_title PDNS Cache Size' 26 | echo 'graph_order entries negative' 27 | echo 'graph_vlabel entries' 28 | echo 'graph_info Size of the cache' 29 | echo 'graph_category dns' 30 | 31 | echo 'entries.label Entries' 32 | echo 'entries.min 0' 33 | echo 'entries.type GAUGE' 34 | echo 'entries.info Cache entries' 35 | 36 | echo 'negative.label Negative entries' 37 | echo 'negative.min 0' 38 | echo 'negative.type GAUGE' 39 | echo 'negative.info Cache negative entries' 40 | 41 | exit 0 42 | fi 43 | 44 | echo entries.value "$($rec_control get cache-entries)" 45 | echo negative.value "$($rec_control get negcache-entries)" 46 | 47 | exit 0 48 | -------------------------------------------------------------------------------- /plugins/pdns/pdns_rec_concurrent: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # pdns_recursor munin plugin. 4 | # Written by Sean Reifschneider 2009-12-03 5 | # Placed in the public domain 6 | # 7 | # Requires running as root: 8 | # 9 | # echo '[pdns_rec_*]' >/etc/munin/plugin-conf.d/pdns_rec 10 | # echo 'user root' >>/etc/munin/plugin-conf.d/pdns_rec 11 | 12 | rec_control="/usr/bin/rec_control" 13 | 14 | if [ "$1" = "autoconf" ]; then 15 | if [ -e "$rec_control" ]; then 16 | echo yes 17 | exit 0 18 | else 19 | echo "no (missing $rec_control)" 20 | exit 0 21 | fi 22 | fi 23 | 24 | if [ "$1" = "config" ]; then 25 | echo 'graph_title PDNS Recursor Concurrent Queries' 26 | echo 'graph_order concurrent' 27 | echo 'graph_vlabel queries' 28 | echo 'graph_info Concurrent queries' 29 | echo 'graph_category dns' 30 | 31 | echo 'concurrent.label queries' 32 | echo 'concurrent.min 0' 33 | echo 'concurrent.type GAUGE' 34 | echo 'concurrent.info Concurrent queries' 35 | 36 | exit 0 37 | fi 38 | 39 | echo concurrent.value "$($rec_control get concurrent-queries)" 40 | 41 | exit 0 42 | -------------------------------------------------------------------------------- /plugins/pdns/pdns_rec_outqueries: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # pdns_recursor munin plugin. 4 | # Written by Sean Reifschneider 2009-12-03 5 | # Placed in the public domain 6 | # 7 | # Requires running as root: 8 | # 9 | # echo '[pdns_rec_*]' >/etc/munin/plugin-conf.d/pdns_rec 10 | # echo 'user root' >>/etc/munin/plugin-conf.d/pdns_rec 11 | 12 | rec_control="/usr/bin/rec_control" 13 | 14 | if [ "$1" = "autoconf" ]; then 15 | if [ -e "$rec_control" ]; then 16 | echo yes 17 | exit 0 18 | else 19 | echo "no (missing $rec_control)" 20 | exit 0 21 | fi 22 | fi 23 | 24 | if [ "$1" = "config" ]; then 25 | echo 'graph_title PDNS Outbound Queries' 26 | echo 'graph_order all tcp' 27 | echo 'graph_vlabel queries' 28 | echo 'graph_info Outbound queries' 29 | echo 'graph_category dns' 30 | 31 | echo 'all.label all' 32 | echo 'all.min 0' 33 | echo 'all.max 100000' 34 | echo 'all.type COUNTER' 35 | echo 'all.info All queries' 36 | 37 | echo 'tcp.label tcp' 38 | echo 'tcp.min 0' 39 | echo 'tcp.max 100000' 40 | echo 'tcp.type COUNTER' 41 | echo 'tcp.info TCP queries' 42 | 43 | exit 0 44 | fi 45 | 46 | echo all.value "$($rec_control get all-outqueries)" 47 | echo tcp.value "$($rec_control get tcp-outqueries)" 48 | 49 | exit 0 50 | -------------------------------------------------------------------------------- /plugins/pdns/pdns_rec_querylatency: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # pdns_recursor munin plugin. 4 | # Written by Sean Reifschneider 2009-12-03 5 | # Placed in the public domain 6 | # 7 | # Requires running as root: 8 | # 9 | # echo '[pdns_rec_*]' >/etc/munin/plugin-conf.d/pdns_rec 10 | # echo 'user root' >>/etc/munin/plugin-conf.d/pdns_rec 11 | 12 | rec_control="/usr/bin/rec_control" 13 | 14 | if [ "$1" = "autoconf" ]; then 15 | if [ -e "$rec_control" ]; then 16 | echo yes 17 | exit 0 18 | else 19 | echo "no (missing $rec_control)" 20 | exit 0 21 | fi 22 | fi 23 | 24 | if [ "$1" = "config" ]; then 25 | echo 'graph_title PDNS Recursor Answer Latency' 26 | echo 'graph_order latency' 27 | echo 'graph_vlabel ms' 28 | echo 'graph_info Question latency' 29 | echo 'graph_category dns' 30 | 31 | echo 'latency.label ms' 32 | echo 'latency.min 0' 33 | echo 'latency.type GAUGE' 34 | echo 'latency.info Answer latency' 35 | 36 | exit 0 37 | fi 38 | 39 | echo latency.value "$($rec_control get qa-latency)" 40 | 41 | exit 0 42 | -------------------------------------------------------------------------------- /plugins/pdns/pdns_rec_questions: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # pdns_recursor munin plugin. 4 | # Written by Sean Reifschneider 2009-12-03 5 | # Placed in the public domain 6 | # 7 | # Requires running as root: 8 | # 9 | # echo '[pdns_rec_*]' >/etc/munin/plugin-conf.d/pdns_rec 10 | # echo 'user root' >>/etc/munin/plugin-conf.d/pdns_rec 11 | 12 | rec_control="/usr/bin/rec_control" 13 | 14 | if [ "$1" = "autoconf" ]; then 15 | if [ -e "$rec_control" ]; then 16 | echo yes 17 | exit 0 18 | else 19 | echo "no (missing $rec_control)" 20 | exit 0 21 | fi 22 | fi 23 | 24 | if [ "$1" = "config" ]; then 25 | echo 'graph_title PDNS Recursor Questions' 26 | echo 'graph_order all tcp' 27 | echo 'graph_vlabel queries' 28 | echo 'graph_info Number of questions asked' 29 | echo 'graph_category dns' 30 | 31 | echo 'all.label all' 32 | echo 'all.min 0' 33 | echo 'all.max 100000' 34 | echo 'all.type COUNTER' 35 | echo 'all.info All queries' 36 | 37 | echo 'tcp.label tcp' 38 | echo 'tcp.min 0' 39 | echo 'tcp.max 100000' 40 | echo 'tcp.type COUNTER' 41 | echo 'tcp.info TCP queries' 42 | 43 | exit 0 44 | fi 45 | 46 | echo all.value "$($rec_control get questions)" 47 | echo tcp.value "$($rec_control get tcp-questions)" 48 | 49 | exit 0 50 | -------------------------------------------------------------------------------- /plugins/pdns/pdns_rec_throttle: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # pdns_recursor munin plugin. 4 | # Written by Sean Reifschneider 2009-12-03 5 | # Placed in the public domain 6 | # 7 | # Requires running as root: 8 | # 9 | # echo '[pdns_rec_*]' >/etc/munin/plugin-conf.d/pdns_rec 10 | # echo 'user root' >>/etc/munin/plugin-conf.d/pdns_rec 11 | 12 | rec_control="/usr/bin/rec_control" 13 | 14 | if [ "$1" = "autoconf" ]; then 15 | if [ -e "$rec_control" ]; then 16 | echo yes 17 | exit 0 18 | else 19 | echo "no (missing $rec_control)" 20 | exit 0 21 | fi 22 | fi 23 | 24 | if [ "$1" = "config" ]; then 25 | echo 'graph_title PDNS Recursor Throttling' 26 | echo 'graph_order throttled' 27 | echo 'graph_vlabel queries' 28 | echo 'graph_info Throttled queries' 29 | echo 'graph_category dns' 30 | 31 | echo 'throttled.label throttled' 32 | echo 'throttled.min 0' 33 | echo 'throttled.type COUNTER' 34 | echo 'throttled.info Throttled queries' 35 | 36 | exit 0 37 | fi 38 | 39 | echo throttled.value "$($rec_control get throttled-out)" 40 | 41 | exit 0 42 | -------------------------------------------------------------------------------- /plugins/pf/pf_ipv4_ipv6_packets: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | pfctl='/sbin/pfctl' 3 | 4 | if [ "$1" = "config" ]; then 5 | cat </dev/null | grep 'Bytes In' | awk '{print $3}') 35 | ipv6_in=$(/sbin/pfctl -si 2>/dev/null | grep 'Bytes In' | awk '{print $4}') 36 | ipv4_out=$(/sbin/pfctl -si 2>/dev/null | grep 'Bytes Out' | awk '{print $3}') 37 | ipv6_out=$(/sbin/pfctl -si 2>/dev/null | grep 'Bytes Out' | awk '{print $4}') 38 | echo "ipv4in.value $ipv4_in" 39 | echo "ipv4out.value $ipv4_out" 40 | echo "ipv6in.value $ipv6_in" 41 | echo "ipv6out.value $ipv6_out" 42 | -------------------------------------------------------------------------------- /plugins/php/php_opcache.php: -------------------------------------------------------------------------------- 1 | $data['memory_usage']['used_memory'], 11 | 'mem_free.value' => $data['memory_usage']['free_memory'], 12 | 'mem_wasted.value' => $data['memory_usage']['wasted_memory'], 13 | ); 14 | } 15 | else 16 | { 17 | // OPCache not installed :( 18 | $output = array( 19 | 'mem_used.value' => 0, 20 | 'mem_free.value' => 0, 21 | ); 22 | } 23 | 24 | header('Content-Type: text/plain'); 25 | foreach ($output as $key => $value) 26 | { 27 | echo $key, ' ', $value, "\n"; 28 | } 29 | ?> 30 | -------------------------------------------------------------------------------- /plugins/php/php_xcache: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | # 3 | 4 | require LWP::UserAgent; 5 | 6 | ######################################################################################## 7 | # 8 | # Installation / Configuration 9 | # 10 | # - place munin_xcache.php in a directory on your webserver 11 | # - add the url config to plugin-conf.d/munin-node 12 | # 13 | # 14 | # for more info see http://www.ohardt.net/dev/munin/ 15 | # 16 | # 17 | 18 | 19 | 20 | chomp(my $fqdn=`hostname -f`); 21 | 22 | 23 | my $URL = exists $ENV{'url'} ? $ENV{'url'} : "http://user:pwd\@$fqdn/munin_xcache_new.php"; 24 | 25 | $URL = $URL . "?what=mem"; 26 | 27 | my $ua = LWP::UserAgent->new(timeout => 30); 28 | 29 | 30 | if ( exists $ARGV[0] and $ARGV[0] eq "config" ) 31 | { 32 | 33 | $URL = $URL . '&config'; 34 | 35 | my $response = $ua->request(HTTP::Request->new('GET',$URL . '&config' )); 36 | 37 | print $response->content; 38 | 39 | 40 | exit( 0 ); 41 | } 42 | 43 | 44 | my $response = $ua->request(HTTP::Request->new('GET',$URL)); 45 | 46 | 47 | print $response->content; 48 | 49 | 50 | exit( 0 ); 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /plugins/ping/example-graphs/ping-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ping/example-graphs/ping-day.png -------------------------------------------------------------------------------- /plugins/ping/ping_host: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | H=`echo $0 | awk -F_ '{print $2}'` 4 | 5 | if [ "$1" = "config" ] ; then 6 | 7 | echo "graph_title Ping RTT $H" 8 | echo "graph_category network" 9 | echo "graph_info this graph shows the average RTT of five pings to $H" 10 | echo "graph_vlabel ping_rtt" 11 | echo "ping_rtt.label ms" 12 | echo "ping_rtt.warning 12" 13 | echo "ping_rtt.critical 15" 14 | echo "ping_loss.warning 40" 15 | echo "ping_loss.critical 60" 16 | exit 17 | fi 18 | 19 | /sbin/ping -W 1 -c 5 $H > /tmp/munin-node-ping-$H 20 | 21 | RTTAVG=`sed -n '2,6p' /tmp/munin-node-ping-$H | sed -e 's/.*time=//g' -e 's/ ms//g' | awk '{ ORS= "" ; print $1 " " }' | sed -e 's#$# + + + + 3 k 4 / p#g' | dc` 22 | PKTLOSS=`sed -n 9p /tmp/munin-node-ping-$H | sed -e 's/.*received, //g' -e 's/% packet loss//g'` 23 | 24 | echo "ping_rtt.value $RTTAVG" 25 | echo "ping_loss.value $PKTLOSS" 26 | 27 | -------------------------------------------------------------------------------- /plugins/powermta/powermta_vmta_recpients: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | vmta="208-97-205-153" 4 | # Lets run the command to pull the vmta's in 5 | queues=(`pmta show queue */$vmta | awk -F" " '{print $1}'`) # Pull in top queues 6 | 7 | # Now we need to do some further cleanup for blank or erroneous array items 8 | unset queues[0] 9 | unset queues[${#queues[@]}] 10 | 11 | 12 | 13 | case $1 in 14 | config) 15 | 16 | echo "graph_title RGMTA2 PMTA VMTA $vmta Recipents" 17 | echo "graph_vlabel recipents" 18 | echo "graph_scale no" 19 | echo "graph_category mail" 20 | for i in ${queues[@]};do 21 | queue=(`pmta show queue $i`) 22 | unset queue[0] 23 | unset queue[${#queue[@]}] 24 | 25 | domain=`echo "${queue[7]}" | awk -F" " '{print $1}' | cut -d/ -f1 | sed -e 's/[\.]/_/g'` 26 | domain2=`echo "${queue[7]}" | awk -F" " '{print $1}' | cut -d/ -f1` 27 | echo $domain'.label '$domain2 28 | echo $domain'.draw STACK' 29 | done 30 | exit 0;; 31 | esac 32 | 33 | for i in ${queues[@]};do 34 | queue=(`pmta show queue $i`) 35 | unset queue[0] 36 | unset queue[${#queue[@]}] 37 | 38 | domain=`echo "${queue[7]}" | awk -F" " '{print $1}' | cut -d/ -f1 | sed -e 's/[\.]/_/g'` 39 | recpts=${queue[8]} 40 | conns=${queue[10]} 41 | echo $domain'.value '$recpts 42 | done 43 | -------------------------------------------------------------------------------- /plugins/printer/dell_5310n_health_: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # dell_5310n_health_ munin grabber script 4 | # 2008.07 by steve@kosada.com 5 | 6 | destination=`basename $0 | sed 's/^dell_5310n_health_//g'` 7 | 8 | tmpWeb=/tmp/`basename $0` 9 | wget -q -O $tmpWeb http://$destination/cgi-bin/dynamic/PrinterStatus.html 10 | 11 | if [ "$1" = "config" ]; then 12 | echo "graph_title dell 5310n health: $destination" 13 | echo 'graph_vlabel count' 14 | echo 'graph_args --lower-limit 0' 15 | echo 'graph_category printing' 16 | 17 | echo "toner.label Toner (percent)" 18 | else 19 | echo toner.value `grep '>Black\ Toner' $tmpWeb | perl -p -e 's/^.+>Black\ Toner[^0-9]+([0-9]+)\%<.+$/$1/'` 20 | fi 21 | 22 | rm $tmpWeb 23 | -------------------------------------------------------------------------------- /plugins/printer/oki_c5500_pages_: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # oki_c5500_pages_ munin grabber script 4 | # 2008.03 by steve@kosada.com 5 | 6 | destination=`basename $0 | sed 's/^oki_c5500_pages_//g'` 7 | password='foo' 8 | 9 | if [ "$1" = "config" ]; then 10 | echo "graph_title oki c5500 pages: $destination" 11 | echo 'graph_vlabel count' 12 | echo 'graph_args --lower-limit 0' 13 | echo 'graph_category printing' 14 | 15 | echo "tray1.label Tray 1" 16 | echo "tray2.label Tray 2" 17 | echo "total.label Total" 18 | else 19 | infopage=`wget -q -O - http://root:$password@$destination/printer/printerinfo_top.htm | perl -p -e 's/\n/ /m'` 20 | 21 | echo tray1.value `echo $infopage | perl -p -e 's/^.+Tray\ 1\ Page\ Count\:\ \<\/TD\>\([0-9]+)\<.+$/$1/'` 22 | echo tray2.value `echo $infopage | perl -p -e 's/^.+Tray\ 2\ Page\ Count\:\ \<\/TD\>\([0-9]+)\<.+$/$1/'` 23 | echo total.value `echo $infopage | perl -p -e 's/^.+Total\ Page\ Count\:\ \<\/TD\>\([0-9]+)\<.+$/$1/'` 24 | fi 25 | -------------------------------------------------------------------------------- /plugins/printer/toshiba_5520c_print_: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # toshiba_5520c_print_ munin grabber script 4 | # 2009.01 by steve@kosada.com 5 | 6 | destination=`basename $0 | sed 's/^toshiba_5520c_print_//g'` 7 | 8 | if [ "$1" = "config" ]; then 9 | echo "graph_title Toshiba 5520C: Pages Printed" 10 | echo 'graph_vlabel Pages' 11 | echo 'graph_args --lower-limit 0' 12 | echo 'graph_category printing' 13 | 14 | echo "printBlack.label Black" 15 | echo "printBlack.draw AREA" 16 | 17 | echo "printFullColor.label Full Color" 18 | echo "printFullColor.draw STACK" 19 | 20 | echo "printTwinColor.label Twin Color" 21 | echo "printTwinColor.draw STACK" 22 | else 23 | infopage=`wget -q -O - http://$destination:8080/TopAccess/Counter/TotalCount/List.htm | dos2unix | perl -p -e 's/\n/ /m'` 24 | 25 | echo printFullColor.value `echo $infopage | perl -p -e 's/^.+\Print Counter\<\/B\>.+?\{Full\ Color[^}]+\,([0-9]+)\}.+$/$1/'` 26 | echo printTwinColor.value `echo $infopage | perl -p -e 's/^.+\Print Counter\<\/B\>.+?\{Twin\ Color[^}]+\,([0-9]+)\}.+$/$1/'` 27 | echo printBlack.value `echo $infopage | perl -p -e 's/^.+\Print Counter\<\/B\>.+?\{Black[^}]+\,([0-9]+)\}.+$/$1/'` 28 | fi 29 | -------------------------------------------------------------------------------- /plugins/printer/toshiba_5520c_scan_: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # toshiba_5520c_scan_ munin grabber script 4 | # 2009.01 by steve@kosada.com 5 | 6 | destination=`basename $0 | sed 's/^toshiba_5520c_scan_//g'` 7 | 8 | if [ "$1" = "config" ]; then 9 | echo "graph_title Toshiba 5520C: Pages Scanned" 10 | echo 'graph_vlabel Pages' 11 | echo 'graph_args --lower-limit 0' 12 | echo 'graph_category printing' 13 | 14 | echo "scanFullColor.label Full Color" 15 | echo "scanFullColor.draw AREA" 16 | 17 | echo "scanTwinColor.label Twin Color" 18 | echo "scanTwinColor.draw STACK" 19 | 20 | echo "scanBlack.label Black" 21 | echo "scanBlack.draw STACK" 22 | else 23 | infopage=`wget -q -O - http://$destination:8080/TopAccess/Counter/TotalCount/List.htm | dos2unix | perl -p -e 's/\n/ /m'` 24 | 25 | echo scanFullColor.value `echo $infopage | perl -p -e 's/^.+\Scan Counter\<\/B\>.+?\{Full\ Color[^}]+\,([0-9]+)\}.+$/$1/'` 26 | echo scanTwinColor.value `echo $infopage | perl -p -e 's/^.+\Scan Counter\<\/B\>.+?\{Twin\ Color[^}]+\,([0-9]+)\}.+$/$1/'` 27 | echo scanBlack.value `echo $infopage | perl -p -e 's/^.+\Scan Counter\<\/B\>.+?\{Black[^}]+\,([0-9]+)\}.+$/$1/'` 28 | fi 29 | -------------------------------------------------------------------------------- /plugins/puppet/example-graphs/puppet_runtime-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/puppet/example-graphs/puppet_runtime-day.png -------------------------------------------------------------------------------- /plugins/puppet/example-graphs/puppetdb-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/puppet/example-graphs/puppetdb-day.png -------------------------------------------------------------------------------- /plugins/qmail/qremote: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to count the qmail-remote processes 4 | # 5 | # Magic markers - optional - used by installation scripts and 6 | # munin-config: 7 | # 8 | #%# family=manual 9 | #%# capabilities=autoconf 10 | 11 | if [ "$1" = "autoconf" ]; then 12 | echo "yes" 13 | exit 0 14 | fi 15 | 16 | if [ "$1" = "config" ]; then 17 | 18 | cat < 13 | 14 | 15 | =head1 LICENSE 16 | 17 | GNU Library General Public License v2 only 18 | 19 | SPDX-License-Identifier: LGPL-2.0-only 20 | 21 | =cut 22 | 23 | 24 | if [ ! -r "/sys/class/thermal/thermal_zone0/temp" ] 25 | then 26 | echo "# Cannot read CPU Temp" 27 | exit 1 28 | fi 29 | 30 | 31 | if [ "$1" = "config" ] 32 | then 33 | cat < /dev/null | grep -c DENY_)" 38 | 39 | # If here, always return OK 40 | exit 0 41 | -------------------------------------------------------------------------------- /plugins/scalix/scalix_clients: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to monitor the Scalix email system: Client statistics 4 | # 5 | # (C) 2008 P.Holzleitner 6 | # 7 | #%# family=contrib 8 | 9 | OMSTAT="/opt/scalix/bin/omstat" 10 | 11 | if [ "$1" = "config" ]; then 12 | 13 | echo 'graph_title Scalix client connections' 14 | echo 'graph_args --lower-limit 0' 15 | echo 'graph_vlabel number' 16 | echo 'graph_category mail' 17 | echo 'swa.label Webmail connections' 18 | echo 'swa.draw AREA' 19 | echo 'imap.label IMAP connections' 20 | echo 'imap.draw STACK' 21 | echo 'outlook.label Outlook/Scalix10 connections' 22 | echo 'outlook.draw STACK' 23 | echo 'outlook11.label Outlook/Scalix11 connections' 24 | echo 'outlook11.draw STACK' 25 | exit 0 26 | fi 27 | 28 | IMAP=`nice -10 $OMSTAT -u rci -c | grep 'IMAP client' | wc -l` 29 | SWEB=`nice -10 $OMSTAT -u rci -c | grep 'SWA client' | wc -l` 30 | OLOK10=`pgrep -f "Connect for Microsoft Outlook 10" | wc -l` 31 | OLOK11=`pgrep -f "Connect for Microsoft Outlook 11" | wc -l` 32 | echo "swa.value $SWEB" 33 | echo "imap.value $IMAP" 34 | echo "outlook.value $OLOK10" 35 | echo "outlook11.value $OLOK11" 36 | -------------------------------------------------------------------------------- /plugins/scalix/scalix_indexwork: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl 2 | # 3 | # Plugin to monitor the Scalix email system. 4 | # 5 | # $Log$ 6 | # 7 | # 8 | # Parameters: 9 | # 10 | # config (required) 11 | # autoconf (optional - used by munin-config) 12 | # 13 | # Magic markers (Used by munin-config and some installation scripts. 14 | # Optional): 15 | # 16 | #%# family=contrib 17 | 18 | my $OMRP="/opt/scalix/bin/omrealpath"; 19 | 20 | my $mode = shift; 21 | 22 | if($mode eq "config") { 23 | print "graph_title Scalix Index Work Queue\n"; 24 | print "graph_args -l 0\n"; 25 | print "graph_vlabel number\n"; 26 | print "graph_category mail\n"; 27 | print "graph_title Scalix Index Work Queue\n"; 28 | print "graph_vlabel Items\n"; 29 | print "items.label Items to be indexed\n"; 30 | print "items.min 0\n"; 31 | exit 0; 32 | } 33 | 34 | my $iwdir = `$OMRP "~/indexwork"`; chomp $iwdir; 35 | #print "$iwdir\n"; 36 | 37 | my ($f, $fsize, $i); 38 | 39 | opendir(DIR, $iwdir); 40 | while ($f = readdir(DIR)) { 41 | next unless $f =~ /\d+\.\d/; 42 | $fsize = -s $iwdir . '/' . $f; 43 | # print "$f $fsize\n"; 44 | $i += ($fsize / 112); 45 | } 46 | closedir(DIR); 47 | 48 | $i = int $i; 49 | 50 | print "items.value $i\n"; 51 | -------------------------------------------------------------------------------- /plugins/security/example-graphs/fail2ban_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/security/example-graphs/fail2ban_-1.png -------------------------------------------------------------------------------- /plugins/security/example-graphs/fail2ban_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/security/example-graphs/fail2ban_-2.png -------------------------------------------------------------------------------- /plugins/security/example-graphs/fail2ban_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/security/example-graphs/fail2ban_-3.png -------------------------------------------------------------------------------- /plugins/security/example-graphs/fail2ban_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/security/example-graphs/fail2ban_-4.png -------------------------------------------------------------------------------- /plugins/sensors/alertme_keyfobsathome: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # http://exchange.munin-monitoring.org/plugins/alertme_power/details 3 | # 4 | # alertme_power relies on http://code.google.com/p/alertmepi/ 5 | # to have been installed and working 6 | # 7 | # 20110120 - update to use correct mixed case for AlertMe and remove cruft 8 | # left over from creating this plugin from another script 9 | # 10 | # add to the plugins-conf.d/munin so that it can read the /etc/alertme files 11 | # [alertme_*] 12 | # user root 13 | 14 | 15 | if [ "$1" = "config" ] ; then 16 | echo "graph_title AlertMe Keyfobs At Home" 17 | echo "graph_category sensors" 18 | echo "graph_info this graph shows AlertMe Keyfob present count" 19 | echo "graph_vlabel number" 20 | echo "KeyfobsAtHome.label number of keyfobs present" 21 | exit 22 | fi 23 | 24 | 25 | echo -n "KeyfobsAtHome.value " 26 | KFC=`/usr/local/bin/alertmepi.pl -k | wc -l` 27 | 28 | if [ $? -eq 0 ] ; then 29 | echo $KFC 30 | else 31 | echo U 32 | fi 33 | 34 | # end alertme_power munin_plugin 35 | -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/adb_temperatures-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/sensors/example-graphs/adb_temperatures-day.png -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/adb_temperatures-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/sensors/example-graphs/adb_temperatures-week.png -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/switchbotmeter-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/sensors/example-graphs/switchbotmeter-1.png -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/switchbotmeterbt-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/sensors/example-graphs/switchbotmeterbt-1.png -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/switchbotplugmini-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/sensors/example-graphs/switchbotplugmini-1.png -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/turbostat_watt-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/sensors/example-graphs/turbostat_watt-day.png -------------------------------------------------------------------------------- /plugins/sensors/mbmon: -------------------------------------------------------------------------------- 1 | #!/usr/bin/perl -w 2 | # -*- perl -*- 3 | 4 | # 5 | # Author: Slaven Rezic 6 | # 7 | # Copyright (C) 2011 Slaven Rezic. All rights reserved. 8 | # This program is free software; you can redistribute it and/or 9 | # modify it under the same terms as Perl itself. 10 | # 11 | # Mail: slaven@rezic.de 12 | # WWW: http://www.rezic.de/eserte/ 13 | # 14 | 15 | use strict; 16 | 17 | my $mbmon = "/usr/local/bin/mbmon"; 18 | 19 | if ($ARGV[0] eq 'autoconf') { 20 | if (-x $mbmon) { 21 | print "yes\n"; 22 | } else { 23 | print "no\n"; 24 | } 25 | exit 0; 26 | } elsif ($ARGV[0] eq 'config') { 27 | print <&1 |\ 24 | sed 's#.*/\([0-9a-f-]*\)/w1_slave#\1#' 25 | ;; 26 | autoconf) 27 | echo "yes" 28 | ;; 29 | *) 30 | awk '/t=/ { sub("t=", "", $NF); print "temp.value", $NF/1000.0 }' \ 31 | /sys/bus/w1/devices/"$NAME"/w1_slave 32 | ;; 33 | esac 34 | -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp__fn-cpu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/snmp/example-graphs/snmp__fn-cpu.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp__fn-memory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/snmp/example-graphs/snmp__fn-memory.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp__fn-sessions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/snmp/example-graphs/snmp__fn-sessions.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp__fn-vpnsessions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/snmp/example-graphs/snmp__fn-vpnsessions.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp_if_combined-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/snmp/example-graphs/snmp_if_combined-1.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp_if_combined-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/snmp/example-graphs/snmp_if_combined-day.png -------------------------------------------------------------------------------- /plugins/solar/example-graphs/fronius-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/solar/example-graphs/fronius-week.png -------------------------------------------------------------------------------- /plugins/sphinx/sphinx_documents: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Damien Alexandre © 2013 4 | # 5 | # Output number of documents per Sphinx Index 6 | # Need indextool (since version 0.9.9 ) 7 | 8 | # Index path (where .sphx files are) 9 | idxpath=/var/lib/sphinxsearch/data/ 10 | 11 | # 12 | # 13 | 14 | case $1 in 15 | config) 16 | cat <<'EOM' 17 | graph_title Documents per index 18 | graph_vlabel number 19 | graph_scale no 20 | graph_category search 21 | graph_info Report number of documents (using indextool) by Sphinx Index. 22 | EOM 23 | for i in `ls $idxpath/*.sph`; do 24 | fn=`basename $i .sph` 25 | echo "$fn.label $fn" 26 | done 27 | exit 0;; 28 | esac 29 | 30 | for i in `ls $idxpath/*.sph`; do 31 | echo -n "`basename $i .sph`.value " 32 | echo `indextool --dumpheader $i | grep ^total-doc | cut -f2 -d\:` 33 | done 34 | -------------------------------------------------------------------------------- /plugins/ssh/example-graphs/hostdenied-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ssh/example-graphs/hostdenied-week.png -------------------------------------------------------------------------------- /plugins/ssh/example-graphs/sshd_log-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ssh/example-graphs/sshd_log-day.png -------------------------------------------------------------------------------- /plugins/ssh/example-graphs/sshd_log-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ssh/example-graphs/sshd_log-month.png -------------------------------------------------------------------------------- /plugins/ssl/example-graphs/letsencrypt_weekly-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ssl/example-graphs/letsencrypt_weekly-1.png -------------------------------------------------------------------------------- /plugins/ssl/example-graphs/letsencrypt_weekly-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/ssl/example-graphs/letsencrypt_weekly-2.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/strelaysrv_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/strelaysrv_-1.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/strelaysrv_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/strelaysrv_-2.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/strelaysrv_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/strelaysrv_-3.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/strelaysrv_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/strelaysrv_-4.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/syncthing_-1.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/syncthing_-2.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/syncthing_-3.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/syncthing_-4.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/syncthing/example-graphs/syncthing_-5.png -------------------------------------------------------------------------------- /plugins/system/blockhosts: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Plugin to monitor the number of hosts denied by BlockHosts 3 | # 4 | # $Log$ 5 | # based on: 6 | # denyhosts plugin 7 | # Revision 1.0 2009/06/05 16:00:00 tjansson 8 | # 9 | # Modified by d.becker 2010/02/04 10 | # 11 | # Parameters: 12 | # config (required) 13 | # autoconf (optional - used by munin-config) 14 | 15 | LOG=/etc/hosts.allow 16 | 17 | if [ "$1" = "autoconf" ]; then 18 | if [ -r "$LOG" ]; then 19 | echo yes 20 | else 21 | echo no 22 | fi 23 | exit 0 24 | fi 25 | 26 | if [ "$1" = "config" ]; then 27 | 28 | echo 'graph_title Hosts denied by BlockHosts' 29 | echo 'graph_args -l 0' 30 | echo 'graph_vlabel denied hosts ' 31 | echo 'graph_category security' 32 | echo 'HostsDenied.label Hosts denied by BlockHosts' 33 | echo 'HostsWatched.label Hosts watched by BlockHosts' 34 | exit 0 35 | fi 36 | 37 | echo HostsDenied.value `egrep -c " : deny" $LOG` 38 | echo HostsWatched.value `egrep -c "#bh: ip:" $LOG` 39 | -------------------------------------------------------------------------------- /plugins/system/example-graphs/inotify-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/system/example-graphs/inotify-day.png -------------------------------------------------------------------------------- /plugins/system/example-graphs/kernel_same_page_merging-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/system/example-graphs/kernel_same_page_merging-month.png -------------------------------------------------------------------------------- /plugins/system/example-graphs/zswap-daily.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/system/example-graphs/zswap-daily.png -------------------------------------------------------------------------------- /plugins/system/fresh-backups: -------------------------------------------------------------------------------- 1 | ../backup/fresh-backups -------------------------------------------------------------------------------- /plugins/system/top-free-memory: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Initial Version 1.0 2009/05/18 14:00:01 BANT 4 | # Anzeige von FREE Memory mit dem TOP Befehl aus SUN OS 5 | # 6 | #%# family=manual 7 | 8 | 9 | TOP=/usr/local/bin/top 10 | 11 | if [ "$1" = "config" ]; then 12 | 13 | echo "graph_title FREE Memory usage (in MB)" 14 | echo 'graph_category system' 15 | echo "free.label Free memory" 16 | exit 0 17 | fi 18 | 19 | # Linjen som grep'es ut kan se ut som dette: 20 | # 21 | # Memory: 16G phys mem, 6030M free mem, 32G swap, 32G free swap 22 | 23 | $TOP -n -u | nawk ' 24 | function scale(value) { 25 | if (value ~ /G$/) { sub("G", "", value); value *= 1024 } 26 | else if (value ~ /M$/) sub("M", "", value) 27 | else if (value ~ /K$/) { sub("K", "", value); value /= 1024 } 28 | else value /= 1024 * 1024; 29 | return value; 30 | } 31 | /^Memory/ { 32 | free = scale($5); 33 | 34 | print "free.value", free 35 | }' 36 | -------------------------------------------------------------------------------- /plugins/systemd/example-graphs/systemd_mem-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/plugins/systemd/example-graphs/systemd_mem-day.png -------------------------------------------------------------------------------- /plugins/tcp/tcp-retransmissions: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # tcp_retries revision 2 (Feb 2012) 4 | # 5 | # TCP retransmission rate. Useful for network debugging. 6 | # 7 | # Required privileges: none 8 | # 9 | # OS: Linux with procfs 10 | # 11 | # Author: Artem Sheremet 12 | # 13 | 14 | #%# family=auto 15 | #%# capabilities=autoconf 16 | 17 | TCPSTAT=/proc/net/tcp 18 | 19 | case $1 in 20 | autoconf) 21 | [ -r $TCPSTAT -o -r ${TCPSTAT}6 ] && echo "yes" || echo "no" 22 | ;; 23 | config) 24 | cat < 6 | 7 |
8 | 11 | 16 |
17 |
-------------------------------------------------------------------------------- /templates/muncollapse/templates/partial/footer_pre.tmpl: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 |
9 |
10 | 11 | This page was generated by Munin 12 | version at 13 | with MunCollapse template. 14 | 15 |
16 |
17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /templates/munstrap/sample-node.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/sample-node.jpg -------------------------------------------------------------------------------- /templates/munstrap/sample-zoom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/sample-zoom.jpg -------------------------------------------------------------------------------- /templates/munstrap/sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/sample.jpg -------------------------------------------------------------------------------- /templates/munstrap/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /templates/munstrap/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /templates/munstrap/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /templates/munstrap/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /templates/munstrap/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/static/img/favicon.ico -------------------------------------------------------------------------------- /templates/munstrap/static/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/static/img/favicon.png -------------------------------------------------------------------------------- /templates/munstrap/static/img/logo-munin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/templates/munstrap/static/img/logo-munin.png -------------------------------------------------------------------------------- /templates/munstrap/static/js/munstrap.min.js: -------------------------------------------------------------------------------- 1 | $("ul#tabs>li>a").each(function(index){var eid=$(this).attr("href").replace(/[^#\w]/gi,"_");$(this).attr("href",eid)});$("div#munin_nodeview_tab>div").each(function(index){var eid=$(this).attr("id").replace(/[^\w]/gi,"_");$(this).attr("id",eid)});(function(){"use strict";$('a[data-toggle="tab"]').on("shown.bs.tab",function(e){var id=$(this).parents('[role="tablist"]').attr("id");var key="lastTag";if(id){key+=":"+id}localStorage.setItem(key,$(e.target).attr("href"));location.hash=$(e.target).attr("href")});$('[role="tablist"]').each(function(idx,elem){var id=$(elem).attr("id");var key="lastTag";if(id){key+=":"+id}var lastTab=localStorage.getItem(key);if(!lastTab){lastTab=location.hash}if(lastTab){$('[href="'+lastTab+'"]').tab("show")}})})(); -------------------------------------------------------------------------------- /templates/munstrap/static/js/querystring.min.js: -------------------------------------------------------------------------------- 1 | function Querystring(qs){this.params={};var query_string=window.location.search;if(qs==null)qs=query_string.substring(1,query_string.length);if(qs.length==0)return;qs=qs.replace(/\+/g," ");var args=qs.split("&");for(var i=0;i 2 |
3 | 6 | 11 |
12 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/footer.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/footer_pre.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 |
5 | 6 | This page was generated by Munin 7 | version at 8 | with MunStrap template. 9 | 10 |
11 |
12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/generated_by.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
-------------------------------------------------------------------------------- /templates/munstrap/templates/partial/logo_navigation.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 17 | 18 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/logo_navigation_comparison.tmpl: -------------------------------------------------------------------------------- 1 |

2 | "> 3 | 4 | 5 | :: 6 | "> 7 | 8 | 9 | 10 | "> 11 | Overview 12 | 13 | 14 | 15 | 16 | [ day week month year ] 17 |

18 |

19 | :: [ 20 | 21 | class="warn" 22 | class="crit" 23 | href="#"> 24 | 25 | 26 | ] 27 | 28 |

29 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/logo_navigation_problem.tmpl: -------------------------------------------------------------------------------- 1 |

2 | "> 3 | ">Overview :: Problem overview :: [ critical warning unknown ] 4 | 5 |

6 | 7 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/logo_path.tmpl: -------------------------------------------------------------------------------- 1 |

Overview

2 | 3 | 4 | 5 |

6 | 7 | 8 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/navigation.tmpl: -------------------------------------------------------------------------------- 1 | 30 | 31 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/path.tmpl: -------------------------------------------------------------------------------- 1 | 2 | :: 3 | 4 | "> 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | "> 13 | 14 | Overview 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /templates/official/partial/footer.tmpl: -------------------------------------------------------------------------------- 1 | 7 | 8 | -------------------------------------------------------------------------------- /templates/official/partial/generated_by.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | -------------------------------------------------------------------------------- /templates/official/partial/logo_navigation_comparison.tmpl: -------------------------------------------------------------------------------- 1 | 34 | -------------------------------------------------------------------------------- /templates/official/partial/logo_navigation_problem.tmpl: -------------------------------------------------------------------------------- 1 | 12 | 13 | -------------------------------------------------------------------------------- /templates/official/partial/logo_path.tmpl: -------------------------------------------------------------------------------- 1 |

Overview

2 | 3 | 4 | 5 |

6 | 7 | 8 | -------------------------------------------------------------------------------- /templates/official/partial/navigation.tmpl: -------------------------------------------------------------------------------- 1 | 30 | 31 | -------------------------------------------------------------------------------- /templates/official/partial/path.tmpl: -------------------------------------------------------------------------------- 1 | :: ">">Overview 2 | -------------------------------------------------------------------------------- /tools/munin-node-c/README: -------------------------------------------------------------------------------- 1 | This is a rewrite of munin node in C. 2 | 3 | It has moved together with munin-plugins-c to its own repo: 4 | 5 | munin-c.git 6 | -------------------------------------------------------------------------------- /tools/munin-node-from-hell/MIT-LICENSE: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining a copy 2 | of this software and associated documentation files (the "Software"), to deal 3 | in the Software without restriction, including without limitation the rights 4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 5 | copies of the Software, and to permit persons to whom the Software is 6 | furnished to do so, subject to the following conditions: 7 | 8 | The above copyright notice and this permission notice shall be included in 9 | all copies or substantial portions of the Software. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 17 | THE SOFTWARE. 18 | -------------------------------------------------------------------------------- /tools/munin-node-from-hell/basic.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Initialise plugins that test the basic functions of Munin. 3 | # 4 | # 5 | 6 | [instance:basic] 7 | pluginprofile = basic 8 | port = 4001 9 | 10 | [pluginprofile:basic] 11 | plugins = graph_area, failing_plugin, failing_plugin2, failing_plugin3 12 | 13 | [base] 14 | # when building an example config with --muninconf, what hostname to output. 15 | hostname = localhost 16 | -------------------------------------------------------------------------------- /tools/munin-node-from-hell/huge.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Quick estimate says 30 plugins is a good estimate for a common client. 3 | # 4 | 5 | [instance:huge] 6 | pluginprofile = huge 7 | portrange = 4000-4100 8 | 9 | [pluginprofile:huge] 10 | plugins = load, locks, load, locks, load, locks, load, locks, load, locks, load, locks, load, locks, load, locks ,load, locks, load, locks, load, locks, load, locks ,load, locks, load, locks, load, locks, load, locks 11 | 12 | [base] 13 | # when building an example config with --muninconf, what hostname to output. 14 | hostname = localhost 15 | -------------------------------------------------------------------------------- /tools/munin-node-from-hell/notifications.conf: -------------------------------------------------------------------------------- 1 | # Example config file for muninnode-from-hell. 2 | # 3 | # Run an instance with plugins that always has some 4 | # notification level. (unknown / warning / critical) 5 | 6 | [instance:notifications] 7 | pluginprofile = notif 8 | port = 4010 9 | 10 | # 11 | #[instance:baz] 12 | #port = 4940 13 | #sleepyness = 30 14 | [pluginprofile:notif] 15 | plugins = always_warning, always_critical 16 | 17 | [base] 18 | # when building an example config with --muninconf, what hostname to output. 19 | hostname = localhost 20 | -------------------------------------------------------------------------------- /tools/munin-node-from-hell/simple.conf: -------------------------------------------------------------------------------- 1 | # Example config file for muninnode-from-hell. 2 | # 3 | # This is the simplest possible config, just run an ordinary munin-node 4 | # with a trivial amount of plugins on a single port. 5 | # 6 | 7 | [instance:simple] 8 | pluginprofile = base 9 | port = 4000 10 | 11 | [pluginprofile:base] 12 | plugins = load, locks 13 | 14 | [base] 15 | # when building an example config with --muninconf, what hostname to output. 16 | hostname = localhost 17 | -------------------------------------------------------------------------------- /tools/munin-node-from-hell/tarpit.conf: -------------------------------------------------------------------------------- 1 | # Config file for muninnode-from-hell. 2 | # 3 | 4 | [instance:tarpit] 5 | pluginprofile = tarpit 6 | port = 4005 7 | 8 | [pluginprofile:tarpit] 9 | plugins = load, locks, tarpit, load, locks 10 | 11 | [base] 12 | # when building an example config with --muninconf, what hostname to output. 13 | hostname = localhost 14 | -------------------------------------------------------------------------------- /tools/munin-plugins-busybox/README: -------------------------------------------------------------------------------- 1 | This is a rewrite of munin plugins in C. 2 | 3 | They have moved together with munin-node-c to its own repo: 4 | 5 | munin-c.git 6 | -------------------------------------------------------------------------------- /tools/pmmn/plugins/README: -------------------------------------------------------------------------------- 1 | This is where you should put symlinks to plugins. 2 | It behaves like /etc/munin/plugins for munin-node 3 | -------------------------------------------------------------------------------- /tools/profiling/dump_node: -------------------------------------------------------------------------------- 1 | #! /bin/sh 2 | 3 | NODE="${1:-localhost}" 4 | PORT="${2:-4949}" 5 | 6 | { 7 | for plugin in $(echo "list" | nc "$NODE" "$PORT" | tail -n 1) 8 | do 9 | echo "config $plugin" 10 | echo "fetch $plugin" 11 | done 12 | echo "quit" 13 | } | nc "$NODE" "$PORT" 14 | -------------------------------------------------------------------------------- /tools/pypmmn/pypmmn/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/munin-monitoring/contrib/30cf062a1fe7b46421e23963dd0f08672ecf7e55/tools/pypmmn/pypmmn/__init__.py -------------------------------------------------------------------------------- /tools/pypmmn/setup.py: -------------------------------------------------------------------------------- 1 | from distutils.core import setup 2 | from pypmmn.pypmmn import __version__ 3 | 4 | PACKAGE = "pypmmn" 5 | NAME = "pypmmn" 6 | DESCRIPTION = "Python port of the 'Poor man's munin-node'" 7 | AUTHOR = "Michel Albert" 8 | AUTHOR_EMAIL = "michel@albert.lu" 9 | 10 | setup( 11 | name=NAME, 12 | version=__version__, 13 | description=DESCRIPTION, 14 | long_description=open("README.rst").read(), 15 | author=AUTHOR, 16 | author_email=AUTHOR_EMAIL, 17 | license="BSD", 18 | url='https://github.com/exhuma/munin-contrib/tree/master/tools/pypmmn', 19 | packages=['pypmmn'], 20 | scripts=['pypmmn/pypmmn.py'], 21 | ) 22 | 23 | --------------------------------------------------------------------------------