├── plugins ├── debian │ ├── debsecan │ └── example-graphs │ │ ├── debsecan_-day.png │ │ ├── debsecan_-month.png │ │ ├── debsecan_-week.png │ │ └── debsecan_-year.png ├── gpu │ └── nvidia_smi_.nocheck ├── system │ ├── fresh-backups │ ├── example-graphs │ │ ├── inotify-day.png │ │ ├── zswap-daily.png │ │ └── kernel_same_page_merging-month.png │ ├── top-free-memory │ └── blockhosts ├── java │ └── jmx │ │ └── plugin │ │ ├── .gitignore │ │ ├── META-INF │ │ └── MANIFEST.MF │ │ ├── .classpath │ │ └── .project ├── comet │ ├── example.png │ ├── comet_latency │ ├── comet_uptime │ ├── comet_server_history │ ├── comet_online_devices │ ├── LICENSE │ └── comet_jobs_classification ├── jmx │ ├── plugin │ │ └── jmxquery.jar │ └── examples │ │ ├── java │ │ ├── java_threads.conf │ │ └── java_cpu.conf │ │ └── tomcat │ │ ├── catalina_threads.conf │ │ ├── catalina_requests.conf │ │ └── catalina_traffic.conf ├── 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_traffic ├── disk │ ├── smart-c │ │ └── Makefile │ ├── example-graphs │ │ ├── quota2percent_-day.png │ │ ├── btrfs_device_usage-day.png │ │ └── btrfs_subvol_usage-day.png │ ├── log_sizes │ ├── freedisk │ ├── useddisk │ ├── iostat-xfrs │ └── du_multidirs ├── network │ ├── example-graphs │ │ ├── tc_-day.png │ │ ├── tc_-week.png │ │ ├── netstat_s_-day.png │ │ ├── netstat_s_-month.png │ │ ├── olsrd-link_quality_day.png │ │ └── olsrd-neighbour_link_count_day.png │ ├── linux_if │ │ ├── example-graphs │ │ │ ├── linux_if-1.png │ │ │ └── linux_if-2.png │ │ └── README.md │ ├── dns │ │ └── example-graphs │ │ │ └── dnsresponse_-day.png │ ├── transmission │ │ ├── transmission_status_example_day.png │ │ ├── transmission_activity_example_day_.png │ │ └── transmission_traffic_example_day.png │ ├── count-me │ ├── windows_domain │ ├── net_hosts_ │ ├── sockstat │ ├── denyhosts │ ├── bandwidth-OVH-Network │ ├── iperf_ │ ├── quagga_routes │ ├── sockstat-via-procfs │ ├── umts_sig │ └── bgpd ├── ping │ ├── example-graphs │ │ └── ping-day.png │ ├── ping_host │ └── fping_ ├── gpsd │ └── example-graphs │ │ ├── gpsd_dop-day.png │ │ ├── gps_precision-day.png │ │ ├── gps_satellites-day.png │ │ ├── gps_time_offset-day.png │ │ ├── gpsd_satellites-day.png │ │ └── gps_error_estimate-day.png ├── mpd │ └── example-graphs │ │ └── mpdstats_-day.png ├── 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 ├── ssh │ └── example-graphs │ │ ├── sshd_log-day.png │ │ ├── hostdenied-week.png │ │ └── sshd_log-month.png ├── tplink │ └── example-graphs │ │ └── tl_sg-day.png ├── chrony │ └── example-graphs │ │ ├── chrony_-day.png │ │ ├── chrony_sourcestats-1.png │ │ ├── chrony_sourcestats-2.png │ │ ├── chrony_sourcestats-3.png │ │ └── chrony_sourcestats-4.png ├── emc │ └── example-graphs │ │ ├── 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 │ │ ├── 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 ├── logs │ └── example-graphs │ │ ├── loggrepx_-day.png │ │ ├── loggrepx_-week.png │ │ ├── service_events-day.png │ │ └── service_events-week.png ├── puppet │ └── example-graphs │ │ ├── puppetdb-day.png │ │ └── puppet_runtime-day.png ├── security │ └── example-graphs │ │ ├── fail2ban_-1.png │ │ ├── fail2ban_-2.png │ │ ├── fail2ban_-3.png │ │ └── fail2ban_-4.png ├── solar │ └── example-graphs │ │ └── fronius-week.png ├── zfs │ ├── example-graphs │ │ ├── zfs_arcstats-1.png │ │ ├── zfs_arcstats-2.png │ │ ├── zpool_iostat-month.png │ │ └── zpool_iostat-week.png │ └── zfsarcstats-counters ├── znc │ └── example-graphs │ │ └── znc_logs.py-day.png ├── bsd │ ├── example-graphs │ │ └── netstat_bsd_m_-day.png │ ├── openbsd-swap │ └── openbsd-memory ├── docker │ └── example-graphs │ │ ├── docker_cpu-day.png │ │ └── docker_memory-day.png ├── syncthing │ └── example-graphs │ │ ├── syncthing_-1.png │ │ ├── syncthing_-2.png │ │ ├── syncthing_-3.png │ │ ├── syncthing_-4.png │ │ ├── syncthing_-5.png │ │ ├── strelaysrv_-1.png │ │ ├── strelaysrv_-2.png │ │ ├── strelaysrv_-3.png │ │ └── strelaysrv_-4.png ├── backup │ ├── example-graphs │ │ └── fresh_backups-week.png │ └── backup.sh ├── cpu │ ├── example-graphs │ │ ├── multicpu1sec-c.c-days.png │ │ ├── multicpu1sec-c.c-hours.png │ │ └── multicpu1sec-c.c-minutes.png │ └── cpuload_ ├── git │ └── example-graphs │ │ ├── git_commit_behind-day.png │ │ └── git_commit_behind-week.png ├── ilias │ └── example-graphs │ │ └── ilias_session-day.png ├── isp │ └── example-graphs │ │ ├── internode_current-day.png │ │ ├── internode_daily-week.png │ │ └── internode_usage-month.png ├── oracle │ └── example-graphs │ │ ├── oracle_sysstat-1.png │ │ └── oracle_sysstat-2.png ├── router │ └── example-graphs │ │ ├── freebox_adsl-day.png │ │ ├── freebox_uptime-day.png │ │ ├── freebox_users-day.png │ │ ├── freebox_traffic-day.png │ │ └── freebox_adsl_errors-day.png ├── sensors │ ├── example-graphs │ │ ├── switchbotmeter-1.png │ │ ├── switchbotmeterbt-1.png │ │ └── switchbotplugmini-1.png │ ├── w1-therm │ ├── alertme_keyfobsathome │ └── mbmon ├── ssl │ └── example-graphs │ │ ├── letsencrypt_weekly-1.png │ │ └── letsencrypt_weekly-2.png ├── systemd │ └── example-graphs │ │ └── systemd_mem-day.png ├── torrent │ └── example-graphs │ │ ├── deluge_peers-day.png │ │ ├── deluge_states-day.png │ │ └── deluge_bandwidth-day.png ├── apache │ ├── example-graphs │ │ └── apache_activity-week.png │ └── apache_vhosts │ │ └── README.txt ├── ejabberd │ └── example-graphs │ │ ├── ejabberd_scanlog-day.png │ │ ├── ejabberd_stats_-day.png │ │ └── ejabberd_resources_-month.png ├── ubiquiti │ └── example-graphs │ │ ├── unifi_api-device_cpu.png │ │ ├── unifi_api-device_load.png │ │ ├── unifi_api-device_mem.png │ │ ├── unifi_api-device_uptime.png │ │ ├── unifi_api-xfer_by_port.png │ │ ├── unifi_api-xfer_by_radio.png │ │ ├── unifi_api-clients_by_type.png │ │ ├── unifi_api-xfer_by_device.png │ │ ├── unifi_api-xfer_by_network.png │ │ ├── unifi_api-xfer_by_uplink.png │ │ ├── unifi_api-clients_by_device.png │ │ ├── unifi_api-xfer_by_device-detail.png │ │ ├── unifi_api-xfer_by_port-detail.png │ │ ├── unifi_api-xfer_by_radio-detail.png │ │ ├── unifi_api-clients_by_type-detail.png │ │ ├── unifi_api-xfer_by_network-detail.png │ │ └── unifi_api-clients_by_device-detail.png ├── varnish │ ├── README.rst │ └── README-varnish4.md ├── wifi │ └── example-graphs │ │ ├── ath9k_-stats_rcstats_day.png │ │ ├── wireless_signal_noise_-day.png │ │ ├── wireless_signal_ranges_-day.png │ │ ├── wireless_channel_active_-week.png │ │ ├── wireless_channel_active_-year.png │ │ ├── wireless_channel_occupation_-day.png │ │ ├── ath9k_-stats_phy0_dfs_events_year.png │ │ └── ath9k_-stats_phy0_phy0_wlan0_events_day.png ├── wireguard │ └── example-graphs │ │ ├── wireguard_peer_count.png │ │ └── wireguard_peer_traffic.png ├── dd-wrt │ └── example-graphs │ │ ├── dd-wrt-wifi-devices_-day.png │ │ └── dd-wrt-wifi-devices_-week.png ├── apt │ └── deb_packages │ │ ├── example-graphs │ │ ├── deb_packages.py-1.png │ │ └── deb_packages.py-week.png │ │ └── deb_packages.munin.conf ├── weather │ └── example-graphs │ │ └── wunderground_STATION-week.png ├── nginx │ ├── example-graphs │ │ └── nginx_connection_request-month.png │ ├── nginx_working_set │ └── nginx_byprojects │ │ └── LICENSE.txt ├── tesla │ └── example-graphs │ │ ├── tesla_wall_connector_wifi-week.png │ │ ├── tesla_wall_connector_voltage-week.png │ │ └── tesla_wall_connector_temperature-day.png ├── rackspace │ └── README ├── other │ ├── pid │ ├── radwho_cnt │ ├── globesurfer │ ├── xcache_items │ ├── xcache_hits │ └── freebsd-upgrades ├── cpan │ └── cpanp_o ├── hdfs │ └── hadoop-under_replicated-blocks ├── ip6 │ └── ip6t_accounting ├── qmail │ ├── qremote │ └── queuestats ├── clamav │ └── clamav ├── printer │ ├── dell_5310n_health_ │ ├── oki_c5500_pages_ │ ├── toshiba_5520c_scan_ │ └── toshiba_5520c_print_ ├── ftp │ └── proftpd ├── php │ ├── php_opcache.php │ └── php_xcache ├── harddisks │ └── powered_up_ ├── trafic_ro │ └── trafic_ro_24h ├── sphinx │ └── sphinx_documents ├── asterisk │ ├── asterisk_channels │ └── asterisk_14_fax_ffa │ │ └── fax_test ├── logins │ └── logins ├── websphere │ └── webspherelogin ├── raspberry-pi │ └── rpi_temp ├── ossec │ └── ossec_agents ├── minecraft │ └── minecraft-users ├── tcp │ └── tcp-retransmissions ├── haproxy │ ├── haproxy-failed-checks │ ├── haproxy-response-errors │ ├── haproxy-connection-errors │ ├── haproxy-sessions │ ├── haproxy-bytes │ ├── haproxy-downtime │ └── haproxy-errors ├── memcached │ ├── memcached_items_ │ ├── memcached_connections_ │ ├── memcached_bytes_ │ ├── memcached_hits_ │ └── memcached_requests_ ├── cacti │ ├── cacti_poller_time │ ├── cacti_rrds │ └── cacti-host ├── zope │ └── scripts_zodb │ │ ├── munin_cache_parameters.py │ │ └── munin_db_activity.py ├── pdns │ ├── pdns_rec_querylatency │ ├── pdns_rec_throttle │ ├── pdns_rec_concurrent │ ├── pdns_latency │ ├── pdns_qsize │ ├── pdns_rec_outqueries │ ├── pdns_rec_questions │ └── pdns_rec_cache_size ├── fr24 │ └── fr24 ├── yum │ └── yum_activity ├── mail │ ├── eoc_subscribers_count │ └── mail_connections ├── passenger │ ├── passenger_memory │ └── passenger_processes ├── darwin │ └── dar_vpnd ├── samba │ └── samba_locked ├── user │ └── multipsu ├── kamailio │ └── README.md ├── scalix │ ├── scalix_clients │ └── scalix_indexwork ├── audit │ └── portaudit ├── pf │ └── pf_ipv4_ipv6_packets ├── ceph │ └── ceph_osd ├── memory │ └── proc_mem ├── nfs-freebsd │ └── README.rst ├── vmware │ └── vm_cpu_load ├── db2 │ └── db2_cnx ├── powermta │ └── powermta_vmta_recpients ├── fan │ └── ibmfan ├── gearman │ └── gearman_queue ├── currency │ └── bitcoin │ │ └── slush_hashrate_ └── openntpd │ └── openntp_offset ├── tools ├── pypmmn │ ├── pypmmn │ │ └── __init__.py │ └── setup.py ├── pmmn │ └── plugins │ │ └── README ├── munin-node-c │ └── README ├── munin-plugins-busybox │ └── README ├── profiling │ └── dump_node └── munin-node-from-hell │ ├── tarpit.conf │ ├── basic.conf │ ├── simple.conf │ ├── notifications.conf │ ├── huge.conf │ ├── MIT-LICENSE │ └── README.rst ├── .gitignore ├── .codespell.ignore-words ├── .flake8 ├── templates ├── munstrap │ ├── templates │ │ ├── partial │ │ │ ├── footer.tmpl │ │ │ ├── generated_by.tmpl │ │ │ ├── logo_path.tmpl │ │ │ ├── logo_navigation_problem.tmpl │ │ │ ├── bottom_navigation.tmpl │ │ │ ├── path.tmpl │ │ │ ├── logo_navigation.tmpl │ │ │ ├── footer_pre.tmpl │ │ │ ├── logo_navigation_comparison.tmpl │ │ │ └── navigation.tmpl │ │ ├── logo.png │ │ └── munstrap.png │ ├── sample.jpg │ ├── sample-node.jpg │ ├── sample-zoom.jpg │ └── static │ │ ├── img │ │ ├── favicon.ico │ │ ├── favicon.png │ │ └── logo-munin.png │ │ ├── fonts │ │ ├── glyphicons-halflings-regular.eot │ │ ├── glyphicons-halflings-regular.ttf │ │ ├── glyphicons-halflings-regular.woff │ │ └── glyphicons-halflings-regular.woff2 │ │ └── js │ │ ├── querystring.min.js │ │ ├── munstrap.min.js │ │ └── querystring.js ├── muncollapse │ ├── sample-image │ │ ├── sample-group.png │ │ ├── sample-home.png │ │ ├── sample-node.png │ │ └── sample-zoom.png │ ├── .gitignore │ └── templates │ │ └── partial │ │ ├── footer_pre.tmpl │ │ └── bottom_navigation.tmpl └── official │ └── partial │ ├── generated_by.tmpl │ ├── logo_path.tmpl │ ├── path.tmpl │ ├── footer.tmpl │ ├── logo_navigation_problem.tmpl │ ├── logo_navigation_comparison.tmpl │ └── navigation.tmpl ├── images ├── README.md └── t-shirts │ └── README.md ├── .rubocop.yml └── Makefile /plugins/debian/debsecan: -------------------------------------------------------------------------------- 1 | debsecan_ -------------------------------------------------------------------------------- /plugins/gpu/nvidia_smi_.nocheck: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tools/pypmmn/pypmmn/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .*.swp 2 | *~ 3 | 4 | __pycache__/ 5 | -------------------------------------------------------------------------------- /plugins/system/fresh-backups: -------------------------------------------------------------------------------- 1 | ../backup/fresh-backups -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /plugins/java/jmx/plugin/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /.settings/ 3 | *.class 4 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/footer.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /plugins/comet/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/comet/example.png -------------------------------------------------------------------------------- /templates/munstrap/sample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/sample.jpg -------------------------------------------------------------------------------- /plugins/jmx/plugin/jmxquery.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/jmx/plugin/jmxquery.jar -------------------------------------------------------------------------------- /templates/munstrap/sample-node.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/sample-node.jpg -------------------------------------------------------------------------------- /templates/munstrap/sample-zoom.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/sample-zoom.jpg -------------------------------------------------------------------------------- /plugins/tor/example-graphs/tor_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tor/example-graphs/tor_-1.png -------------------------------------------------------------------------------- /plugins/tor/example-graphs/tor_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tor/example-graphs/tor_-2.png -------------------------------------------------------------------------------- /plugins/tor/example-graphs/tor_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tor/example-graphs/tor_-3.png -------------------------------------------------------------------------------- /plugins/tor/example-graphs/tor_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tor/example-graphs/tor_-4.png -------------------------------------------------------------------------------- /plugins/tor/example-graphs/tor_-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tor/example-graphs/tor_-5.png -------------------------------------------------------------------------------- /plugins/tor/example-graphs/tor_-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tor/example-graphs/tor_-6.png -------------------------------------------------------------------------------- /plugins/tor/example-graphs/tor_-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tor/example-graphs/tor_-7.png -------------------------------------------------------------------------------- /templates/munstrap/templates/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/templates/logo.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/network/example-graphs/tc_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/example-graphs/tc_-day.png -------------------------------------------------------------------------------- /plugins/ping/example-graphs/ping-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ping/example-graphs/ping-day.png -------------------------------------------------------------------------------- /templates/munstrap/static/img/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/static/img/favicon.ico -------------------------------------------------------------------------------- /templates/munstrap/static/img/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/static/img/favicon.png -------------------------------------------------------------------------------- /templates/munstrap/templates/munstrap.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/templates/munstrap.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gpsd_dop-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/gpsd/example-graphs/gpsd_dop-day.png -------------------------------------------------------------------------------- /plugins/mpd/example-graphs/mpdstats_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/mpd/example-graphs/mpdstats_-day.png -------------------------------------------------------------------------------- /plugins/network/example-graphs/tc_-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/example-graphs/tc_-week.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp__fn-cpu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/snmp/example-graphs/snmp__fn-cpu.png -------------------------------------------------------------------------------- /plugins/ssh/example-graphs/sshd_log-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ssh/example-graphs/sshd_log-day.png -------------------------------------------------------------------------------- /plugins/tplink/example-graphs/tl_sg-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tplink/example-graphs/tl_sg-day.png -------------------------------------------------------------------------------- /templates/munstrap/static/img/logo-munin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/static/img/logo-munin.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/chrony/example-graphs/chrony_-day.png -------------------------------------------------------------------------------- /plugins/debian/example-graphs/debsecan_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/debian/example-graphs/debsecan_-day.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-1.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-2.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-3.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-4.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-5.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-6.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-7.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-8.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-9.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-a.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-b.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-c.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-g.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-h.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-i.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-i.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_file_-j.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_file_-j.png -------------------------------------------------------------------------------- /plugins/logs/example-graphs/loggrepx_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/logs/example-graphs/loggrepx_-day.png -------------------------------------------------------------------------------- /plugins/logs/example-graphs/loggrepx_-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/logs/example-graphs/loggrepx_-week.png -------------------------------------------------------------------------------- /plugins/puppet/example-graphs/puppetdb-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/puppet/example-graphs/puppetdb-day.png -------------------------------------------------------------------------------- /plugins/security/example-graphs/fail2ban_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/security/example-graphs/fail2ban_-1.png -------------------------------------------------------------------------------- /plugins/security/example-graphs/fail2ban_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/security/example-graphs/fail2ban_-2.png -------------------------------------------------------------------------------- /plugins/security/example-graphs/fail2ban_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/security/example-graphs/fail2ban_-3.png -------------------------------------------------------------------------------- /plugins/security/example-graphs/fail2ban_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/security/example-graphs/fail2ban_-4.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp__fn-memory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/snmp/example-graphs/snmp__fn-memory.png -------------------------------------------------------------------------------- /plugins/solar/example-graphs/fronius-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/solar/example-graphs/fronius-week.png -------------------------------------------------------------------------------- /plugins/ssh/example-graphs/hostdenied-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ssh/example-graphs/hostdenied-week.png -------------------------------------------------------------------------------- /plugins/ssh/example-graphs/sshd_log-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ssh/example-graphs/sshd_log-month.png -------------------------------------------------------------------------------- /plugins/system/example-graphs/inotify-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/system/example-graphs/inotify-day.png -------------------------------------------------------------------------------- /plugins/system/example-graphs/zswap-daily.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/system/example-graphs/zswap-daily.png -------------------------------------------------------------------------------- /plugins/zfs/example-graphs/zfs_arcstats-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/zfs/example-graphs/zfs_arcstats-1.png -------------------------------------------------------------------------------- /plugins/zfs/example-graphs/zfs_arcstats-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/zfs/example-graphs/zfs_arcstats-2.png -------------------------------------------------------------------------------- /plugins/znc/example-graphs/znc_logs.py-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/znc/example-graphs/znc_logs.py-day.png -------------------------------------------------------------------------------- /plugins/bsd/example-graphs/netstat_bsd_m_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/bsd/example-graphs/netstat_bsd_m_-day.png -------------------------------------------------------------------------------- /plugins/debian/example-graphs/debsecan_-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/debian/example-graphs/debsecan_-month.png -------------------------------------------------------------------------------- /plugins/debian/example-graphs/debsecan_-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/debian/example-graphs/debsecan_-week.png -------------------------------------------------------------------------------- /plugins/debian/example-graphs/debsecan_-year.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/debian/example-graphs/debsecan_-year.png -------------------------------------------------------------------------------- /plugins/docker/example-graphs/docker_cpu-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/docker/example-graphs/docker_cpu-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gps_precision-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/gpsd/example-graphs/gps_precision-day.png -------------------------------------------------------------------------------- /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/network/example-graphs/netstat_s_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/example-graphs/netstat_s_-day.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp__fn-sessions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/snmp/example-graphs/snmp__fn-sessions.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/syncthing_-1.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/syncthing_-2.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/syncthing_-3.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/syncthing_-4.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/syncthing_-5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/syncthing_-5.png -------------------------------------------------------------------------------- /plugins/zfs/example-graphs/zpool_iostat-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/zfs/example-graphs/zpool_iostat-month.png -------------------------------------------------------------------------------- /plugins/zfs/example-graphs/zpool_iostat-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/zfs/example-graphs/zpool_iostat-week.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /plugins/backup/example-graphs/fresh_backups-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/backup/example-graphs/fresh_backups-week.png -------------------------------------------------------------------------------- /plugins/cpu/example-graphs/multicpu1sec-c.c-days.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/cpu/example-graphs/multicpu1sec-c.c-days.png -------------------------------------------------------------------------------- /plugins/disk/example-graphs/quota2percent_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/disk/example-graphs/quota2percent_-day.png -------------------------------------------------------------------------------- /plugins/docker/example-graphs/docker_memory-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/docker/example-graphs/docker_memory-day.png -------------------------------------------------------------------------------- /plugins/git/example-graphs/git_commit_behind-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/git/example-graphs/git_commit_behind-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gps_satellites-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/gpsd/example-graphs/gps_satellites-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gps_time_offset-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/gpsd/example-graphs/gps_time_offset-day.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gpsd_satellites-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/gpsd/example-graphs/gpsd_satellites-day.png -------------------------------------------------------------------------------- /plugins/ilias/example-graphs/ilias_session-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ilias/example-graphs/ilias_session-day.png -------------------------------------------------------------------------------- /plugins/isp/example-graphs/internode_current-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/isp/example-graphs/internode_current-day.png -------------------------------------------------------------------------------- /plugins/isp/example-graphs/internode_daily-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/isp/example-graphs/internode_daily-week.png -------------------------------------------------------------------------------- /plugins/isp/example-graphs/internode_usage-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/isp/example-graphs/internode_usage-month.png -------------------------------------------------------------------------------- /plugins/logs/example-graphs/service_events-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/logs/example-graphs/service_events-day.png -------------------------------------------------------------------------------- /plugins/logs/example-graphs/service_events-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/logs/example-graphs/service_events-week.png -------------------------------------------------------------------------------- /plugins/network/example-graphs/netstat_s_-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/example-graphs/netstat_s_-month.png -------------------------------------------------------------------------------- /plugins/oracle/example-graphs/oracle_sysstat-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/oracle/example-graphs/oracle_sysstat-1.png -------------------------------------------------------------------------------- /plugins/oracle/example-graphs/oracle_sysstat-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/oracle/example-graphs/oracle_sysstat-2.png -------------------------------------------------------------------------------- /plugins/puppet/example-graphs/puppet_runtime-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/puppet/example-graphs/puppet_runtime-day.png -------------------------------------------------------------------------------- /plugins/router/example-graphs/freebox_adsl-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/router/example-graphs/freebox_adsl-day.png -------------------------------------------------------------------------------- /plugins/router/example-graphs/freebox_uptime-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/router/example-graphs/freebox_uptime-day.png -------------------------------------------------------------------------------- /plugins/router/example-graphs/freebox_users-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/router/example-graphs/freebox_users-day.png -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/switchbotmeter-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/sensors/example-graphs/switchbotmeter-1.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp__fn-vpnsessions.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/snmp/example-graphs/snmp__fn-vpnsessions.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp_if_combined-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/snmp/example-graphs/snmp_if_combined-1.png -------------------------------------------------------------------------------- /plugins/snmp/example-graphs/snmp_if_combined-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/snmp/example-graphs/snmp_if_combined-day.png -------------------------------------------------------------------------------- /plugins/ssl/example-graphs/letsencrypt_weekly-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ssl/example-graphs/letsencrypt_weekly-1.png -------------------------------------------------------------------------------- /plugins/ssl/example-graphs/letsencrypt_weekly-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ssl/example-graphs/letsencrypt_weekly-2.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/strelaysrv_-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/strelaysrv_-1.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/strelaysrv_-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/strelaysrv_-2.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/strelaysrv_-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/strelaysrv_-3.png -------------------------------------------------------------------------------- /plugins/syncthing/example-graphs/strelaysrv_-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/syncthing/example-graphs/strelaysrv_-4.png -------------------------------------------------------------------------------- /plugins/systemd/example-graphs/systemd_mem-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/systemd/example-graphs/systemd_mem-day.png -------------------------------------------------------------------------------- /plugins/torrent/example-graphs/deluge_peers-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/torrent/example-graphs/deluge_peers-day.png -------------------------------------------------------------------------------- /plugins/torrent/example-graphs/deluge_states-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/torrent/example-graphs/deluge_states-day.png -------------------------------------------------------------------------------- /templates/muncollapse/sample-image/sample-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/muncollapse/sample-image/sample-group.png -------------------------------------------------------------------------------- /templates/muncollapse/sample-image/sample-home.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/muncollapse/sample-image/sample-home.png -------------------------------------------------------------------------------- /templates/muncollapse/sample-image/sample-node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/muncollapse/sample-image/sample-node.png -------------------------------------------------------------------------------- /templates/muncollapse/sample-image/sample-zoom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/muncollapse/sample-image/sample-zoom.png -------------------------------------------------------------------------------- /plugins/apache/example-graphs/apache_activity-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/apache/example-graphs/apache_activity-week.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_sourcestats-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/chrony/example-graphs/chrony_sourcestats-1.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_sourcestats-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/chrony/example-graphs/chrony_sourcestats-2.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_sourcestats-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/chrony/example-graphs/chrony_sourcestats-3.png -------------------------------------------------------------------------------- /plugins/chrony/example-graphs/chrony_sourcestats-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/chrony/example-graphs/chrony_sourcestats-4.png -------------------------------------------------------------------------------- /plugins/cpu/example-graphs/multicpu1sec-c.c-hours.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/cpu/example-graphs/multicpu1sec-c.c-hours.png -------------------------------------------------------------------------------- /plugins/disk/example-graphs/btrfs_device_usage-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/disk/example-graphs/btrfs_device_usage-day.png -------------------------------------------------------------------------------- /plugins/disk/example-graphs/btrfs_subvol_usage-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/disk/example-graphs/btrfs_subvol_usage-day.png -------------------------------------------------------------------------------- /plugins/git/example-graphs/git_commit_behind-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/git/example-graphs/git_commit_behind-week.png -------------------------------------------------------------------------------- /plugins/gpsd/example-graphs/gps_error_estimate-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/gpsd/example-graphs/gps_error_estimate-day.png -------------------------------------------------------------------------------- /plugins/network/linux_if/example-graphs/linux_if-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/linux_if/example-graphs/linux_if-1.png -------------------------------------------------------------------------------- /plugins/network/linux_if/example-graphs/linux_if-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/linux_if/example-graphs/linux_if-2.png -------------------------------------------------------------------------------- /plugins/router/example-graphs/freebox_traffic-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/router/example-graphs/freebox_traffic-day.png -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/switchbotmeterbt-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/sensors/example-graphs/switchbotmeterbt-1.png -------------------------------------------------------------------------------- /plugins/sensors/example-graphs/switchbotplugmini-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/sensors/example-graphs/switchbotplugmini-1.png -------------------------------------------------------------------------------- /plugins/cpu/example-graphs/multicpu1sec-c.c-minutes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/cpu/example-graphs/multicpu1sec-c.c-minutes.png -------------------------------------------------------------------------------- /plugins/ejabberd/example-graphs/ejabberd_scanlog-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ejabberd/example-graphs/ejabberd_scanlog-day.png -------------------------------------------------------------------------------- /plugins/ejabberd/example-graphs/ejabberd_stats_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ejabberd/example-graphs/ejabberd_stats_-day.png -------------------------------------------------------------------------------- /plugins/network/dns/example-graphs/dnsresponse_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/dns/example-graphs/dnsresponse_-day.png -------------------------------------------------------------------------------- /plugins/network/example-graphs/olsrd-link_quality_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/example-graphs/olsrd-link_quality_day.png -------------------------------------------------------------------------------- /plugins/router/example-graphs/freebox_adsl_errors-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/router/example-graphs/freebox_adsl_errors-day.png -------------------------------------------------------------------------------- /plugins/torrent/example-graphs/deluge_bandwidth-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/torrent/example-graphs/deluge_bandwidth-day.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-device_cpu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-device_cpu.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-device_load.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-device_load.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-device_mem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-device_mem.png -------------------------------------------------------------------------------- /plugins/varnish/README.rst: -------------------------------------------------------------------------------- 1 | Varnish plugins 2 | --------------- 3 | 4 | Updated Varnish plugins for 3.x can be found in the 5 | main munin source code repository. 6 | 7 | -------------------------------------------------------------------------------- /plugins/wifi/example-graphs/ath9k_-stats_rcstats_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wifi/example-graphs/ath9k_-stats_rcstats_day.png -------------------------------------------------------------------------------- /plugins/wireguard/example-graphs/wireguard_peer_count.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wireguard/example-graphs/wireguard_peer_count.png -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /plugins/dd-wrt/example-graphs/dd-wrt-wifi-devices_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/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/cweiske/munin-contrib/master/plugins/dd-wrt/example-graphs/dd-wrt-wifi-devices_-week.png -------------------------------------------------------------------------------- /plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/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/cweiske/munin-contrib/master/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/cweiske/munin-contrib/master/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/cweiske/munin-contrib/master/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/cweiske/munin-contrib/master/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/cweiske/munin-contrib/master/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/cweiske/munin-contrib/master/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/cweiske/munin-contrib/master/plugins/emc/example-graphs/emc_vnx_block_lun_perfdata-8.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-device_uptime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-device_uptime.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_port.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_port.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_radio.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_radio.png -------------------------------------------------------------------------------- /plugins/wifi/example-graphs/wireless_signal_noise_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wifi/example-graphs/wireless_signal_noise_-day.png -------------------------------------------------------------------------------- /plugins/wifi/example-graphs/wireless_signal_ranges_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wifi/example-graphs/wireless_signal_ranges_-day.png -------------------------------------------------------------------------------- /plugins/wireguard/example-graphs/wireguard_peer_traffic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wireguard/example-graphs/wireguard_peer_traffic.png -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/generated_by.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
-------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /plugins/apt/deb_packages/example-graphs/deb_packages.py-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/apt/deb_packages/example-graphs/deb_packages.py-1.png -------------------------------------------------------------------------------- /plugins/ejabberd/example-graphs/ejabberd_resources_-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ejabberd/example-graphs/ejabberd_resources_-month.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-clients_by_type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-clients_by_type.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_device.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_network.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_uplink.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_uplink.png -------------------------------------------------------------------------------- /plugins/weather/example-graphs/wunderground_STATION-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/weather/example-graphs/wunderground_STATION-week.png -------------------------------------------------------------------------------- /plugins/wifi/example-graphs/wireless_channel_active_-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wifi/example-graphs/wireless_channel_active_-week.png -------------------------------------------------------------------------------- /plugins/wifi/example-graphs/wireless_channel_active_-year.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wifi/example-graphs/wireless_channel_active_-year.png -------------------------------------------------------------------------------- /plugins/apt/deb_packages/example-graphs/deb_packages.py-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/apt/deb_packages/example-graphs/deb_packages.py-week.png -------------------------------------------------------------------------------- /plugins/network/transmission/transmission_status_example_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/transmission/transmission_status_example_day.png -------------------------------------------------------------------------------- /plugins/nginx/example-graphs/nginx_connection_request-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/nginx/example-graphs/nginx_connection_request-month.png -------------------------------------------------------------------------------- /plugins/system/example-graphs/kernel_same_page_merging-month.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/system/example-graphs/kernel_same_page_merging-month.png -------------------------------------------------------------------------------- /plugins/tesla/example-graphs/tesla_wall_connector_wifi-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tesla/example-graphs/tesla_wall_connector_wifi-week.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-clients_by_device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-clients_by_device.png -------------------------------------------------------------------------------- /plugins/wifi/example-graphs/wireless_channel_occupation_-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wifi/example-graphs/wireless_channel_occupation_-day.png -------------------------------------------------------------------------------- /templates/munstrap/static/fonts/glyphicons-halflings-regular.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/static/fonts/glyphicons-halflings-regular.eot -------------------------------------------------------------------------------- /templates/munstrap/static/fonts/glyphicons-halflings-regular.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/static/fonts/glyphicons-halflings-regular.ttf -------------------------------------------------------------------------------- /templates/official/partial/generated_by.tmpl: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
6 | -------------------------------------------------------------------------------- /plugins/network/example-graphs/olsrd-neighbour_link_count_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/example-graphs/olsrd-neighbour_link_count_day.png -------------------------------------------------------------------------------- /plugins/network/transmission/transmission_activity_example_day_.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/transmission/transmission_activity_example_day_.png -------------------------------------------------------------------------------- /plugins/network/transmission/transmission_traffic_example_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/network/transmission/transmission_traffic_example_day.png -------------------------------------------------------------------------------- /plugins/tesla/example-graphs/tesla_wall_connector_voltage-week.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tesla/example-graphs/tesla_wall_connector_voltage-week.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_device-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_device-detail.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_port-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_port-detail.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_radio-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_radio-detail.png -------------------------------------------------------------------------------- /plugins/wifi/example-graphs/ath9k_-stats_phy0_dfs_events_year.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wifi/example-graphs/ath9k_-stats_phy0_dfs_events_year.png -------------------------------------------------------------------------------- /templates/munstrap/static/fonts/glyphicons-halflings-regular.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/static/fonts/glyphicons-halflings-regular.woff -------------------------------------------------------------------------------- /templates/munstrap/static/fonts/glyphicons-halflings-regular.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/templates/munstrap/static/fonts/glyphicons-halflings-regular.woff2 -------------------------------------------------------------------------------- /plugins/tesla/example-graphs/tesla_wall_connector_temperature-day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/tesla/example-graphs/tesla_wall_connector_temperature-day.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-clients_by_type-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-clients_by_type-detail.png -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-xfer_by_network-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-xfer_by_network-detail.png -------------------------------------------------------------------------------- /.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 | -------------------------------------------------------------------------------- /plugins/ubiquiti/example-graphs/unifi_api-clients_by_device-detail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/ubiquiti/example-graphs/unifi_api-clients_by_device-detail.png -------------------------------------------------------------------------------- /plugins/wifi/example-graphs/ath9k_-stats_phy0_phy0_wlan0_events_day.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cweiske/munin-contrib/master/plugins/wifi/example-graphs/ath9k_-stats_phy0_phy0_wlan0_events_day.png -------------------------------------------------------------------------------- /templates/muncollapse/.gitignore: -------------------------------------------------------------------------------- 1 | static/img/ 2 | static/css/bootstrap.min.css 3 | static/js/bootstrap.min.js 4 | static/js/jquery.min.js 5 | static/js/lazysizes.min.js 6 | static/js/typeahead.bundle.min.js 7 | -------------------------------------------------------------------------------- /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/java/jmx/plugin/.classpath: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /templates/official/partial/logo_path.tmpl: -------------------------------------------------------------------------------- 1 |

