最近換了工作,開(kāi)始事情還是比較多的,現(xiàn)在做個(gè)小結(jié),給大家分享一下。
創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比鼓樓網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式鼓樓網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋鼓樓地區(qū)。費(fèi)用合理售后完善,10多年實(shí)體公司更值得信賴。
入職新公司第一天部門(mén)領(lǐng)導(dǎo)就給安排了任務(wù),布置一套zabbix監(jiān)控系統(tǒng),將公司防火墻,交換機(jī)以及所有在線服務(wù)器全部監(jiān)控上,然后調(diào)用微信公眾號(hào)發(fā)報(bào)警消息。zabbix我想大家不陌生,功能強(qiáng)大的企業(yè)級(jí)開(kāi)源分布式監(jiān)控軟件,多種報(bào)警方式以及社區(qū)眾多的監(jiān)控模板使它備受歡迎,無(wú)論yum安裝還是編譯安裝都不算難,由于以前沒(méi)有搞過(guò)微信報(bào)警,也是上網(wǎng)查閱了相關(guān)資料后才得以解決,這些內(nèi)容網(wǎng)上有很多,我在這里把我整個(gè)監(jiān)控系統(tǒng)的搭建以及設(shè)置微信告警的步驟詳細(xì)總結(jié)一下。
一、編譯安裝zabbix 2.4
zabbix 2.4版本已經(jīng)不算是新版本了,大家可以試試3.X的版本,我采用的是2.4版本。
1、安裝開(kāi)發(fā)軟件包
yum -y groupinstall "Development Tools"
2、安裝所需的依賴包
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-bcmath
(也可以將 Zabbix 安裝在編譯的 LAMP 環(huán)境下。)
3、下載 Zabbix 源碼包 (直接去官網(wǎng)下載比較好)
4、修改 Mysql 默認(rèn)編碼 ( 如果已經(jīng)有庫(kù)在運(yùn)行的話,建議創(chuàng)建庫(kù)的時(shí)候單獨(dú)指定編碼 )
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
character_set_server = utf8 # 在此區(qū)域加入
[root@localhost ~]# service mysqld start
Starting MySQL.... SUCCESS!
[root@localhost ~]# chkconfig --add mysqld
[root@localhost ~]# chkconfig --level 35 mysqld on
5、更新系統(tǒng)時(shí)間
[root@localhost ~]# ntpdate us.pool.ntp.org && hwclock -w # 最好做任務(wù)計(jì)劃
[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
6、安裝 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
## 編譯參數(shù)說(shuō)明
--enable-server 安裝 zabbix server
--enable-proxy 安裝 zabbix proxy (用來(lái)設(shè)定分布式部署)
--enable-agent 安裝 zabbix agent (不監(jiān)控本機(jī)可以不裝)
--enable-java 安裝java套件,監(jiān)控tomcat需要加上這個(gè)
--with-mysql 使用 mysql 數(shù)據(jù)庫(kù)
--with-net-snmp 支持 snmp 協(xié)議 (用來(lái)監(jiān)控各類網(wǎng)絡(luò)設(shè)備)
--with-libcurl 支持 curl (用戶 web 服務(wù)監(jiān)控)
[root@localhost zabbix-2.4.0]# make & make install
7、創(chuàng)建并導(dǎo)入數(shù)據(jù)庫(kù)
[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
9、修改啟動(dòng)腳本中 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
10、啟動(dòng)服務(wù)并加入開(kāi)機(jī)自動(dòng)
[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
<===========================================================================>
訪問(wèn): http://ip/zabbix
安裝過(guò)程中需要更改php.ini的文件,如果databases support ,bcmath,gettext 出現(xiàn)fail的情況
這說(shuō)明沒(méi)有相應(yīng)的 php 擴(kuò)展,如果 php 是 yum 安裝的,只需要 yum -y install php-mysqli php-bcmath php-gettext 即可;
如果是編譯安裝的,就要做以下操作:
1、找到 php 的源碼包
[root@localhost src]# cd php-5.4.13/
2、進(jìn)入相應(yīng)擴(kuò)展目錄
[root@localhost php-5.4.13]# cd ext/mysqli 和 /bcmath/ 和 /gettext/
3、執(zhí)行 phpize 命令
[root@localhost mysqli]# /usr/local/php/bin/phpize
4、生成 configure 后
[root@localhost mysqli]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/local/mysql/bin/mysql_config # 這個(gè) --with-mysqli 只有添加 mysqli 擴(kuò)展才用,其他兩項(xiàng)只寫(xiě)第一個(gè) with
[root@localhost mysqli]# make ; make install
5、創(chuàng)建引用目錄
[root@localhost ~]# mkdir /usr/lib64/extensions
6、將其 cp 到目錄
[root@localhost ~]# cp /usr/local/php/lib/php/extensions/no-debug-zts-20140525/mysqli.so 和 bcmath.so 和 gettext.so /usr/lib64/extensions/
7、修改 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
因?yàn)榘姹镜膯?wèn)題 , 2.2.x 系列以后沒(méi)有顯示中文選項(xiàng) 需要修改一個(gè)文件
[root@localhost ~]# vim /var/www/html/zabbix/include/locales.inc.php
54 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => false),
# 我們需要將上面的 false 修改為下面的 true ,刷新頁(yè)面就可以了。
54 'zh_CN' => array('name' => _('Chinese (zh_CN)'), 'display' => true),
由于篇幅過(guò)長(zhǎng),zabbix微信報(bào)警的設(shè)置單獨(dú)寫(xiě)一章