環境:
- centos7.2
- nginx 1.10.3
- mysql 5.5.38
- php 5.5.38
一、zabbix介紹
1、Zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。
2、zabbix有如下優點:
1) 自動發現服務器和網絡設備。
2) 底層自動發現
3) 分布式的監控體系和集中式的web管理
4) 支持主動監控和被動監控模式
5) 支持多種操作系統 Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD, OS X
6) 高效的agent 支持 Linux, Solaris, HP-UX, AIX, FreeBSD, OpenBSD,OS X, Tru64/OSF1, Windows NT4.0, Windows 2000, Windows 2003, Windows XP, Windows Vista 環境
7) 無agent監控等多種監控方法。
8) 安全的用戶認證模式
9) 靈活的用戶權限設置。
10) 基於web的管理方法,支持自由的自定義事件和郵件發送。
高水平的業務視圖監控資源,支持日志審計
3、運行環境
zabbix server 需要運行在LAMP或者是LNMP的環境下;
agent可以部署在目前常見的OS中,例如linux,windows,HPUX,Solaris,Sun;
SNMP可以支持常見的網絡設備。
二、zabbix部署准備
1、MySQL數據庫的准備
添加mysql數據庫的 zabbix用戶,並設置密碼:
先用root身份登入mysql中,並執行以下命令
mysql
use mysql;
insert into mysql.user(Host,User,Password) values("localhost","zabbix",password("zabbix")); #新建賬戶zabbix,密碼123456
flush privileges; #刷新系統授權表
2、系統創建zabbix用戶
#groupadd zabbix -g 501 #創建用戶組,並且設置UID501 #useradd -g zabbix -u 501 -m zabbix
PS:這里將zabbix用戶的UID與GID均設置為501
三、Zabbix Server的安裝
1、zabbix源文件的下載
zabbix官方下載地址 http://www.zabbix.com/download.php
安裝依賴包 #CentOS使用yum命令安裝
yum install net-snmp-devel net-snmp -y
2、zabbix的解壓與編譯安裝
tar -xzvf zabbix-3.2.5.tar.gz ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl make && make install
3、建立zabbix所需的數據庫
root身份等人到mysql數據庫中,並執行以下命令建立zabbix數據庫:
create database zabbix character set utf8; #創建數據庫zabbix,並且數據庫編碼使用utf8 grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456' #允許賬戶zabbix能從本機連接到數據庫zabbix flush privileges;
進入zabbix源碼安裝包 cd /zabbix-3.2.5/database/mysql 把zabbix sql文件導入到zabbix數據庫
#進入mysql mysql use zabbix #使用zabbix數據庫 #導入腳本文件到zabbix數據庫 source /soft/zabbix/zabbix-3.2.5/database/mysql/schema.sql source /soft/zabbix/zabbix-3.2.5/database/mysql/images.sql source /soft/zabbix/zabbix-3.2.5/database/mysql/data.sql
4、創建zabbix的的日志文件和連接
mkdir /var/log/zabbix chown zabbix.zabbix /var/log/zabbix ln -s /usr/local/zabbix/etc /etc/zabbix ln -s /usr/local/zabbix/bin/* /usr/local/bin/ ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
5、拷貝與配置zabbix啟動文件
cp /soft/zabbix/zabbix-3.2.5/misc/init.d/fedora/core/zabbix_* /etc/init.d/ chmod 755 /etc/init.d/zabbix_* #添加腳本執行權限 sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_server sed -i 's#BASEDIR=/usr/local#BASEDIR=/usr/local/zabbix#g' /etc/init.d/zabbix_agentd
6、配置zabbix_server.conf服務端文件
修改 /etc/zabbix/etc/zabbix_server.conf 文件,並修改如下條目:
LogFile=/var/log/zabbix/zabbix_server.log //日志位置,根據需求修改
PidFile=/var/log/zabbix/zabbix_server.pid //PID所在位置
DBHost=localhost //數據庫IP,如果不是本機,請修改
DBName=zabbix //數據庫名稱
DBUser=zabbix //數據庫用戶名
DBPassword=123456//數據庫密碼
tmp/zabbix_server.log 改 var/log/zabbix/zabbix_server.log #更改日志路徑
sed 方式替換文件內容:
sed -i '/# DBPassword=/aDBPassword=123456\n' /etc/zabbix/zabbix_server.conf sed -i 's#tmp/zabbix_server.log#var/log/zabbix/zabbix_server.log#g' /etc/zabbix/zabbix_server.conf
7、配置 zabbix_agentd.conf 文件 (監控 server 本身, 如對其他服務器進行監控,配置文件相類似)
Server=127.0.0.1 此處添加服務端的 ip,如服務器不為本機,則需要填寫遠端 zabbix_server 的 ip 地址
ServerActive=127.0.0.1 此處修改為服務端的 ip,這里應該修改為該服務器對外的ip地址
/tmp/zabbix_agentd.log 修改日志路徑
UnsafeUserParameters=0 默認是不啟用自定義腳本功能的,要自定義 key ,需開啟,設置為1
Include=/etc/zabbix/zabbix_agentd.conf.d/ 自定義的 agent d 配置文件可以寫在這個目錄下面
sed 方式替換文件內容:
sed -i 's#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g' /etc/zabbix/zabbix_agentd.conf sed -i '/# UnsafeUserParameters=0/aUnsafeUserParameters=1' /etc/zabbix/zabbix_agentd.conf
8、拷貝php網頁文件到nginx中
mkdir -p /usr/local/nginx/html/zabbix/ cp -r /soft/zabbix/zabbix-3.2.5/frontends/php/* /usr/local/nginx/html/zabbix chown www.www -R /usr/local/nginx/html/zabbix
9、修改nginx.conf配置文件
location / { root /usr/local/nginx/html/zabbix; index index.php index.html index.htm ; }
10、開啟zabbix
service zabbix_server start
service zabbix_agentd start
重啟服務
/etc/init.d/nginx
service php-fpm restart
四、通過Web安裝zabbix
瀏覽器中輸入地址:http://ip/zabbix,則可看到如下初始化歡迎界面
之后修改php配置文件參數(這里必須做響應的修改,否則在之后的web初始化過程中會報錯。)
1、vi /etc/php.ini #編輯修改
post_max_size =16M max_execution_time =300 max_input_time =300
:wq! #保存退出
通過 sed 方式進行內容替換:
cp /usr/local/php/etc/php.ini /usr/local/php/etc/php.ini.bak
sed -i '/post_max_size/s/8/16/g;/max_execution_time/s/30/300/g;/max_input_time/s/60/300/g;' /usr/local/php/etc/php.ini
Next step
Database:MySQL
Database host:localhost
Database port:3306
Database name:zabbix
User:zabbix
Password:123456
Next step
賬號:admin
密碼:zabbix
Sign in 登錄
zabbix server 安裝完成
進入界面后,如果顯示zabbix server is not running,那可能需要重啟zabbix server服務,或者在查看 /var/log/zabbix/zabbix_server.log查看log,報錯:
1225:20170521:202555.906 database is down: reconnecting in 10 seconds
1225:20170521:202605.908 [Z3001] connection to database 'zabbix' failed: [2002] Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
解決方法
mkdir /var/lib/mysql ln -s /data/mysql/mysql.sock /var/lib/mysql/mysql.sock