生活随笔
收集整理的這篇文章主要介紹了
zabbix性能优化
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、Zabbix簡介
1.1 Zabbix簡介
官方網站:http://www.zabbix.com。Zabbix通過C/S模式采集數據,通過B/S模式在web端展示和配置。
1.2 Zabbix功能
具備常見的商業監控軟件所具備的功能(主機的性能監控、網絡設備性能監控、數據庫性能監控、FTP等通用協議監控、多種告警方式、詳細的報表圖表繪制)支持自動發現網絡設備和服務器;支持分布式,能集中展示、管理分布式的監控點;擴展性強,server提供通用接口,可以自己開發完善各類監控。
1.3 優劣勢
優點:開源,無軟件成本投入;Server對設備性能要求低(實際測試環境:虛擬機CentOS5,2GCPU 1G內存,監控5臺設備,CPU使用率基本保持在10%以下,內存剩余400M以上);支持設備多;支持分布式集中管理;開放式接口,擴展性強。 缺點:中文資料較少。
1.4 參考資源
企業應用監控利器-ZABBIX(包括zabbix安裝方法、中文字體的設定和防火墻設定等)http://waringid.blog.51cto.com/65148/904201
Zabbix中文使用手冊(包括重要的zabbix監控參數、重要監控圖表的意義等)http://waringid.blog.51cto.com/65148/945352
zabbix中文配置指南(包括item參數的定制,windows監控參數的定義,snmp設備的OID查詢、設置等。zabbix使用手冊側重使用人員,而這份文檔側重專業管理人員)http://waringid.blog.51cto.com/65148/955939
zabbix中文配置指南續(時間同步,windows、linux、cisco IOS設置以及cisco 2960網絡設備監控)http://waringid.blog.51cto.com/65148/1104627
zabbix之auth login郵件報警(通過使件msmtp實現zabbix驗證型郵件的報警通知功能)http://waringid.blog.51cto.com/65148/1142579
Monitor MySQL with Zabbix http://www.badllama.com/content/monitor-mysql-zabbix Monitor Apache with Zabbix http://www.badllama.com/content/monitor-apache-zabbix Monitor Nginx with Zabbix http://www.badllama.com/content/monitor-nginx-zabbix Partitioning Tables on Zabbix 1.8 http://zabbixzone.com/zabbix/partitioning-tables/ Heavy MySQL monitoring solution https://www.zabbix.com/wiki/howto/monitor/db/mysql/extensive_mysql_monitoring_including_replication
二、Mysql監控配置
2.1 說明
Mysql的監控主要通過配置文件的“UserParameter”參數結合“Items”監控項目或相關模板實現。實現后如圖一所示。
圖一:MySQL性能監控圖
2.2 設定配置文件
Zabbix安裝后自帶有詳細的mysql配置實例,先將配置文件復制到相應的地方,然后按實際情況修改這個配置文件。圖二是監控MySQL的模板內容。
圖二:MySQL性能監控模板圖
cp?/root/zabbix-2.0.5/conf/zabbix_agentd/userparameter_mysql.conf?/usr/ local /zabbix/etc/zabbix_agentd.conf.d/userparameter_mysql.conf??
UserParameter=mysql.status[*],echo? "show?global?status?where?Variable_name='$1';" ?|?mysql?-uzabbix?-ppassword?-N?|?awk? '{print?$$2}' ?#取mysql狀態,如圖三所示??
圖三:MySQL性能監控狀態圖
UserParameter=mysql. size [*],echo? "select?sum($(case?" $3 "?in?both|" ")?echo?" data_length+index_length ";;?data|index)?echo?" $3_length ";;?free)?echo?" data_free ";;?esac))?from?information_schema.tables$([[?" $1 "?=?" all "?||?!?" $1 "?]]?||?echo?" ? where ?table_schema= '$1' ")$([[?" $2 "?=?" all "?||?!?" $2 "?]]?||?echo?" and ?table_name= '$2' ");" ?|?mysql?-uzabbix?-ppassword?–N?#取mysql操作狀態,如圖四所示??
圖四:MySQL性能流量圖
UserParameter=mysql.ping,HOME=/var/lib/mysql/zabbix?mysqladmin?-uzabbix?-ppassword?|?grep?-c?alive? UserParameter=mysql.version,mysql?–V?#取mysql版本,如圖五所示??
圖五:MySQL版本圖
2.3修改agnet配置文件
完成后修改相應的agent配置文件,加入新增加的“userparameter_mysql.conf”文件。
vi?/usr/ local /zabbix/etc/zabbix_agent.conf? Include=/usr/local /zabbix/etc/zabbix_agentd.conf.d/?#加入mysql配置? vi?/usr/local /zabbix/etc/zabbix_agentd.conf? Include=/usr/local /zabbix/etc/zabbix_agentd.conf.d/?#加入mysql配置??
需要說明的是MySQL的監控涉及主機名、用戶名和密碼(這個在2.2項中有說明),要注意的是如果mysql的用戶名是root@localhost的話要在監控設定的頁面中將主機名稱改為localhost,同時相應的zabbix_agent.conf相關配置文件中的Hostnam項要設成localhost,如圖六所示。
圖六:MySQL主機監控設定圖
2.4 重啟應用
service?zabbix_agentd?restart??
如果存在問題,注意查看zabbix_server.log和zabbix_agentd.log日志,然后對照進行相應調整。
三、Zabbix性能優化
網上這方面的資源其實挺多的,唯一麻煩點的是大部份都是英文的,但是對照相應的指令也可以猜出操作方式,以下是可以參考的一些內容。
mysql數據庫自動備份http://ourmysql.com/archives/356?f=wb
改良版本mysqldump來備份MYSQL數據庫http://ourmysql.com/archives/463?f=wb
Performance Tuning MySQL for Zabbix http://sysadminnotebook.blogspot.com/2011/08/performance-tuning-mysql-for-zabbix.html
3.1 度量Zabbix性能
通過Zabbix的NVPS(每秒處理數值數)來衡量其性能,在Zabbix的dashboard上有一個粗略的估值,如圖七所示。
圖七:nvps圖
3.2 Zabbix性能低下的表象
1、zabbix隊列中有太多被延遲的item: Administration -> Queue(如圖八、圖九所示)
2、zabbix繪圖中經常性出現斷檔,一些item沒有數據
3、帶有nodata()函數的觸發器出現false
4、前端頁面無響應
圖八:zabbix性能圖
圖九:zabbix queue圖
3.3 Zabbix性能低下的因素
3.4 Zabbix性能優化的原則
1、確保zabbix內部組件性能處于被監控狀態(調優的基礎!)
2、使用硬件性能足夠好的服務器
3、不同角色分開,使用各自獨立的服務器
4、使用分布式部署
5、調整MySQL性能
6、調整Zabbix自身配置
四、MySQL性能優化
本例服務器為IBM X3550(CPU Xeon E5504 4核 RAM 4G HDD RAID1 146G);Zabbix 2.05;MySQL版本“mysql Ver 14.14 Distrib 5.1.67”;現有監控內容如圖十所示,服務器及MySQL性能如圖十一、十二所示。
圖十:zabbix NVPS圖
圖十一:zabbix 主機性能圖
圖十二:zabbix MySQL性能圖
4.1 使用tmpfs文件系統
cd?/? mkdir?zabbixtmp? chown?mysql:mysql?zabbixtmp? vi?/etc/fstab?#配置/etc/fstab文件? tmpfs?/zabbixtmp?tmpfs?rw,size =400m,nr_inodes=10k,mod=0700,uid=mysql,gid=mysql?0?0??
在配置/etc/fstab參數中需要注意文件的大小設置,一般情況下設成物理內存的8%-10%。
4.2 配置my.cnf文件 ?
? [mysqld]? datadir=/var/lib/mysql? socket=/var/lib/mysql/mysql.sock? user =mysql? ? #?Disabling?symbolic-links?is ?recommended? to ?prevent?assorted?security?risks? tmpdir=/zabbixtmp? #network? connect_timeout?=60? wait_timeout?=5000? max_connections?=400? max_allowed_packet?=16M? max_connect_errors?=400? #limits? tmp_table_size?=256M? max_heap_table_size?=64M? table_cache?=256? #logs? slow_query_log_file?=/var/log/slowquery.log? ? log_error?=/var/log/mysql-error.log? long_query_time?=10? slow_query_log?=1? #innodb? ? #innodb_data_file_path?=ibdata1:128M;ibdata2:128M:autoextend:max :4096M? innodb_file_per_table?=1? innodb_status_file?=1? ? innodb_additional_mem_pool_size?=128M? innodb_buffer_pool_size?=2800M? innodb_flush_method?=O_DIRECT? #innodb_io_capacity?=1000? innodb_support_xa?=0? innodb_log_file_size?=64M? innodb_log_buffer_size?=32M? symbolic-links=0? #log-queries-not -using-indexes? thread_cache_size=4? query_cache_size=128M? #join_buffer_size=512K? join_buffer_size=128M? read_buffer_size=128M? read_rnd_buffer_size=128M? key_buffer=128M? innodb_flush_log_at_trx_commit=2? [mysqld_safe]? log-error=/var/log/mysqld.log? pid-file=/var/run/mysqld/mysqld.pid??
“innodb_buffer_pool_size”一般設為服務器物理內存的70%-80%。
4.3 參考內容
InnoDB Startup Options and System Variables http://dev.mysql.com/doc/refman/5.5/en/innodb-parameters.html
MySQL Performance Blog http://www.mysqlperformanceblog.com
Benchmarks For Percona Server http://www.percona.com/software/percona-server/benchmarks
Choosing innodb_buffer_pool_size http://www.mysqlperformanceblog.com/2007/11/03/choosing-innodb_buffer_pool_size/
?你可以從這里下載到本文的電子檔
?
本文出自 “虛擬的現實” 博客,請務必保留此出處http://waringid.blog.51cto.com/65148/1156013
總結
以上是生活随笔 為你收集整理的zabbix性能优化 的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網站內容還不錯,歡迎將生活随笔 推薦給好友。