zabbix進程構成php
@zabbix_get zabbix工具,單獨使用的命令,一般在server或者proxy端執行。用戶獲取被監控端數據,一般用於排錯。例如在server端獲取不到客戶端的內存數據,咱們可使用zabbix_get獲取客戶端的內容的方式來作故障排除。html
@zabbix_sender zabbix工具,用於發送數據給server或者proxy。一般用於耗時比較長的check,而且與trapper配合使用。生存環境中,個別很是耗時間check常常致使zabbix超時。因而在腳本執行完畢以後,使用sender主動提交數據。java
@zabbix_proxy 代理守護進程。功能相似於server,惟一不一樣的是他只是一箇中轉站,他須要把收集到的數據提交/被提交到server裏。通常跨機房地區的環境須要使用proxymysql
@zabbix_java_gateway zabbix2.0以後引入的一個功能。顧名思義:Java網管,相似agend,可是隻是於java方面。須要注意的是,她只能主動去獲取數據,數據最終會給到server或者proxy。nginx
@zabbix_agentd 客戶端守護進程,收集客戶端數據。例如cpu負載,內存,硬盤等使用狀況。web
@zabbix_server 服務端守護進程。zabbix_get zabbix_sender zabbix_proxy zabbix_java_getway zabbix_agentd的數據最後都要提交到server。ps:大多數狀況是server主動去取數據。sql
安裝數據庫
軟件需求 vim
數據庫 MySQL 5.0.3及以上 推薦使用lnnodm引擎 oracle 10g及以上 postgresql 8.1及以上 sqlite3.3.5及以上 IBM db2 9.7及以上 服務器
web應用 Apache 1.3.12及以上 PHP 5.3.0及以上
本次是基於lnmp架構
前置須要時間同步 yum install ntp 修改/etc/ntp.conf 最後加入
server 127.127.1.0
fudge 127.127.1.0 stratum 8
其餘被監控端安裝 yum install ntpdatae 並同步時間 ntpdate serviceip
安裝zabbix
tar -zxvf zabbix-3.0.4.tar && cd zabbix-3.0.4 && ./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 && make && make install
可能報錯顯示checking for mysql_config... no configure: error: MySQL library not found
只須要查找mysql_config文件 在編譯時指向硬連接 --with-mysql=XXXXXXXXXX
報錯:configure: error: Invalid Net-SNMP directory - unable to find net-snmp-config
配置:錯誤:無效的NET-SNMP目錄 - 沒法找到NET-SNMP-配置
find / -name net-snmpt-config 沒有結果
解決方案:yum install net-snmp-devel,再從新配置
以此類推
zabbix server 通常充當兩個角色:server ,angent 須要監控本身 因此上訴命令參數也同時加上了 --enable-agent
建立用戶
useradd -g zabbix zabbix
groupadd zabbix
初始化數據庫
zabbix server和proxy須要數據庫 安根田不須要 尤爲注意的是proxy只須要導入一個sql文件 而server要三個sql文件。
初始化proxy的數據庫
#mysql -uroot -proot
mysql> create database zabbix default charset utf8;
mysql> grant all privileges on zabbix.* to zabbix@ip地址 identified by 'zabbix' with grant option ;
mysql> quit;
#mysql -uroot -proot zabbix <database/mysql/schema.sql
初始化server的數據庫
除了上述一個相同的上去了文件 還要導入下面兩個sql文件
#mysql -uroot -proot zabbix <database/mysql/images.sql
#mysql -uroot -proot zabbix <database/mysql/data.sql
配置zabbix
配置zabbix_server配置文件 zabbix源碼目錄以下
#mkdir /etc/zabbix
#cp config/zabbix_server.conf /etc/zabbix
#vim /etc/zabbiix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
####
添加zabbix服務 開機啓動
# cp zabbix-3.0.3/misc/init.d/fedora/core/zabbix_* /etc/init.d/
# vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
# chkconfig zabbix_server on
# chkconfig zabbix_agentd on
啓動zabbix server
#/usr/local/zabbix/sbin/zabbix_server
默認端口10051
客戶端
tar -zxvf zabbix-3.0.4.tar && cd zabbix-3.0.4 && ./configure --prefix=/usr/local/zabbix/ --enable-agent && make && make install
客戶端zabbix配置
#vim /usr/local/zabbix/etc/zabbix-agentd.conf
Server=127.0.0.1
ServerActive=12.0.0.1
Hostname=Zabbix server
其中Server和ServerActive都是指定zabbixserver的IP地址,不一樣的是前者是被動後者是主動。也就是說server是容許127.0.0.1來讀取數據。而ServerActive的127.0.0.1是,客戶端主動提交數據給他
其餘主機安裝客戶端要添加zabbix用戶
zabbix客戶端啓動 /usr/local/zabbix/sbin/zabbix_agentd
默認端口10050
zabbix管理網站配置
拷貝前段文件
#mkdir /data/logs/nginx
#mkdir /data/site/monitor.ttlsa.com/zabbix
#cp -rp frontends/php/* /data/site/monitor.ttlsa.com/zabbix
根據本身的web服務配置問價 指向 寫入
試驗在
mkdir -p /home/wwwroot/default/zabbix
cp -rp frontends/php/* /home/wwwroot/default/zabbix
配置虛擬主機
示例:下列是web服務的配置文件 實驗採用的一鍵安裝lnmp 可直接使用
#vim /usr/local/nginx-1.5.8/conf/vhost/monitor.ttlsa.com.conf
server {
listen 80;
server_name monitor.ttlsa.com;
access_log /data/logs/nginx/monitor.ttlsa.com.access.log main;
index index.html index.php .index.html;
root /data/site/monitor.ttlsa.com;
location /
{
try_files $uri/ /index.php?$args;
}
location ~^(.+.php)(.*)${
fastcgi_split_path_info^(.+.php)(.*)$;
include fastcgi.conf;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param PATH_INFO $fastcgi_path_info
}
}
在線配置zabbix
打開web服務域名/zabbix
出現zabbix的安裝界面 包括歡迎界面 六步
PHP需求檢查
提示缺乏什麼就裝什麼 個人配置文件可能沒生效 從新查看php.ini文件 並生效source
mysql數據信息
若是報錯 the server does not match zabbix database
The frontend does not match Zabbix database 前段不匹配數據庫 可從新導入源碼包下的sql文件
#mysqk -uroot -proot zabbix <database/mysql/images.sql
#mysql -uroot -proot zabbix <database/mysql/data.sql
zabbix服務端詳細信息
zabbix安裝前信息覈對列表
缺乏一個配置文件 能夠手動下載保存在提示的目錄下 再次點擊Finish 繼續安裝
以下 顯示對用戶zabbix@本機 的權限不足不容許使用空密碼訪問 須要在數據庫對zabbix受權
mysql> GRANT ALL PRIVILEGES ON *.* TO zabbix@'%' identified BY 'zabbix'
-> ;
grant 權限 on 數據庫名.表名 to 用戶@登陸主機 identified by 「用戶密碼」;
這個操做的結果是,若是已經存在這個用戶,就修改其權限爲全部,若是沒有,就建立之。
安裝完成
登陸zabbix 登錄zabbix,默認用戶名:Admin,密碼:zabbix
登陸密碼忘記可在數據庫更改
進入數據庫查看詳細
進庫
use zabbix;
查看用戶zabbix的詳細 密碼爲md5方式加密
更改密碼
mysql> update users set passwd=md5("zabbix") where userid='1';
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
登上web界面zabbix服務器端沒有運行中 多是受權問題 mysql寫入
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges;