zabbix是採用C/P/S客戶端、代理端、服務器端架構的分佈式、開源的監控軟件,提供監控數據採集、存儲、分析、告警、展現功能,是運維的好幫手。
支持多種監控方式:
1,zabbix agent客戶端,部署到被監控主機上。
2,snmp協議通信,大部分網絡設備支持該協議。
3,IPMI,經過IPMI硬件結構監控物理特徵,像電壓、溫度等。
4,JMX,即Java擴展插件(Java Management Extensions)php
zabbix server監控數據可存儲多種數據庫:MySQL、Oracle、PostgreSQL、SQLite、IBM DB2。前端
經過zabbix frontend展現,可理解爲zabbix webGUI,分佈式擴展是經過zabbix proxy代理實現的。mysql
zabbix各組件:
zabbix server:接收監控數據並分析統計
zabbix agent:收集監控數據併發送給zabbix server
zabbix database:存儲監控配置信息和數據
zabbix web:前端展現監控統計信息
zabbix proxy:用於分佈式環境代收局部監控信息並推送給zabbix server
web
zabbix部署依賴於lamp/lnmp環境,要求詳見官網
https://www.zabbix.com/documentation/3.2/manual/installation/requirementssql
簡單yum安裝:這裏是阿里雲centos 7.2 x86_64,安裝最新版本3.2.7,以mysql做爲數據庫
zabbix server端安裝:
yum install -y epel-release
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-web zabbix-get zabbix-agent zabbix-sender
zabbix-get:zabbix的一個工具,用來檢查是否能夠獲取服務器信息(通常服務端要安裝
zabbix-sender:用於發送數據給server或者proxy(通常客戶端要安裝,用於主動發送數據
數據庫
systemctl start mysqld
mysql -u root -pxiaoqiaochujiale
mysql>create database zabbix character set utf8 collate utf8_bin;
mysql>grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'databasemima';
mysql>flush privileges;
mysql>exitcentos
導入zabbix數據結構,以下:
cd /usr/share/doc/zabbix-server-mysql-3.2.7/
zcat create.sql.gz | mysql -uroot -pxiaoqiaochujiale zabbix服務器
修改服務端配置文件
vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=databasemima
DBSocket=/var/lib/mysql/mysql.sock
MySQL和zabbix server在同一臺服務器上,socket鏈接要比tcp鏈接快一些網絡
啓動服務:
systemctl enable zabbix-server
systemctl start zabbix-server數據結構
ss -tnl | grep 10051
修改PHP參數
sed -i 's/post_max_size = 8M/post_max_size = 16M/g' /etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 300/g' /etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /etc/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /etc/php.ini
sed -i 's/;date.timezone =/date.timezone = PRC/g' /etc/php.ini
修改/etc/httpd/conf.d/zabbix.conf文件,修改時區爲上海
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai //改成亞洲/上海
</IfModule>
systemctl restart httpd.service
客戶端獨立安裝
rpm -ivh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm
yum install -y zabbix-agent zabbix-sender
修改配置文件
vi /usr/local/etc/zabbix_agentd.conf
Server=服務端IP
ServerActive=127.0.0.1
Hostname=uniquename 設置爲單獨的主機名
在配置文件裏可看到Passive checks related和Active checks related,即agent檢測的被動模式和主動模式,都是相對於agent來講的:
主動:agent請求server獲取主動的監控項列表,並主動將監控項內檢測的數據提交給server/proxy
被動:server向agent請求獲取監控項的數據,agent返回數據給server
systemctl enable zabbix-agent
systemctl start zabbix-agent
ss -tnl | grep 10050
代理獨立安裝(也需安裝數據庫)
yum install -y zabbix-proxy-mysql
注意:全部客戶端和服務器須保持時間同步