最近換了工做,開始事情仍是比較多的,如今作個小結,給你們分享一下。
php
入職新公司第一天部門領導就給安排了任務,佈置一套zabbix監控系統,將公司防火牆,交換機以及全部在線服務器所有監控上,而後調用微信公衆號發報警消息。zabbix我想你們不陌生,功能強大的企業級開源分佈式監控軟件,多種報警方式以及社區衆多的監控模板使它備受歡迎,不管yum安裝仍是編譯安裝都不算難,因爲之前沒有搞過微信報警,也是上網查閱了相關資料後才得以解決,這些內容網上有不少,我在這裏把我整個監控系統的搭建以及設置微信告警的步驟詳細總結一下。
html
1、編譯安裝zabbix 2.4
java
zabbix 2.4版本已經不算是新版本了,你們能夠試試3.X的版本,我採用的是2.4版本。mysql
一、安裝開發軟件包
yum -y groupinstall "Development Tools"web
二、安裝所需的依賴包
yum -y install httpd mysql mysql-server mysql-devel php php-mysql php-common php-mbstring php-gd php-odbc php-pear curl curl-devel net-snmp net-snmp-devel perl-DBI php-xml ntpdate php-bcmathsql
(也能夠將 Zabbix 安裝在編譯的 LAMP 環境下。)數據庫
三、下載 Zabbix 源碼包 (直接去官網下載比較好)apache
四、修改 Mysql 默認編碼 ( 若是已經有庫在運行的話,建議建立庫的時候單獨指定編碼 )
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
character_set_server = utf8 # 在此區域加入
[root@localhost ~]# service mysqld start
Starting MySQL.... SUCCESS!
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig --level 35 mysqld onvim
五、更新系統時間
[root@localhost ~]# ntpdate us.pool.ntp.org && hwclock -w # 最好作任務計劃
[root@localhost ~]# crontab -l
10 * * * * /usr/sbin/ntpdate us.pool.ntp.org && hwclock -w > /dev/null 2>&1
[root@localhost ~]# service crond restart
[root@localhost ~]# chkconfig --add crond
[root@localhost ~]# chkconfig --level 35 crond on瀏覽器
六、安裝 Zabbix
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -r -s /sbin/nologin -g zabbix zabbix
[root@localhost ~]# cd /usr/local/src/
[root@localhost src]# tar zxf zabbix-2.4.0.tar.gz
[root@localhost src]# cd zabbix-2.4.0
[root@localhost zabbix-2.4.0]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql --with-net-snmp --with-libcurl --enable-java --with-libxml2
## 編譯參數說明
--enable-server 安裝 zabbix server
--enable-proxy 安裝 zabbix proxy (用來設定分佈式部署)
--enable-agent 安裝 zabbix agent (不監控本機能夠不裝)
--enable-java 安裝java套件,監控tomcat須要加上這個
--with-mysql 使用 mysql 數據庫
--with-net-snmp 支持 snmp 協議 (用來監控各種網絡設備)
--with-libcurl 支持 curl (用戶 web 服務監控)
[root@localhost zabbix-2.4.0]# make & make install
七、建立並導入數據庫
[root@localhost ~]# mysql -uroot -p123456
mysql> create database zabbix; ( create database zabbix character set utf8; )
mysql> grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
mysql> use zabbix;
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/schema.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/p_w_picpaths.sql
mysql> source /usr/local/src/zabbix-2.4.0/database/mysql/data.sql
mysql> show tables;
mysql> quit
九、修改啓動腳本中 zabbix 的安裝目錄
[root@localhost ~]# vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
[root@localhost ~]# vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
十、啓動服務並加入開機自動
[root@localhost ~]# /etc/init.d/httpd start
[root@localhost ~]# chkconfig --add zabbix_server
[root@localhost ~]# chkconfig --add zabbix_agentd
[root@localhost ~]# chkconfig --level 35 zabbix_server on
[root@localhost ~]# chkconfig --level 35 zabbix_agentd on
[root@localhost ~]# service zabbix_server start
[root@localhost ~]# service zabbix_agentd start
<===========================================================================>
訪問: http://ip/zabbix
安裝過程當中須要更改php.ini的文件,若是databases support ,bcmath,gettext 出現fail的狀況
這說明沒有相應的 php 擴展,若是 php 是 yum 安裝的,只須要 yum -y install php-mysqli php-bcmath php-gettext 便可;
若是是編譯安裝的,就要作如下操做:
一、找到 php 的源碼包
[root@localhost src]# cd php-5.4.13/
二、進入相應擴展目錄
[root@localhost php-5.4.13]# cd ext/mysqli 和 /bcmath/ 和 /gettext/
三、執行 phpize 命令
[root@localhost mysqli]# /usr/local/php/bin/phpize
四、生成 configure 後
[root@localhost mysqli]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config # 這個 --with-mysqli 只有添加 mysqli 擴展才用,其餘兩項只寫第一個 with
[root@localhost mysqli]# make ; make install
五、建立引用目錄
[root@localhost ~]# mkdir /usr/lib64/extensions
六、將其 cp 到目錄
[root@localhost ~]# cp /usr/local/php/lib/php/extensions/no-debug-zts-20140525/mysqli.so 和 bcmath.so 和 gettext.so /usr/lib64/extensions/
七、修改 php.ini
[root@localhost ~]# vim /usr/local/php/php.ini
extension_dir = /usr/lib64/extensions/
extension = mysqli.so
extension = bcmath.so
extension = gettext.so
重啓apache
由於版本的問題 , 2.2.x 系列之後沒有顯示中文選項 須要修改一個文件
[root@localhost ~]# vim /var/www/html/zabbix/include/locales.inc.php
54 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),
# 咱們須要將上面的 false 修改成下面的 true ,刷新頁面就能夠了。
54 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),
因爲篇幅過長,zabbix微信報警的設置單獨寫一章