穆宁
Munin是一个用 Perl 编写的资源监控工具。 使用 RRDtool 创建图表。
版本信息
稳定版本为2.0.34,于2017年10月21日发布,可在EPEL仓库中获取。
最新的评估版本是2.99.3,于2017年1月21日发布。
在 CentOS 上,2.0.33 可以从 EPEL 仓库安装。
由来
穆宁发音为“Munin”,指的是伴随北欧神祇奥丁的一对渡鸦的“记忆”。 两只鸟在黎明时分被派到外面,收集情报,夜间回来悄悄向奥丁传达消息。1 作为一个资源监控工具,这个名字相当巧妙。
所以,标志图案其实是一只乌鸦。
Munin node (client)
安装
yum install epel-release yum install munin-nodeEPEL 仓库提供的软件包将是最新的稳定版本 2.0.25。
插件
坚振礼
munin-node-configure --suggestPlugin | Used | Suggestions ------ | ---- | ----------- acpi | no | no [cannot read [] amavis | no | no apache_accesses | no | no [apache server-status not found. check if mod_status is enabled] apache_processes | no | no [apache server-status not found. check if mod_status is enabled] apache_volume | no | no [apache server-status not found. check if mod_status is enabled] apc_envunit_ | no | no [no units to monitor] bonding_err_ | no | no [No /proc/net/bonding] courier_mta_mailqueue | no | no [spooldir not found] courier_mta_mailstats | no | no [could not find executable] courier_mta_mailvolume | no | no [could not find executable] cps_ | no | no cpu | yes | yes cpuspeed | no | no [missing /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state] cupsys_pages | no | no [could not find logdir] df | yes | yes df_inode | yes | yes diskstats | yes | yes entropy | yes | yes exim_mailqueue | no | no [no exiqgrep] exim_mailstats | no | no ['/usr/sbin/exim -bP log_file_path' returned an error] fail2ban | no | no [/usr/bin/fail2ban-client not found] forks | yes | yes fw_conntrack | no | no fw_forwarded_local | no | no fw_packets | yes | yes hddtemp_smartctl | no | no http_loadtime | no | no if_ | yes | yes (enp0s3 enp0s8) if_err_ | yes | yes (enp0s3 enp0s8) interrupts | yes | yes ip_ | no | no [could not run iptables as user nobody] ipmi_ | no | no [missing ipmitool command] irqstats | yes | yes load | yes | yes lpstat | no | no [lpstat not found] memory | yes | yes munin_stats | no | yes mysql_ | no | no netstat | no | no [netstat program not found] nfs4_client | no | no [no /proc/net/rpc/nfs] nfs_client | no | no nfsd | no | no [no /proc/net/rpc/nfsd] nfsd4 | no | no [no /proc/net/rpc/nfsd] nginx_request | no | no [no nginx status on http://localhost/nginx_status] nginx_status | no | no [no nginx status on http://localhost/nginx_status] ntp_kernel_err | no | no ntp_kernel_pll_freq | no | no ntp_kernel_pll_off | no | no ntp_offset | no | no [no ntpq program] ntp_states | no | no [ntpq not found] nvidia_ | no | no [no nvclock executable at /usr/bin/nvclock, please configure] open_files | yes | yes open_inodes | yes | yes pgbouncer_connections | no | no pgbouncer_requests | no | no postfix_mailqueue | yes | yes postfix_mailvolume | yes | yes postgres_autovacuum | no | no postgres_bgwriter | no | no postgres_cache_ | no | no postgres_checkpoints | no | no postgres_connections_ | no | no postgres_connections_db | no | no postgres_locks_ | no | no postgres_oldest_prepared_xact_ | no | no postgres_prepared_xacts_ | no | no postgres_querylength_ | no | no postgres_scans_ | no | no postgres_size_ | no | no postgres_transactions_ | no | no postgres_tuples_ | no | no postgres_users | no | no postgres_xlog | no | no proc | no | no proc_pri | yes | yes processes | yes | yes ps_ | no | no qmailqstat | no | no selinux_avcstat | no | no [missing /selinux/avc/cache_stats file] sendmail_mailqueue | no | no sendmail_mailstats | no | no [no mailstats command] sendmail_mailtraffic | no | no [no mailstats command] slapd_ | no | no [Net::LDAP not found] slapd_bdb_cache_ | no | no [Can't execute db_stat file '/usr/bin/db4.6_stat'] slony_lag_ | no | no smart_ | no | no [smartmontools not found] snort_alerts | no | no [/var/snort/snort.stats not readable] snort_bytes_pkt | no | no [/var/snort/snort.stats not readable] snort_drop_rate | no | no [/var/snort/snort.stats not readable] snort_pattern_match | no | no [/var/snort/snort.stats not readable] snort_pkts | no | no [/var/snort/snort.stats not readable] snort_traffic | no | no [/var/snort/snort.stats not readable] squeezebox_ | no | no [no connection on localhost port 9090] squid_cache | no | no [could not connect: Connection refused] squid_objectsize | no | no [could not connect: Connection refused] squid_requests | no | no [could not connect: Connection refused] squid_traffic | no | no [could not connect: Connection refused] swap | yes | yes threads | yes | yes uptime | yes | yes users | yes | yes varnish_ | no | no [varnishstat could not be found] vmstat | yes | yes vserver_cpu_ | no | no [/proc/virtual/info not found] vserver_loadavg | no | no [/proc/virtual/info not found] vserver_resources | no | no [/proc/virtual/info not found] yum | no | no [Could not find statefile. Please read 'munindoc yum']启用Apache状态
cat << _EOF_ > /etc/httpd/conf.d/server-status.conf <Location "/server-status"> SetHandler server-status Require host localhost </Location> _EOF_systemctl restart httpd启用服务器状态对于Apache监控是必要的。
从 Apache 2.3.6 起,mod_status 模块在加载时默认切换。ExtendedStatusOn
附加内容
munin-node-configure -shell | sh自动启动设置和启动
systemctl enable munin-node systemctl start munin-nodeMunin 主(服务器)
安装
yum install httpd munin设置调整
chown apache:munin /var/log/munin如果你后来安装Apache,就无法再查看放大后的图表,所以请更改日志目录的所有者。
性能改进
处理 cron 的分割
sed -i '/munin-cron/s/^/#/' /etc/cron.d/munin cat << _EOF_ >> /etc/cron.d/munin */5 * * * * munin test -x /usr/bin/munin-cron && /usr/share/munin/munin-update 5 */1 * * * munin test -x /usr/bin/munin-cron && /usr/share/munin/munin-graph --cron 10 07 * * * munin test -x /usr/bin/munin-cron && /usr/share/munin/munin-html _EOF_通过将图的生成频率从每5分钟改为每小时,HTML生成从每5分钟改为每天,从而提升性能。
如果您想查看最新图表,只需点击该图表即可查看放大后的图表。
移除不必要的插件
unlink /etc/munin/plugins/entropy unlink /etc/munin/plugins/interrupts unlink /etc/munin/plugins/irqstats排除很少见的图表可以减轻负担。
自动启动设置和启动
systemctl enable httpd systemctl start httpdBASIC认证
htpasswd /etc/munin/munin-htpasswd <username>默认屏幕示例
模板
蒙斯特拉普
curl -L https://github.com/jonnymccullagh/munstrap/archive/master.tar.gz -o munstrap.tar.gz mkdir /etc/munin/munstrap tar vzxf munstrap.tar.gz --strip=1 -C /etc/munin/munstrap sed -i /etc/munin/munin.conf -e '/^tmpldir/s/^/#/' -e '/^staticdir/s/^/#/' sed -i '/#tmpldir/a tmpldir /etc/munin/munstrap/templates' /etc/munin/munin.conf sed -i '/#staticdir/a staticdir /etc/munin/munstrap/static' /etc/munin/munin.conf分类被标记后,界面更清晰了一些。
munin_dynamic_template
curl -L https://github.com/DaveMDS/munin_dynamic_template/archive/master.tar.gz -o munin_dynamic_template.tar.gz mkdir /etc/munin/munin_dynamic_template tar vzxf munin_dynamic_template.tar.gz --strip=1 --exclude="munin1" -C /etc/munin/munin_dynamic_template sed -i /etc/munin/munin.conf -e '/^tmpldir/s/^/#/' -e '/^staticdir/s/^/#/' sed -i '/#tmpldir/a tmpldir /etc/munin/munin_dynamic_template/munin2' /etc/munin/munin.conf sed -i '/#staticdir/a staticdir /etc/munin/munin_dynamic_template/munin2/static' /etc/munin/munin.conf现代文忍
curl -L https://github.com/sjoudry/modern-munin/archive/master.tar.gz -o modern-munin.tar.gz mkdir /etc/munin/modern-munin tar vzxf modern-munin.tar.gz --strip=1 -C /etc/munin/modern-munin sed -i /etc/munin/munin.conf -e '/^tmpldir/s/^/#/' -e '/^staticdir/s/^/#/' sed -i '/#tmpldir/a tmpldir /etc/munin/modern-munin' /etc/munin/munin.conf sed -i '/#staticdir/a staticdir /etc/munin/modern-munin/static' /etc/munin/munin.confMunin-B3
curl -L https://code.not-your-server.de/munin-b3.git/tags/0.3.2.tar.gz -o munin-b3.tar.gz mkdir /etc/munin/munin-b3 tar vzxf munin-b3.tar.gz --strip=1 -C /etc/munin/munin-b3 sed -i /etc/munin/munin.conf -e '/^tmpldir/s/^/#/' -e '/^staticdir/s/^/#/' sed -i '/#tmpldir/a tmpldir /etc/munin/munin-b3/templates' /etc/munin/munin.conf sed -i '/#staticdir/a staticdir /etc/munin/munin-b3/static' /etc/munin/munin.confMunin JQuery 模板
curl -L https://github.com/mallocator/Munin-JQuery-Template/archive/master.tar.gz -o munin-jquery-template.tar.gz mkdir /etc/munin/munin-jquery-template tar vzxf munin-jquery-template.tar.gz --strip=1 -C /etc/munin/munin-jquery-template sed -i /etc/munin/munin.conf -e '/^tmpldir/s/^/#/' -e '/^staticdir/s/^/#/' sed -i '/#tmpldir/a tmpldir /etc/munin/munin-jquery-template/templates' /etc/munin/munin.conf ln -s /etc/munin/munin-jquery-template/templates/assets /var/www/html/munin/ ln -s /etc/munin/munin-jquery-template/templates/style.css /var/www/html/munin/
拖放功能作为实验很有趣,但设置和易用性有些令人失望。
看起来放大后的图表没有关联。
相关监测文章
- 服务器监控工具 Munin
- 服务器监控工具 Xymon
- 服务器监控工具Zabbix