今天的開場獻給你們一句話,一直以來我也在用這句話鼓勵我自己:不忘初心,方得始終,不負夢想。
純屬是對技術的熱愛,鞏固複習一下,也獻給那些正在學習的同學們!!!
關於zabbix的介紹,這裏不做任何介紹,自行查閱資料
說明:
操作系統:CentOS-7.1
IP地址:192.168.31.130
Web環境:Nginx+MySQL+PHP
zabbix版本:Zabbix 2.2 LTS
備註:Linux下安裝zabbix需要有LAMP或者LNMP運行環境
準備篇:
一、Web環境:Nginx+MySQL+PHP
CentOS 7.1編譯安裝Nginx1.8.1+MySQL5.6.19+PHP5.5.14
http://sumous.blog.51cto.com/10483407/1949492
二、zabbix軟件包下載
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.2.6/zabbix-2.2.6.tar.gz
上傳zabbix-2.2.6.tar.gz到服務器/usr/local/src目錄下面或者直接進去到下載目錄wget,還是那句話怎麼方便怎麼來,zabbix也可以去下最新的,個人建議別用最新的,最新的可能有bug,看個人喜好
安裝篇
一、創建、導入zabbix數據庫
cd /usr/local/src #進入軟件包下載目錄
tar zxvf zabbix-2.2.6.tar.gz #解壓
cd /usr/local/src/zabbix-2.2.6/database/mysql #進入mysql數據庫創建腳本目錄
ls #列出文件,可以看到有data.sql p_w_picpaths.sql schema.sql這三個文件
mysql -u root -p #輸入密碼,進入MySQL控制檯
create database zabbix character set utf8; #創建數據庫zabbix,並且數據庫編碼使用utf8
注意:insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('123456')); #新建賬戶zabbix,密碼123456
執行這條命令有錯
ERROR 1364 (HY000): Field 'ssl_cipher' doesn't have a default value
錯語原因:
mysql用戶表的中某些字段不能爲空,沒有默認值,其實是操作錯誤,mysql添加用戶是不能這樣直接insert user表的。
解決方法:
正確的添加用戶方法:
GRANT USAGE ON *.* TO 'zabbix'@'l92.168.31.130' IDENTIFIED BY '123456' WITH GRANT OPTION;
用戶:zabbix,密碼:123456,這樣就添加了一個新的用戶,不會出以上的錯誤了。
flush privileges; #刷新系統授權表
grant all on zabbix.* to 'zabbix'@'192.168.31.130' identified by '123456' with grant option; #允許賬戶zabbix能從本機連接到數據庫zabbix
flush privileges; #再次刷新系統授權表
use zabbix #進入數據庫
source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql #導入腳本文件到zabbix數據庫
source /usr/local/src/zabbix-2.2.6/database/mysql/p_w_picpaths.sql #導入腳本文件到zabbix數據庫
source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql #導入腳本文件到zabbix數據庫
注意:請按照以上順序進行導入,否則會出錯。
exit #退出
或者這樣導入
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/p_w_picpaths.sql
mysql -uzabbix -p123456 -hlocalhost zabbix < /usr/local/src/zabbix-2.2.6/database/mysql/data.sql
cd /usr/lib64/mysql #32位系統爲/usr/lib/mysql,注意系統版本同,文件版本可能不一樣,這裏是16.0.0
ln -s libmysqlclient.so.16.0.0 libmysqlclient.so #添加軟連接
ln -s libmysqlclient_r.so.16.0.0 libmysqlclient_r.so #添加軟連接
二、安裝zabbix
1、添加用戶:
groupadd zabbix #創建用戶組zabbix
useradd zabbix -g zabbix -s /bin/false #創建用戶zabbix,並且把用戶zabbix加入到用戶組zabbix中
2、安裝依賴包 #CentOS使用yum命令安裝
yum install net-snmp-devel curl curl-devel mysql-devel
備註:以上軟件包如果在安裝Web環境LAMP或者LNMP時已經安裝過,此步驟可忽略
3、安裝zabbix
ln -s /usr/local/lib/libmcrypt.so.4 /usr/local/libmcrypt.so.4 #添加軟連接
/sbin/ldconfig #使配置立即生效
cd /usr/local/src/zabbix-2.2.6 #進入安裝目錄
./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config #配置
make #編譯
make install #安裝
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ #添加系統軟連接
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ #添加系統軟連接
說明:find / -name mysql_config 查找位置,如果沒有mysql_config,需要安裝yum install mysql-devel
4、添加zabbix服務對應的端口
vi /etc/services #編輯,在最後添加以下代碼
# Zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
:wq! #保存退出
5、修改zabbix配置文件
cd /usr/local/zabbix/etc
vi /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix #數據庫名稱
DBUser=zabbix #數據庫用戶名
DBPassword=123456 #數據庫密碼
ListenIP=192.168.31.130 #數據庫真實ip地址
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix運行腳本存放目錄
:wq! #保存退出
vi /usr/local/zabbix/etc/zabbix_agent.conf #編輯zabbix_agent.conf 文件
Include=/usr/local/zabbix/etc/zabbix_agent.conf.d/ #去掉註釋
UnsafeUserParameters=1 #啓用自定義key
:wq! #保存退出
6、添加開機啓動腳本
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server #服務端
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agent #客戶端
chmod +x /etc/rc.d/init.d/zabbix_server #添加腳本執行權限
chmod +x /etc/rc.d/init.d/zabbix_agent #添加腳本執行權限
chkconfig zabbix_server on #添加開機啓動
chkconfig zabbix_agent on #添加開機啓動
7、修改zabbix開機啓動腳本中的zabbix安裝目錄
vi /etc/rc.d/init.d/zabbix_server #編輯服務端配置文件
BASEDIR=/usr/local/zabbix/ #填寫zabbix安裝目錄
:wq! #保存退出
vi /etc/rc.d/init.d/zabbix_agent #編輯客戶端配置文件
BASEDIR=/usr/local/zabbix/ #填寫zabbix安裝目錄
:wq! #保存退出
三、配置web站點
cd /usr/local/src/zabbix-2.2.6
cp -r /usr/local/src/zabbix-2.2.6/frontends/php /usr/local/nginx/html/zabbix
chown nginx.nginx -R /usr/local/nginx/html/zabbix
備註:/usr/local/nginx/html爲Nginx默認站點目錄 nginx爲Nginx運行賬戶
service zabbix_server start #啓動zabbix服務端
service zabbix_agent start #啓動zabbix客戶端
[root@bogon zabbix-2.2.6]# service zabbix_server start #啓動zabbix服務端成功
Starting zabbix_server (via systemctl): Warning: zabbix_server.service changed on disk. Run
'systemctl daemon-reload' to reload units.
[ OK ]
[root@bogon zabbix-2.2.6]# service zabbix_agent start #啓動zabbix客戶端成功
Starting zabbix_agent (via systemctl): Warning: zabbix_agent.service changed on disk. Run 'systemctl daemon-reload' to reload units.
[ OK ]
[root@bogon zabbix-2.2.6]# ps -ef|grep zabbix #查看zabbix進程
zabbix 79639 1 0 20:07 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_server
zabbix 79676 1 0 20:08 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd
zabbix 79677 79676 0 20:08 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
zabbix 79678 79676 0 20:08 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
zabbix 79679 79676 0 20:08 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
zabbix 79680 79676 0 20:08 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
zabbix 79681 79676 0 20:08 ? 00:00:00 /usr/local/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]
root 79683 70493 0 20:10 pts/0 00:00:00 grep --color=auto zabbix
四、修改php配置文件參數
1、vi /etc/php.ini #編輯修改
post_max_size =16M
max_execution_time =300
max_input_time =300
:wq! #保存退出
2、vi /usr/local/php/etc/php-fpm.conf #編輯修改
request_terminate_timeout = 300
:wq! #保存退出
service php-fpm reload #重啓php-fpm
五、安裝web
在瀏覽器中打開:
http://192.168.31.130/zabbix/setup.php
檢查系統環境設置,必須全部都爲ok,才能繼續
報錯:
Error connecting to database: Host 'bogon' is not allowed to connect to this MySQL server
配置MySQL數據庫信息
Database:MySQL
Database host:192.168.31.130
Database port:use default port
Database name:zabbix
User:zabbix
Password:123456
Test connection #測試數據庫連接是否正常,顯示ok表示通過
Next
默認Next
默認Next
Next
Finish 安裝完成
六、更改zabbix默認語言爲簡體中文、替換監控圖像上系統默認的中文字體
1、修改系統配置文件,讓web頁面支持簡體中文顯示
vi /usr/local/nginx/html/zabbix/include/locales.inc.php #編輯修改
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),
修改爲
'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),
:wq! #保存退出
2、在瀏覽器中打開:
http://192.168.31.130/zabbix/index.php#
賬號:admin
密碼:zabbix
Sign in 登錄
如下圖所示,進入zabbix管理界面,此時出現小錯誤,解決過程如下
首先查看zabbix的log日誌,來判斷問題出在那了。。
[root@bogon mysql]# tail -f /tmp/zabbix_server.log
107173:20170719:133015.679 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for
user 'zabbix'@'localhost' (using password: YES)
107173:20170719:133015.679 Database is down. Reconnecting in 10 seconds.
很明顯是權限問題,重新給下權限就好,執行下面的SQL語句.
grant all privileges on zabbix.* to zabbix@localhost identified by '123456';
flush privileges;
再次查看log日誌的最新情況,看看是否還報錯
[root@bogon mysql]# tail -f /tmp/zabbix_server.log
107587:20170719:133055.875 server #18 started [http poller #1]
107577:20170719:133055.882 server #8 started [unreachable poller #1]
107590:20170719:133055.894 server #21 started [history syncer #2]
107593:20170719:133055.896 server #24 started [escalator #1]
107595:20170719:133055.896 server #26 started [self-monitoring #1]
107589:20170719:133055.897 server #20 started [history syncer #1]
107591:20170719:133055.897 server #22 started [history syncer #3]
107594:20170719:133055.898 server #25 started [proxy poller #1]
107592:20170719:133055.899 server #23 started [history syncer #4]
107574:20170719:133055.906 server #5 started [poller #3]
107588:20170719:133055.926 server #19 started [discoverer #1]
看日誌是沒什麼問題了,再次刷新頁面看看zabbix-web情況
ok
修改中文字符集,點擊profile
如下圖所示
Language:Chinese(zh_CN) #簡體中文
點Save 保存
退出站點,重新登錄之後,如下圖所示
默認界面已經是中文顯示
到這裏,zabbix部署已完成
注意幾點如下:
zabbix server is not running,有以下幾個方面引起
1、[root@bogon ~]# vi /usr/local/nginx/html/zabbix/conf/zabbix.conf.php
修改前
$ZBX_SERVER = 'localhost';
修改後
$ZBX_SERVER = '192.168.31.130';
wq保存,重啓服務
/usr/local/nginx/sbin/nginx -s reload
service zabbix_server restart
service zabbix_agent restart
2、selinux防火牆
3、權限問題
4、細心認真一點