Overview

2 | 3 | 4 | 5 |

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

Overview

2 | 3 | 4 | 5 |

6 | 7 | 8 | -------------------------------------------------------------------------------- /templates/official/partial/path.tmpl: -------------------------------------------------------------------------------- 1 | :: ">">Overview 2 | -------------------------------------------------------------------------------- /plugins/rackspace/README: -------------------------------------------------------------------------------- 1 | ====================================================================================== 2 | These plugins are made to monitor RackSpace Cloudfiles storage usage and files 3 | count. 4 | 5 | ====================================================================================== 6 | 7 | Andrey Kozhokaru 8 | andrey@kozhokaru.com 9 | -------------------------------------------------------------------------------- /templates/official/partial/footer.tmpl: -------------------------------------------------------------------------------- 1 | 7 | 8 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/logo_navigation_problem.tmpl: -------------------------------------------------------------------------------- 1 |

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

6 | 7 | -------------------------------------------------------------------------------- /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 < 2 |

"> 3 | ">Overview 4 | :: Problem overview 5 | :: [ 6 | critical 7 | warning 8 | unknown 9 | ] 10 |

11 | 12 | 13 | -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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() -------------------------------------------------------------------------------- /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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/bottom_navigation.tmpl: -------------------------------------------------------------------------------- 1 | 2 |
3 | 6 | 11 |
12 |
-------------------------------------------------------------------------------- /plugins/cpan/cpanp_o: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env perl 2 | use Modern::Perl; 3 | 4 | given ($ARGV[0]) { 5 | when ("config") { 6 | print < 2 | :: 3 | 4 | "> 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | "> 13 | 14 | Overview 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /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/dev/null | wc -l)" 22 | -------------------------------------------------------------------------------- /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 <Black\ Toner' $tmpWeb | perl -p -e 's/^.+>Black\ Toner[^0-9]+([0-9]+)\%<.+$/$1/'` 20 | fi 21 | 22 | rm $tmpWeb 23 | -------------------------------------------------------------------------------- /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/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/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/sensors/w1-therm: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #%# family=auto 3 | #%# capabilities=autoconf suggest 4 | # 5 | # Supported env variables: 6 | # desc: sensor description 7 | # 8 | 9 | NAME="${0#*_}" 10 | TITLE="Temperature ${desc:-on $NAME}" 11 | 12 | case "$1" in 13 | config) 14 | cat << EOF 15 | graph_title $TITLE 16 | graph_vlabel Celsius 17 | graph_args --base 1000 -l 0 18 | graph_category sensors 19 | temp.label $NAME 20 | EOF 21 | ;; 22 | suggest) 23 | grep -lw "t=[0-9]*" /sys/bus/w1/devices/*/w1_slave 2>&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/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() -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /templates/muncollapse/templates/partial/bottom_navigation.tmpl: -------------------------------------------------------------------------------- 1 | 6 | 7 |
8 | 11 | 16 |
17 |
-------------------------------------------------------------------------------- /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")}})})(); -------------------------------------------------------------------------------- /plugins/harddisks/powered_up_: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | #%# family=auto 3 | #%# capabilities=autoconf suggest 4 | 5 | device=`basename $0 | sed 's/^powered_up_//g'` 6 | if [ ! -e /dev/$device ]; then 7 | device="disk/by-id/$device" 8 | fi 9 | 10 | case $1 in 11 | config) 12 | cat < 2 | 17 | 18 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/network/net_hosts_: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # munin plugin to show number of online network hosts on a subnet (needs fping) 3 | # link with subnet name as suffix like _192.168.1 4 | # will most likely need a custom timeout setting in /etc/munin/plugin-conf.d/munin-node 5 | # for example: 6 | # [net_hosts_*] 7 | # timeout 20 8 | # 9 | # (c) 2011 jon@jon.bpa.nu 10 | #%# family=manual 11 | 12 | SUBNET=`echo $0 | cut -d'_' -f3` 13 | TIMEOUT=50 # ms 14 | RETRIES=0 15 | 16 | case $1 in 17 | config) 18 | cat </dev/null | wc -l`" 29 | else 30 | echo "could not get subnet name ($SUBNET)" 31 | fi 32 | -------------------------------------------------------------------------------- /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/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/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/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/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/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 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 < 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 < 1 and sys.argv[1] == 'config': 29 | config() 30 | else: 31 | main() 32 | -------------------------------------------------------------------------------- /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/haproxy/haproxy-failed-checks: -------------------------------------------------------------------------------- 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".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 < [$address] }; 29 | my $memstats = $memd->stats(['misc']); 30 | 31 | print "items.value " . 32 | $memstats->{hosts}->{$address}->{misc}->{curr_items} . "\n"; 33 | -------------------------------------------------------------------------------- /plugins/haproxy/haproxy-connection-errors: -------------------------------------------------------------------------------- 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".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 | labels() { 12 | cat < 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/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/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/zope/scripts_zodb/munin_cache_parameters.py: -------------------------------------------------------------------------------- 1 | ## Script (Python) "munin_cache_parameters.py" 2 | ##bind container=container 3 | ##bind context=context 4 | ##bind namespace= 5 | ##bind script=script 6 | ##bind subpath=traverse_subpath 7 | ##parameters= 8 | ##title= 9 | ## 10 | """ 11 | Fetches data about the ZODB for the munin plugin "zope_cache_parameters". 12 | Needs the Manager proxy role to work. 13 | Only answers requests from localhost directly to zopes port. 14 | """ 15 | 16 | req = context.REQUEST 17 | 18 | if req['HTTP_X_FORWARDED_FOR'] or req['REMOTE_ADDR'] != '127.0.0.1': 19 | return "This script can only be called frm localhost" 20 | 21 | maindb = context.restrictedTraverse('/Control_Panel/Database/main') 22 | 23 | print maindb.database_size(), # Total number of objects in the database 24 | print maindb.cache_length(), # Total number of objects in memory from all caches 25 | print len(maindb.cache_detail_length()) * maindb.cache_size() # Target number of objects in memory sum total 26 | 27 | return printed 28 | -------------------------------------------------------------------------------- /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/network/iperf_: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # iperf_ munin grabber script 4 | # 2007.09 by steve@kosada.com 5 | # 6 | # before trying to use this script, make sure: 7 | # - you have an iperf server running on the remote machine 8 | # - you are able to successfully run iperf from the commandline. e.g., 9 | # iperf --time 2 --parallel 4 --client $destination --format B 10 | 11 | destination=`basename $0 | sed 's/^iperf_//g'` 12 | 13 | if [ "$1" = "config" ]; then 14 | echo "graph_title iperf to $destination" 15 | echo 'graph_vlabel bytes/sec' 16 | echo 'graph_args --lower-limit 0 --upper-limit 200000' 17 | echo 'graph_category network' 18 | echo 'graph_period second' 19 | echo "graph_info This instance of iperf measures the transmit speed to $destination" 20 | 21 | echo 'iperf.label iperf' 22 | echo 'iperf.draw AREA' 23 | else 24 | kbits=`iperf --time 2 --parallel 4 --client $destination --format B \ 25 | | grep Bytes \ 26 | | tr --squeeze-repeats ' ' \ 27 | | cut -d ' ' -f 8` 28 | echo "iperf.value $kbits" 29 | fi 30 | -------------------------------------------------------------------------------- /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/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/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/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/cpu/cpuload_: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Munin-plugin to monitor the CPU usage for one or more given process name(s) 4 | # 5 | # Use the environment variable "process" to define more than one process 6 | # name if required. Process names must be separated by comma, no whitespace. 7 | # 8 | # [cpuload_postfix] 9 | # env.process master,qmgmr,proxymap,pickup 10 | # 11 | # GNU GPL, Bjørn Ruberg 12 | 13 | # Find process names from env variables for the given plugin 14 | # If not, extract from filename. 15 | 16 | test -n "$process" || process=`echo $0 | cut -d _ -f 2` 17 | 18 | if [ "$1" = "config" ]; then 19 | echo "graph_title CPU load for $process" 20 | echo 'graph_category processes' 21 | echo "graph_info This graph shows the CPU load for $process, as reported by 'ps'" 22 | echo 'cpuload.label CPU load' 23 | echo "cpuload.info CPU load of $process" 24 | echo "cpuload.type GAUGE" 25 | exit 0 26 | fi 27 | 28 | echo -n "cpuload.value " 29 | ps -C $process -o pcpu,comm --no-header | awk '{ sum += $1 } END { print sum }' 30 | -------------------------------------------------------------------------------- /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/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/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/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/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/network/linux_if/README.md: -------------------------------------------------------------------------------- 1 | linux_if 2 | ======== 3 | 4 | Linux network monitoring plugin with support for *bonding* and *vlans*. 5 | 6 | Plugin will group all bonding slaves into one aggregated graph. It removes clutter 7 | of having many single-metric graphs for individual interfaces. You still can click 8 | through to individual graphs. 9 | 10 | In this example, `p1p1`, `p2p1` are physical interfaces of one bond0. Only p1p1 is active, 11 | as we are using Active-Backup bonding mode. `Total` (black) is the throughput of parent 12 | interface `bond0`. 13 | 14 | ![linux_if_bonding text](linux_if_bonding.png "linux_if bonding feature") 15 | 16 | Similar aggregation is done also on higher level for vlans. All vlan sub-interfaces 17 | are aggregated into one graph, based on their parent interface. Interfaces do not even 18 | have to follow the same naming convention (_interface_._vlanid_). Interfaces `bond0.279`, 19 | `vlan101`, `vlan102` are all vlan sub-interfaces of bond0. 20 | 21 | ![linux_if_vlans_text](linux_if_vlans.png "linux_if vlan feature") 22 | 23 | -------------------------------------------------------------------------------- /plugins/yum/yum_activity: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to monitor yum update activity 4 | # 5 | # Parameters: 6 | # 7 | # config 8 | # autoconf 9 | # 10 | 11 | 12 | if [ "$1" = "autoconf" ]; then 13 | if [ -r /var/log/yum.log ]; then 14 | echo yes 15 | else 16 | echo "no (/var/log/yum.log not readable)" 17 | fi 18 | exit 0 19 | fi 20 | 21 | if [ "$1" = "config" ]; then 22 | 23 | echo 'graph_title Yum Activity' 24 | echo 'graph_args --base 1000 -l 0 ' 25 | echo 'graph_category security' 26 | echo 'graph_vlabel Yum Activity' 27 | echo 'updates.label Yum Updated' 28 | echo 'updates.draw AREA' 29 | echo 'installed.label Yum Installed' 30 | echo 'installed.draw AREA' 31 | echo 'erased.label Yum Erased' 32 | echo 'erased.draw AREA' 33 | exit 0 34 | fi 35 | 36 | echo -n "updates.value " 37 | grep "`date "+%b %d"`" /var/log/yum.log | grep -ci Updated 38 | 39 | echo -n "installed.value " 40 | grep "`date "+%b %d"`" /var/log/yum.log | grep -ci Installed 41 | 42 | echo -n "erased.value " 43 | grep "`date "+%b %d"`" /var/log/yum.log | grep -ci Erased 44 | -------------------------------------------------------------------------------- /plugins/zope/scripts_zodb/munin_db_activity.py: -------------------------------------------------------------------------------- 1 | ## Script (Python) "munin_db_activity.py" 2 | ##bind container=container 3 | ##bind context=context 4 | ##bind namespace= 5 | ##bind script=script 6 | ##bind subpath=traverse_subpath 7 | ##parameters= 8 | ##title= 9 | ## 10 | """ 11 | Fetches data about the ZODB for the munin plugin "zope_db_activity". 12 | Needs the Manager proxy role to work. 13 | Only answers requests from localhost directly to zopes port. 14 | """ 15 | 16 | req = context.REQUEST 17 | 18 | if req['HTTP_X_FORWARDED_FOR'] or req['REMOTE_ADDR'] != '127.0.0.1': 19 | return "This script can only be called frm localhost" 20 | 21 | sec = 60*5 # 5 min is munins update frequency 22 | 23 | now = float(DateTime()) 24 | then = now-sec 25 | 26 | request = dict(chart_start=then, 27 | chart_end=now) 28 | 29 | maindb = context.restrictedTraverse('/Control_Panel/Database/main') 30 | cd = maindb.getActivityChartData(200, request) 31 | 32 | print cd['total_load_count'],cd['total_store_count'],cd['total_connections'] 33 | 34 | return printed 35 | -------------------------------------------------------------------------------- /plugins/mail/eoc_subscribers_count: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to the number of subscribers to a EOC list. 4 | # 5 | # Copyright (C) 2009 - Julien Danjou 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/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/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 < 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/haproxy/haproxy-downtime: -------------------------------------------------------------------------------- 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"_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 < 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/comet/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 Comet Licensing Ltd. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /plugins/comet/comet_jobs_classification: -------------------------------------------------------------------------------- 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 Job Classification 24h') 9 | print('graph_args --base 1000 -l 0 ') 10 | print('graph_category Comet') 11 | print('other.label Other') 12 | print('other.draw AREASTACK') 13 | print('other.min 0') 14 | print('other.colour dcdcdc') 15 | print('restore.label Restore') 16 | print('restore.draw AREASTACK') 17 | print('restore.min 0') 18 | print('restore.colour a561d3') 19 | print('backup.label Backup') 20 | print('backup.draw AREASTACK') 21 | print('backup.min 0') 22 | print('backup.colour 4d98d7') 23 | 24 | def main(): 25 | cs = CometServer() 26 | classificationCount = cs.getJobsClassification() 27 | print("backup.value " + str(classificationCount["Backup"])) 28 | print("restore.value " + str(classificationCount["Restore"])) 29 | print("other.value " + str(classificationCount["Other"])) 30 | 31 | if __name__ == '__main__': 32 | if len(sys.argv) > 1 and sys.argv[1] == 'config': 33 | config() 34 | else: 35 | main() -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /plugins/haproxy/haproxy-errors: -------------------------------------------------------------------------------- 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 | labels() { 12 | cat < (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/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/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/samba/samba_locked: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to monitor the number of Samba locked files on the machine. 4 | # 5 | # Parameters: 6 | # 7 | # config (required) 8 | # autoconf (optional - used by munin-config) 9 | # 10 | # $Log$ 11 | # Revision 1.0 2007/04/16 Jon Higgs 12 | # Initial Release - Adapted from jimmyo's processes plugin. 13 | # 14 | # Magick markers (optional - used by munin-config and some installation 15 | # scripts): 16 | #%# family=auto 17 | #%# capabilities=autoconf 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 Samba Locked Files' 27 | echo 'graph_args --base 1000 -l 0 ' 28 | echo 'graph_vlabel number of locked files' 29 | echo 'graph_category fs' 30 | echo 'graph_info This graph shows the number locked Samba Files.' 31 | echo 'samba_locked.label Locked Files' 32 | echo 'samba_locked.draw LINE2' 33 | echo 'samba_locked.info The current number of locked files.' 34 | exit 0 35 | fi 36 | 37 | echo "samba_locked.value $(smbstatus -L 2> /dev/null | grep -c DENY_)" 38 | 39 | # If here, always return OK 40 | exit 0 41 | -------------------------------------------------------------------------------- /plugins/varnish/README-varnish4.md: -------------------------------------------------------------------------------- 1 | Munin Plugin for Varnish 4 2 | ========================== 3 | 4 | Modified version of the plugin for Varnish 2/3 from the munin distribution 5 | to adapt to the XML output of Varnish 4 varnishstat. 6 | 7 | Installation 8 | ------------ 9 | 10 | - Copy `varnish4_` to the Munin plugins directory (`/usr/share/munin/plugins/`) 11 | - Make `varnish4_` runnable (`chmod +x /usr/share/munin/plugins/varnish4_`) 12 | 13 | Configuration 14 | ------------- 15 | 16 | Run `munin-node-configure --shell` and link the aspects to monitor to 17 | your actual plugins directory. 18 | 19 | In your plugins.conf add 20 | ``` 21 | [varnish4_*] 22 | group varnish 23 | env.varnishstat varnishstat 24 | env.name 25 | ``` 26 | `group varnish` Since Varnish version 4.1, Varnish shared log utilities must be run in a context with *varnish* group membership. 27 | 28 | `env.varnishstat` can be a full path to varnishstat if it's 29 | not in the path already. 30 | 31 | `env.name` is blank (undefined) by default and can be used to specify a -n 32 | name argument to varnish if multiple instances are running on the same 33 | server. 34 | -------------------------------------------------------------------------------- /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/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/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/user/multipsu: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # 3 | # Script to monitor number of processes by user. Programs are configured 4 | # in /etc/munin/plugin-conf.d/munin-node 5 | # 6 | # Parameters: 7 | # 8 | # config (required) 9 | # autoconf (optional - used by lrrd-config) 10 | # 11 | # Configuration example 12 | # 13 | # [multipsu] 14 | # env.multipsunames root exim ftp 15 | # 16 | # 17 | # Magic markers (optional): 18 | #%# family=manual 19 | #%# capabilities=autoconf 20 | 21 | if [ "$1" = "autoconf" ]; then 22 | if [ -z "$multipsunames" ]; then 23 | echo "Configuration required $multipsunames" 24 | else 25 | echo yes 26 | fi 27 | exit 0 28 | fi 29 | 30 | if [ "$1" = "config" ]; then 31 | 32 | echo graph_title Number of selected processes 33 | echo 'graph_category processes' 34 | echo 'graph_args --base 1000 --vertical-label processes -l 0' 35 | for name in $multipsunames; do 36 | echo "$name.label $name" 37 | echo "$name.draw LINE2" 38 | done 39 | exit 0 40 | fi 41 | 42 | for name in $multipsunames; do 43 | printf "$name.value " 44 | (pgrep -u "$name"; pgrep -U "$name") | sort -u | wc -l 45 | done 46 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/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/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/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/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/vmware/vm_cpu_load: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | i=0 4 | VMX[0]='/var/lib/vmware/Virtual Machines//Other Linux.vmx'; 5 | VMX[1]='another VM'; 6 | VMX[2]='and one more :)'; 7 | VMX[3]='add as much as you like!'; 8 | 9 | if [ "$1" = "autoconf" ]; then 10 | echo yes 11 | exit 0 12 | fi 13 | 14 | if [ "$1" = "config" ]; then 15 | 16 | echo 'graph_title VMware CPU-Load' 17 | echo 'graph_args --base 1000 -l 0' 18 | echo 'graph_vlabel Load of VMware VMs' 19 | echo 'graph_category cpu' 20 | 21 | while [ $i -lt ${#VMX[*]} ] 22 | do 23 | 24 | NAME=`vmware-cmd "${VMX[i]}" getconfig displayName |sed 's!getconfig(displayName) = !!' | sed 's! !!g' | sed 's!-!_!g'` 25 | echo $NAME.label $NAME 26 | 27 | i=`expr $i + 1` 28 | done 29 | exit 0 30 | fi 31 | 32 | i=0 33 | 34 | while [ $i -lt ${#VMX[*]} ] 35 | do 36 | 37 | PID=`vmware-cmd "${VMX[$i]}" getpid | sed 's!getpid() = !!'` 38 | NAME=`vmware-cmd "${VMX[i]}" getconfig displayName |sed 's!getconfig(displayName) = !!' | sed 's! !!g' | sed 's!-!_!g'` 39 | CPU=`ps -o %cpu -p $PID --no-header` 40 | 41 | echo $NAME."value" $CPU 42 | 43 | 44 | i=`expr $i + 1` 45 | 46 | done 47 | 48 | -------------------------------------------------------------------------------- /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/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/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/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/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/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/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 | -------------------------------------------------------------------------------- /templates/official/partial/logo_navigation_comparison.tmpl: -------------------------------------------------------------------------------- 1 | 34 | -------------------------------------------------------------------------------- /templates/official/partial/navigation.tmpl: -------------------------------------------------------------------------------- 1 | 30 | 31 | -------------------------------------------------------------------------------- /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_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 | -------------------------------------------------------------------------------- /templates/munstrap/templates/partial/navigation.tmpl: -------------------------------------------------------------------------------- 1 | 30 | 31 | -------------------------------------------------------------------------------- /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/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/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/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/currency/bitcoin/slush_hashrate_: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # based on https://github.com/pdbrown/munin-custom/blob/master/plugins/hashrate 3 | # improved by @deveth0 (donation to 1GzHgp9hsDRsf96MnVk2oo6EG1VmWP9jGs :) ) 4 | # usage: set your api key in node-config, eg 5 | # [slush_*] 6 | # env.apikey foobar 7 | import sys 8 | import urllib2 9 | import json 10 | import os 11 | 12 | SLUSH_URL = 'https://mining.bitcoin.cz/accounts/profile/json/' 13 | API_KEY = os.getenv('apikey') 14 | SLUSH_STATS = SLUSH_URL + API_KEY 15 | 16 | mining_stats_raw = urllib2.urlopen(SLUSH_STATS) 17 | mining_stats = json.load(mining_stats_raw) 18 | workers = mining_stats['workers'] 19 | 20 | command = '' 21 | if len(sys.argv) > 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/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/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 < [$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/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 | -------------------------------------------------------------------------------- /tools/munin-node-from-hell/README.rst: -------------------------------------------------------------------------------- 1 | munin-node from hell 2 | ==================== 3 | 4 | This is a simple implementation of a munin node (http://munin-monitoring.org/) 5 | that is made to give the polling server a hard time. 6 | 7 | In practice this is the munin-node that we use to develop and test the awesome 8 | stuff we do at http://hostedmunin.com/ . Use it as you feel fit :) 9 | 10 | Current features controlled via config file: 11 | 12 | * Respond slowly or never to queries. 13 | * Have plugins that always are in warning or critical. 14 | * Extensive number of plugins running at once. 15 | * Run on multiple ports at the same time, to test huge amounts of clients. 16 | 17 | 18 | Usage 19 | ----- 20 | 21 | munin-node-from-hell takes two arguments; the mode and which config file to 22 | use. Mode is either --run or --muninconf. 23 | 24 | This software is meant to run as an ordinary Unix user, please don't run 25 | it as root. 26 | 27 | You probably want: 28 | 29 | ./munin-node-from-hell --run simple.conf 30 | 31 | To make a config snippet to put in munin.conf: 32 | 33 | ./munin-node-from-hell --muninconf simple.conf > snippet.conf 34 | 35 | License 36 | ------- 37 | 38 | See the file MIT-LICENSE for details. 39 | 40 | Contact 41 | ------- 42 | 43 | Lasse Karstensen 44 | -------------------------------------------------------------------------------- /plugins/mail/mail_connections: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to count the open connections for smtp, pop3 and imap 4 | # 5 | # Magic markers - optional - used by installation scripts and 6 | # munin-config: 7 | # 8 | #%# family=auto 9 | #%# capabilities=autoconf 10 | 11 | PORTS="25 smtp SMTP 12 | 110 pop3 POP3 13 | 143 imap IMAP 14 | 465 ssmtp SMTP-SSL 15 | 587 submission SMTP (submission) 16 | 993 imaps IMAP-SSL 17 | 995 pop3s POP3-SSL" 18 | 19 | if [ "$1" = "autoconf" ]; then 20 | ports=$(echo "$PORTS" | cut -f 1 -d " ") 21 | for port in $ports; do 22 | netstat -ln | grep -q ":$port " && echo "yes" && exit 0 23 | done 24 | # no open connections for typical mail ports found 25 | echo "no (no listeners for smtp/pop3/imap ports found)" 26 | exit 0 27 | fi 28 | 29 | if [ "$1" = "config" ]; then 30 | cat < back to 17 | // See: http://www.w3.org/TR/REC-html40/interact/forms.html#h-17.13.4.1 18 | qs = qs.replace(/\+/g, ' '); 19 | var args = qs.split('&'); // parse out name/value pairs separated via & 20 | 21 | // split out each name=value pair 22 | for (var i = 0; i < args.length; i++) { 23 | var pair = args[i].split('='); 24 | var name = decodeURIComponent(pair[0]); 25 | 26 | var value = (pair.length==2) 27 | ? decodeURIComponent(pair[1]) 28 | : name; 29 | 30 | this.params[name] = value; 31 | } 32 | } 33 | 34 | Querystring.prototype.get = function(key, default_) { 35 | var value = this.params[key]; 36 | return (value != null) ? value : default_; 37 | } 38 | 39 | Querystring.prototype.contains = function(key) { 40 | var value = this.params[key]; 41 | return (value != null); 42 | } 43 | -------------------------------------------------------------------------------- /plugins/openntpd/openntp_offset: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # 3 | # Plugin to measure OpenNTPd offset, delay and jitter for the active peer. 4 | # 5 | # Usage: Place it in the munin plugins directory (/usr/local/etc/munin/plugins/ 6 | # or /etc/munin/plugins/). Might require running as root in order to access the 7 | # ntpctl socket. 8 | # 9 | # AUTHOR: Vladimir Krstulja 10 | # LICENSE: GPLv2 11 | # 12 | #%# family=auto 13 | #%# capabilities=autoconf 14 | 15 | NTPCTL=`which ntpctl` 16 | 17 | # Config 18 | if [ "$1" = "autoconf" ] ; then 19 | if [ -f "$NTPCTL" ]; then 20 | echo 'yes' 21 | else 22 | echo 'no (no ntpctl)' 23 | fi 24 | exit 0 25 | fi 26 | 27 | # Autoconf 28 | if [ "$1" = "config" ] ; then 29 | echo "graph_title OpenNTP offset statistics for active peer" 30 | echo "graph_args --base 1000 --vertical-label seconds --lower-limit 0" 31 | echo "graph_category time" 32 | echo "graph_info Current status: `$NTPCTL -s status`" 33 | echo "delay.label Delay" 34 | echo "delay.cdef delay,1000,/" 35 | echo "offset.label Offset" 36 | echo "offset.cdef offset,1000,/" 37 | echo "jitter.label Jitter" 38 | echo "jitter.cdef jitter,1000,/" 39 | exit 0 40 | fi 41 | 42 | # Main plugin function 43 | $NTPCTL -s all | awk '/\*/{printf("offset.value %.3f\ndelay.value %.3f\njitter.value %.3f\n",$7,$8,$9)}' 44 | 45 | --------------------------------------------------------------------------------