zabbix安裝腳本
A. zabbix監控多台設備,需要在每個被監控端安裝客戶端么
2.1 服務端環境准備
Zabbix Server需要運行在CentOS、RedHat linux、Den等Linux系統上,這里以RHEL作為部署環境。
Root用戶安裝必須的包,建議配置好yum,通過yum安裝下列包,解決包的依賴關系。
LAMP環境
#yum install mysql-server (mysql可以單獨安裝高版本)
yum install httpd php
其他需要用到的包:
#yum install mysql-devel gcc net-snmp-devel curl-devel perl-DBI php-gd php-mysql php-bcmath php-mbstring php-xml
下載最新的Zabbix安裝包(官網:http://www.zabbix.com)到本地,解壓
#tar zxvf zabbix-2.4.7.tar.gz
增加zabbix用戶和組
#groupadd zabbix
# useradd -g zabbix -m zabbix
2.2 資料庫准備
啟動MySQL資料庫:
#service mysqld start
修改MySQL root用戶密碼(默認密碼為空)
# mysqladmin -uroot -p password root
測試能否正常登陸資料庫
#mysql –uroot –proot
創建Zabbix資料庫
Mysql> create database zabbix character set utf8;
導入資料庫sql腳本
#cd zabbix-2.4.7
# mysql -uroot -proot zabbix < database/mysql/schema.sql
# mysql -uroot -proot zabbix < database/mysql/images.sql
# mysql -uroot -proot zabbix < database/mysql/data.sql
2.3 編譯安裝
配置編譯,prefix是安裝後程序目錄
# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-unixodbc --with-libcurl -enable-proxy
# make install
2.4 配置文件及web前端文件修改
添加服務埠,添加後如下
# grep zabbix /etc/services
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
添加配置文件
# mkdir -p /etc/zabbix
# cp conf/{zabbix_server.conf,zabbix_agentd.conf} /etc/zabbix
# chmod 400 /etc/zabbix/zabbix_server.conf
# chown zabbix /etc/zabbix/zabbix_server.conf
# chown -R zabbix:zabbix /etc/zabbix
修改Server配置文件
基本不用修改,用默認配置即可,只需修改一項DBPassword=密碼(此密碼是前面設置的資料庫密碼)
# vi /etc/zabbix/zabbix_server.conf
修改Agentd配置文件,更改HOST NAME 為本機的主機名
#vi /etc/zabbix/zabbix_agentd.conf
添加web前端php文件
# cd frontends/
# cp -rf php /var/www/html/
# cd /var/www/html
# mv php zabbix
# chown -R zabbix:zabbix zabbix
2.5 web前端安裝配置
修改php相關參數
# vi /etc/php.ini 找到如下幾項,改成下面的值,前面有;號的要刪掉
max_execution_time = 300
date.timezone = Asia/Shanghai
max_input_time = 600
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
重啟apache
#service httpd restart
啟動zabbix_server
/etc/init.d/zabbix_server -c /etc/zabbix/zabbix_server.conf start
----------------------------------------------------------------------------------------unixODBC配置
4. MSSQL. The documentation is available on this page:
install necessary packages on Zabbix server:
# yum -y install freetds unixODBC unixODBC-devel
update ODBC driver configuration file:
$ vi /etc/odbcinst.ini
[FreeTDS]
Driver = /usr/lib64/libtdsodbc.so.0
update ODBC configuration file:
$ vi /etc/odbc.ini
[sql1] --為方便 這里最好用ip 表示,容易區分 和server ip 保持一致
Driver = FreeTDS
Server =
PORT = 1433
TDS_Version = 8.0
[sql2]
Driver = FreeTDS
Server =
PORT = 1433
TDS_Version = 8.0
isql -v sql1[sql2]
SQL> SELECT name FROM master..sysdatabases
B. 如何在linux操作系統中安裝zabbix
zabbix 是一個基於WEB界面的提供分布式系統監視以及網路監視功能的企業級的開源解決方案,下文我們一起來看看linux中Zabbix安裝配置圖文教程,希望例子能幫助到各位同學哦。
說明:
操作系統:CentOS
IP地址:192.168.21.127
Web環境:Nginx+MySQL+PHP
zabbix版本:Zabbix 2.2 LTS
備註:Linux下安裝zabbix需要有LAMP或者LNMP運行環境
安裝篇
一、創建、導入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 #列出文件,可以看到有schema.sql、images.sql、data.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
flush privileges; #刷新系統授權表
grant all on zabbix.* to 'zabbix'@'127.0.0.1' 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/images.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/images.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
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 #安裝
說明: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=127.0.0.1 #資料庫ip地址
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts #zabbix運行腳本存放目錄
: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_agentd #客戶端
chmod +x /etc/rc.d/init.d/zabbix_server #添加腳本執行許可權
chmod +x /etc/rc.d/init.d/zabbix_agentd #添加腳本執行許可權
chkconfig zabbix_server on #添加開機啟動
chkconfig zabbix_agentd 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_agentd #編輯客戶端配置文件
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 www.www -R /usr/local/nginx/html/zabbix
備註:/usr/local/nginx/html為Nginx默認站點目錄 www為Nginx運行賬戶
service zabbix_server start #啟動zabbix服務端
service zabbix_agentd start #啟動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.21.127/zabbix/setup.php
C. 如何在Zabbix上安裝MySQL監控插件PMP
拷貝PMP的配置文件
# cp /var/lib/zabbix/percona/templates/userparameter_percona_mysql.conf /etc/zabbix/zabbix_agentd.d/
確保Zabbix-Agent配置文件中已經開啟Include=/etc/zabbix/zabbix_agentd.d/
重啟Zabbix-Agent服務
# service zabbix-agent restart
創建MySQL的監控用戶
mysql> grant process,super,select on *.* to monitor@'localhost' identified by 'monitor';
mysql> flush privileges;
修改腳本中的用戶名和密碼
# vim /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php
$mysql_user = 'monitor';
$mysql_pass = 'monitor';
$mysql_port = 3306;
測試腳本能否獲取到資料庫的狀態信息
該腳本需測試兩部分內容
1. MySQL實例本身的狀態變數
2. MySQL是否為Slave
測試MySQL實例本身的狀態變數
# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
/var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh: line 35: /usr/bin/php: No such file or directory
ERROR: run the command manually to investigate the problem: /usr/bin/php -q /var/lib/zabbix/percona/scripts/ss_get_mysql_stats.php --host localhost --items gg
因為它的腳本是用PHP實現的,故需要安裝php和php-mysql
# yum install php php-mysql
重新測試該腳本
# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh gg
有值返回就代表OK
測試MySQL是否為Slave
# /var/lib/zabbix/percona/scripts/get_mysql_stats_wrapper.sh running-slave
返回0和1是正常值,返回「Access denied」則有問題。
導入PMP的模板
即/var/lib/zabbix/percona/templates目錄中的zabbix_agent_template_percona_mysql_server_ht_2.0.9-sver1.1.6.xml
D. yum安裝的nginx怎麼使用zabbix
安裝操作系統
系統安裝很簡單,省略了。
操作系統:CentOS release 6.4 (Final)
IP地址:192.168.250.249
zabbix版本:i686-2.4.4-1.el6
可以參考這個Cacti安裝視頻里的centos安裝部分。
建議關閉SELinux
SELinux是linux一項很嚴格的安全措施,其設置比較復雜,如果您不會設置,建議您參考下面的方法將其關閉。
可以通過下面命令檢測其是否處於開啟狀態,Enforcing為開啟狀態,Permissive為關閉狀態。
1
getenforce
命令行執行下面命令後SELinux立即關閉,操作系統重啟後會被重新打開。
1
setenforce 0
編輯/etc/selinux/config配置文件,將SELINUX項更改,重啟後會按照此配置文件中設定的狀態決定是否啟動。
1
SELINUX=disabled
添加zabbix倉庫
首先登錄到centos上去。
添加zabbix倉庫,其中地址部分請參考zabbix下載頁中的地址,以便獲取最新版本。
1
rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
安裝zabbix
如果是安裝zabbix伺服器,安裝下面兩個包,zabbix等需要安裝的包會作為依賴被安裝。Apache和php也會被安裝。
1
yum install zabbix-server-mysql zabbix-web-mysql
如果只是安裝zabbix agent,則只需要安裝agent即可。
1
yum install zabbix-agent
安裝MySQL
同樣是使用yum安裝。
1
2
yum groupinstall mysql
service mysql start
創建MySQL資料庫及用戶和許可權
下面是創建了一個zabbix資料庫,一個zabbix用戶,其密碼為zabbix。zabbix用戶在本地對zabbix資料庫擁有所有許可權。
1
2
3
4
shell> mysql -uroot -p
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
初始化zabbix資料庫
之前安裝的zabbix-server-mysql為我們提供了資料庫初始化腳本。
這些sql腳本位於/usr/share/doc/zabbix-server-mysql-2.4.4/create/目錄,不同的版本號需要注意目錄中的版本號部分。
通過下面方式導入數據中。
1
2
3
4
shell> cd /usr/share/doc/zabbix-server-mysql-2.4.4/create/
shell> mysql -uroot zabbix < schema.sql
shell> mysql -uroot zabbix < images.sql
shell> mysql -uroot zabbix < data.sql
資料庫初始化成功之後還要編輯zabbix的配置文件使其能訪問資料庫。
vim /etc/zabbix/zabbix_server.conf
大概在65行到100行中,有資料庫信息,按照之前設置的用戶名和密碼設置即可。
參考下面圖片。
啟動zabbix server
1
2
service zabbix-server start
service httpd start
PHP時區設置
關於zabbix的Apache和php配置文件位於:/etc/httpd/conf.d/zabbix.conf
請修改此文件,將date.timezone設置為Asia/Shanghai。
參考下面最後一行。
1
2
3
4
5
6
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Shanghai
這個值位於此文件的第18行。
訪問zabbix
zabbix的訪問地址為:http://192.168.250.249/zabbix
如果您無法訪問,您還需要檢查您的iptables配置。
如果您不知道如何設置iptables,可以將iptables關閉(不建議)。
1
2
service iptables stop
chkconfig iptables off
使用向導設置zabbix
第一次訪問會進入設置向導,根據提示點擊『next』即可。
到這個界面的時候,需要填寫之前設置的zabbix資料庫信息。填寫後點擊『Test Connection』測試連接是否成功。
第四步需要填寫Host和Port,如果您不知道這是什麼意思,請保持默認,Name請自定義填寫。
登錄到Zabbix
使用下面默認的用戶名和密碼登錄即可,注意大小寫。
Admin\zabbix
更改顯示語言
點擊右上角Profile,更改Language選項。
到這里Zabbix Server就安裝結束了。
E. 如何安裝Zabbix
如何安裝Zabbix
Zabbix配置安裝:Zabbix能監視各種網路參數,保證伺服器系統的安全運營;而且提供柔軟的通知機制 以讓系統管理員快速定位/解決存在的各種問題。Zabbix由2部分構成,zabbix server與可選組件zabbix agent。本文講述的是Zabbix配置安裝。
Zabbix配置安裝
zabbix是一個CS結構的監控系統,之前一直沒有很好的整理下安裝:安裝幾次都要重新看,目前將Zabbix配置安裝進行整理如下
Zabbix配置需要web、php、mysql、gcc等支持
請自行配置好
接下來我們開始操作
操作範例的操作系統為Centos 5.2
tar zxvf zabbix-1.6.2.tar.gz
mysql -uroot -p
mysql> create databases zabbix;
mysql> GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY 『zabbix』 WITH GRANT OPTION;
mysql> use zabbix;
mysql> source /usr/local/src/zabbix-1.6.2/create/schema/mysql.sql
mysql> source /usr/local/src/zabbix-1.6.2/create/data/data.sql
mysql> source /usr/local/src/zabbix-1.6.2/create/data/images_mysql.sql
cd zabbix-1.6.2
./configure –prefix=/usr/local/zabbix/ \ //指定安裝目錄
–enable-server \ //安裝server,被監控節點不需要
–enable-agent \ //安裝agent
–with-mysql \ //需要mysql支持需要指定目錄
–with-net-snmp //需要snmp支持需要指定目錄
常用的編譯選項如下,需要更多的可以看幫助
–enable-static Build statically linked binaries
–enable-server Turn on build of server
–enable-proxy Turn on build of proxy server
–enable-agent Turn on build of agent
–enable-ipv6 Turn on support of IPv6
–with-mysql
–with-oracle
–with-pgsql
–with-sqlite3
–with-jabber
–with-net-snmp
–with-ucd-snmp
Zabbix配置客戶端只需執行:
./configure –prefix=/usr/local/zabbix –enable-agent
make && make install
Zabbix配置安裝過程沒有報錯基本就OK,接下來增加對應的埠:
vi /etc/services
加入
zabbix_agent 10050/tcp # zabbix agent
zabbix_agent 10050/udp # zabbix agent
zabbix_trapper 10051/tcp # zabbix trapper
zabbix_trapper 10051/udp # zabbix trapper
復制配置文件和服務啟動腳本
cp -rf misc/conf /opt/app/zabbix/etc -R
到
misc/init.d/
選擇一個自己合適自己環境的啟動腳本,或者自己寫一個
添加一個zabbix用戶
useradd zabbix
然後用腳本啟動zabbix_server和zabbix_agentd
[root@zabbix ~]#ll /usr/local/zabbix/sbin/
total 2344
-rwxr-xr-x 1 root root 362581 Apr 16 22:55 zabbix_agent
-rwxr-xr-x 1 root root 425336 Apr 16 22:55 zabbix_agentd
-rwxr-xr-x 1 root root 136854 Apr 16 22:55 zabbix_get
-rwxr-xr-x 1 root root 163086 Apr 16 22:55 zabbix_sender
-rwxr-xr-x 1 root root 1284665 Apr 16 22:55 zabbix_server
Zabbix配置回到zabbix的編譯目錄:
生成配置文件:
mkdir /etc/zabbix
cp misc/conf/* /etc/zabbix/
vi frontends/php/include/db.inc.php
更改資料庫相關內容:
$DB_TYPE ="MYSQL";
$DB_SERVER ="localhost";
$DB_DATABASE ="zabbix";
$DB_USER ="zabbix";
$DB_PWD ="zabbix";
cp -rf frontends/php /var/www/html/zabbix -R
php環境需求
PHP version: 5.2.8 Ok
PHP Memory limit: 128M Ok
PHP post max size: 8M Ok
PHP max execution time: 300 sec Ok
PHP Databases support: MySQL Ok
PHP BC math support yes Ok
GD Version: bundled (2.0.34 compatible) Ok
Image formats: PNG Ok
PHP Timezone: Asia/Shanghai
註:gd-devel沒有安裝上去將無法在web端安裝過去,對應的其他也要安裝,比如net-snmp,可通過yum來安裝,方便。
[root@zabbix ~]#rpm -qa|grep gd
gd-devel-2.0.33-9.4.el5_1.1
gd-2.0.33-9.4.el5_1.1
安裝php-bcmath
yum -y install php-bcmath
修改時區
Vi /etc/php.ini
date.timezone =Asia/Shanghai
如何安裝Zabbix就介紹到這里了。
F. 新手請求幫助,謝謝,Zabbix安裝過程出現錯誤
方法:
1.下載zabbix;
2.安裝zabbix所需的組件
#yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI php-gd php-xml php-bcmath
3.資料庫創建並導入數據
#tar zxf zabbix 1.8.2.tar.gz
#cd zabbix 1.8.2
#mysql -uroot -p
>create database zabbix;
>grant all on zabbix.* to zabbix@localhost identified by 'zabbix';
>flush privileges;
#mysql -uroot zabbix<create/schema/mysql.sql
#mysql -uroot zabbix<create/data/data.sql
#mysql -uroot zabbix<create/data/images_mysql.sql
//為zabbix創建自己的資料庫,以便zabbix可以把收集到的數據信息存放在那裡調用。
4.編譯安裝
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-proxy --with-mysql=/usr/local/mysql-5.1.56/bin/mysql_config --with-net-snmp --with-libcurl
//--prefix指定zabbix安裝目錄,--enable-server 支持zabbix伺服器
--enable-agent支持zabbix代理
--enable-proxy 支持zabbix代理伺服器
--with-mysql 使用MySQL客戶端庫可以選擇指定路徑mysql_config
--with-net-snmp 使用net - snmp軟體包,擇性地指定路徑NET - SNMP配置
--with-libcurl 使用curl包
#make && make install
5.添加zabbix服務對應的埠(可以省略,但是官方建議有)
#cat >>/etc/services<<EOF
zabbix-agent 10050/tcp Zabbix Agent
zabbix-agent 10050/udp Zabbix Agent
zabbix-trapper 10051/tcp Zabbix Trapper
zabbix-trapper 10051/udp Zabbix Trapper
EOF
6.拷貝zabbix的配置文件到etc下,web相關文件拷貝到web目錄下
#cd zabbix-1.8.2
#mkdir /etc/zabbix
#cp misc/conf/* etc/zabbix
#cp -r frontends/php /var/www/html/zabbix
修改zabbix連接的資料庫的用戶名和密碼
#vi /etc/zabbix/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBUDBPassword=zabbix
7.為zabbix的啟動、關閉和重啟的腳本文件做鏈接,方便系統可以找得到
#cd /usr/local/zabbix/bin/
#for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
#cd /usr/local/zabbix/sbin/
#for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done
8.把mysql的lib庫文件添加到系統動態庫配置文件中,方便系統可以找到mysql的lib庫。
#echo 「/usr/local/mysql-5.1.56/lib/mysql/」 >>/etc/ld.so.conf
#ldconfig //使上面的操作立即生效
9.將zabbix相關的啟動腳本等文件拷貝的/etc/init.d/下,方便日後對zabbix的啟動關閉操作
#cp misc/init.d/redhat/8.0/zabbix_server /etc/init.d/
#chmod +x /etc/init.d/zabbix_server //賦予可執行許可權
#cp misc/init.d/redhat/8.0/zabbix_agentd /etc/init.d/
#chmod +x /etc/init.d/zabbix_agentd
修改zabbix server和agentd程序目錄的位置:
#vi /etc/init.d/zabbix_server
progdir="/usr/local/zabbix/sbin/"
#vi /etc/init.d/zabbix_agentd
progdir="/usr/local/zabbix/sbin/"
10.添加開機啟動服務
#chkconfig --add zabbix_server
#chkconfig --add zabbix_agentd
#chkconfig --level 345 zabbix_server on
#chkconfig --level 345 zabbix_agentd on
7、修改php相關參數
# vi /etc/php.ini
max_input_time = 600
max_execution_time = 300
date.timezone = Asia/Shanghai
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
重啟apache
#service httpd restart
G. centos怎麼啟動zabbix
方法/步驟
安裝開發軟體包
yum -y groupinstall "Development Tools"
安裝所需的依賴包
yum -y install httpd mysql mysql-server 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
同步服務端的時間,保持所有伺服器時間一致避免出現時間不同導致的不可用的監控數據
ntpdate pool.ntp.rog
創建zabbix服務運行所需要的用戶和組
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
初始化mysql伺服器
/etc/init.d/mysqld start
創建zabbix運行所需要的資料庫及用戶許可權
mysqladmin -uroot -h127.0.0.1 password "123456"
mysql -uroot -h127.0.0.1 -p
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbixuser@'%' identified by 'zabbixpass';
flush privileges;
根據系統要求從官網下載解壓zabbix
cd /usr/src/
tar xf zabbix-2.2.2.tar.gz
將zabbix的初始數據導入到資料庫中
cd zabbix-2.2.2
mysql -uzabbixuser -h192.168.239.130 -p zabbix <database/mysql/schema.sql
mysql -uzabbixuser -h192.168.239.130 -p zabbix <database/mysql/images.sql
mysql -uzabbixuser -h192.168.239.130 -p zabbix <database/mysql/data.sql
#登錄資料庫查看下錶是否都創建成功
編譯安裝zabbix
./configure –sysconfdir=/etc/zabbix/ –enable-server –enable-agent –with-net-snmp –with-libcurl –with-mysql
make && make install
#此處指定sysconfdir配置文件的路徑就在/etc/zabbix/目錄下了,如果不指定默認在/usr/local/etc下
10、Copy zabbixserver端跟agent端的啟動腳本,並設置執行許可權
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
cp misc/init.d/tru64/zabbix_server /etc/init.d/
chmod +x /etc/init.d/zabbix_*
將zabbix的頁面文件到指定目錄(跟apache配置的相同即可)
mkdir /var/www/html/zabbix
cp -a zabbix-2.2.2/frontends/php/* /var/www/html/zabbix/
chown -R apache.apache /var/www/html/zabbix/
配置php文件,適應zabbix安裝所需的參數
vim /etc/php.ini
date.timezone = Asia/Shanghai
max_execution_time = 300
max_input_time = 300
post_max_size = 32M
memory_limit = 128M
mbstring.func_overload = 2
配置apache文件,定義安裝訪問zabbix的虛擬主機
vim /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1
<VirtualHost *:80>
DocumentRoot "/var/www/html"
ServerName 192.168.239.130
</VirtualHost>
配置zabbix server端的文件,定義資料庫的IP、用戶名、密碼
vim /etc/zabbix/zabbix_server.conf
DBHost=192.168.239.130
DBName= zabbix
DBUser=zabbixuser
DBPassword=zabbixpass
StartPollers=30 #開啟多線程數,一般不要超過30個
StartTrappers=20 #trapper線程數
StartPingers=10 #fping線程數
StartDiscoverers=120
MaxHousekeeperDelete=5000
CacheSize=1024M #用來保存監控數據的緩存數,根據監控主機的數量適當調整
StartDBSyncers=8 #資料庫同步時間
HistoryCacheSize=1024M
TrendCacheSize=128M #總趨勢緩存大小
HistoryTextCacheSize=512M
AlertScriptsPath=/etc/zabbix/alertscripts
LogSlowQueries=1000
啟動apache服務跟zabbix服務
/etc/init.d/httpd start
/etc/init.d/zabbix_server start
訪問安裝界面按照界面提示一步一步的完成安裝
http://192.168.239.130/zabbix/setup.php
a) 進入安裝界面點擊Next
b) 確保所有的監測項都是OK,點擊Next
c) 填寫zabbix資料庫的用戶名、密碼、地址等信息,點擊Test connection,OK後點擊Next
填寫zabbix伺服器的信息,主機名,server程序監聽的的埠,主機IP地址等,如果server跟web在一台伺服器上保持默認即可,點擊Next
確認前面幾部填寫的信息沒有問題的話點擊Next
檢查web程序的config文件,如果沒問題會顯示OK,直接點擊finish即可完成安裝(如果此處有問題一般是zabbix虛擬主機目錄文件的許可權問題,上面已經有設置的過程一般不會出現問題)
#如果因為手誤,資料庫密碼或者用戶名等的填寫錯了,後面會一直報錯,我們可以手動的去編輯配置文件vim /var/www/html/zabbix/conf/zabbix.conf.php 手動定義相關的參數即可
進入登錄界面點擊登錄,默認admin zabbix
#至此,server端的安裝完成
Agent端
安裝開發軟體包
yum -y groupinstall "Development Tools"
yum –y install ntpdate
同步客戶端時間,防止跟伺服器端不一致,導致檢測到不可用的監控數據
ntpdate pool.ntp.org
創建zabbix運行所需要的用戶跟組
groupadd -g 201 zabbix
useradd -g zabbix -u 201 -m zabbix
解壓安裝zabbixagent端
cd /usr/src/
tar xf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2
./configure –sysconfdir=/etc/zabbix –enable-agent
make && make install
agent端運行所需要的腳本
cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
chmod +x /etc/init.d/zabbix_agentd
配置agent端配置文件
vim /etc/zabbix/zabbix_agentd.conf #此處千萬別寫成了zabbix_agent.conf,否則配置了不生效
Server=192.168.239.130 #填寫Server的IP地址
ServerActive=192.168.239.130 #修改為Server的IP地址
Hostname=Centos-03 #填寫本機的HostName,注意Server端要能解析
UnsafeUserParameters=1 #是否允許自定義的key,1為允許,0為不允許
Include=/etc/zabbix/zabbix_agentd.conf.d/#自定義的agentd配置文件(key)可以在這裡面寫;
啟動zabbix agent端
/etc/init.d/zabbix_agentd start
END
注意事項
PHP bcmath extension missing, php configuration parameter --enable-bcmath解決方法: yum install *bcmath* --skip-broken然後在 /etc/php.ini 文件里,添加: extension=bcmath.so
H. zabbix怎麼監控上百台電腦
最近一直在研究Zabbix監控Windows機器,涉及到如何快速安裝agent,如何修改和完善windows監控模板等等。想把自己的經驗給大家分享一下,希望對大家有所幫助。
1)安裝agent客戶端
首先分享一下用bat寫的自動化安裝Windows機器的agentd安裝腳本。
@echo off
color fd
cd \
#IP from Zabbix Server or proxy where data should be send to.
Set zabbix_server_ip=IP
echo Creating zabbix install dir
mkdir c:\zabbix
mkdir c:\zabbix\conf
mkdir c:\zabbix\bin
mkdir c:\zabbix\log
mkdir c:\zabbix\install_file
echo Copying Zabbix install file
x \\共享伺服器IP\Share\zabbix_agents_2.2.1.win c:\zabbix\install_file /s
/y C:\zabbix\install_file\conf\zabbix_agentd.win.conf C:\zabbix\conf\
echo Modiy zabbix configuration files
echo LogFile=c:\zabbix\log\zabbix_agentd.log >> C:\zabbix\conf\zabbix_agentd.win.conf
echo Server=%zabbix_server_ip% >> C:\zabbix\conf\zabbix_agentd.win.conf
echo Hostname=%COMPUTERNAME% >> C:\zabbix\conf\zabbix_agentd.win.conf
echo StartAgents=10 >> C:\zabbix\conf\zabbix_agentd.win.conf
echo Timeout=30 >> C:\zabbix\conf\zabbix_agentd.win.conf
echo
echo Copy zabbix start-up file
if %processor_architecture% EQU x86 /y C:\zabbix\install_file\bin\win32 C:\zabbix\bin\
if %processor_architecture% EQU AMD64 /y C:\zabbix\install_file\bin\win64 C:\zabbix\bin\
echo start zabbix servic
C:\zabbix\bin\zabbix_agentd.exe -i -c C:\zabbix\conf\zabbix_agentd.win.conf
echo start zabbix services
net start "Zabbix Agent"
echo set zabbix service auto
sc config "Zabbix Agent" start= auto
echo Zabbix agentd Configuration and Install Successful
如果監控Winows機器有上百台,用上面的腳本安裝agent效率是提升了很多,但還是不夠理想,下面給大家分享一個小工具(http://technet.microsoft.com/en-us/Sysinternals/bb897553.aspx)。
PsExec工具類似於Telnet,並且不需要在遠程訪問伺服器上面安裝客戶端軟體即可執行安裝程序,批量執行安裝腳本,絕對不比Shell腳本遜色。下面看看其用法:
Usage: psexec [\\computer[,computer2[,...] | @file]][-u user [-p psswd][-n s][-r servicename][-h][-l][-s|-e][-x][-i [session]][-c [-f|-v]][-w directory][-d][-<priority>][-a n,n,...] cmd [arguments]
只需知道以下幾個參數即可:
@file PsExec遠程安裝agent主機列表,如IP地址,主機名。
-u 指定用於登錄遠程計算機的用戶名。
-p 指定用戶名的密碼。
-c 指定的程序復制到遠程系統來執行,即安裝腳本。
實例:
PsExec.exe @ComputerList.txt -u "sfzhang" �c zabbix_agentd_install_windows.bat
2)獲取監控性能指標
Zabbix監控windows常見的KEY可以參考官方文檔(https://www.zabbix.com/documentation/2.2/manual/config/items/itemtypes/zabbix_agent/win_keys):
其中最常用的KEY是perf_counter[counter,<interval>],可以獲取windows性能監視器的數據。Windows性能監視器的數據可以通過typeperf獲取
,
可以把所有的性能監視器里數據重定向到文本文件裡面查看typeperf -qx > win2003_Performance.txt。 下面是獲取windows CPU使用率。
定義監控項的Key:
定義觸發器trigger,5分鍾之內如果CPU使用率大於85%則報警。
3)性能指標的展示
CPU利用率,CPU和disk Idle time。
4)Zabbix監控windows網卡流量,zabbix 監控windows網卡流是監控所有介面的流量。
使用Zabbix Macro能解決監控本地網卡的需求。其中IPADDRESS就是Zabbix Macro,表示被監控機的IP地址,用下面Key即可取到進出流量。
net.if.in[{IPADDRESS},bytes]
net.if.out[{IPADDRESS},bytes]
5)其它性能指標:
物理磁碟的讀響應時間:perf_counter["\PhysicalDisk(_Total)\Avg. Disk sec/Read"]
物理磁碟的寫響應時間:perf_counter["\PhysicalDisk(_Total)\Avg. Disk sec/Write"]
內存的使用百分率:vm.memory.size[pused]
CPU負載:system.cpu.load[all,avg1]
總結:Zabbix自帶監控Windows機器模板裡面監控指標很少,很多指標需要優化,並且需要通過Windows性能監視器獲取數據,無論是系統層面(負載,內存利用率等)還是應用層面(IIS,SQLserver等)的指標都可以獲取到。
I. 如何在ubuntu下編譯安裝zabbix系統
第一部分,php\nginx\mysql組件安裝
1,php-cgi
zabbix的web前端是用php寫成的,需要php來運行
view sourceprint?1 jcwu@ubuntu:~$ sudo apt-get update
2 jcwu@ubuntu:~$ sudo apt-get install php5-cgi
3 jcwu@ubuntu:~$ sudo useradd www #php運行用戶
php-cgi控制腳本
view sourceprint?01 jcwu@ubuntu:~$ cat /etc/init.d/php-fcgi
02 #!/bin/bash
03
04 BIND=127.0.0.1:9000
05 USER=www
06 PHP_FCGI_CHILDREN=15
07 PHP_FCGI_MAX_REQUESTS=1000
08 PHP_CGI=/usr/bin/php-cgi
09 PHP_CGI_NAME=`basename $PHP_CGI`
10 PHP_CGI_ARGS="- USER=$USER PATH=/usr/bin PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS $PHP_CGI -b $BIND"
11 RETVAL=0
12
13 start() {
14 echo -n "Starting PHP FastCGI: "
15 start-stop-daemon --quiet --start --background --chuid "$USER" --exec /usr/bin/env -- $PHP_CGI_ARGS
16 RETVAL=$?
17 echo "$PHP_CGI_NAME."
18 }
19 stop() {
20 echo -n "Stopping PHP FastCGI: "
21 killall -q -w -u $USER $PHP_CGI
22 RETVAL=$?
23 echo "$PHP_CGI_NAME."
24 }
25
26 case "$1" in
27 start)
28 start
29 ;;
30 stop)
31 stop
32 ;;
33 restart)
34 stop
35 start
36 ;;
37 *)
38 echo "Usage: php-fastcgi {start|stop|restart}"
39 exit 1
40 ;;
41 esac
42 exit $RETVAL
43
44 jcwu@ubuntu:~$ sudo update-rc.d php-fcgi defaults #添加至系統啟動項
2,nginx
參考http://wiki.nginx.org/Install
view sourceprint?01 jcwu@ubuntu:~$sudo vi /etc/apt/source.list
02 #在文件尾添加以下2行
03 deb http://nginx.org/packages/ubuntu/ lucid nginx
04 deb-src http://nginx.org/packages/ubuntu/ lucid nginx
05 #############官方文檔中如下#######################################
06 su -s
07 nginx=stable # use nginx=development for latest development version
08 add-apt-repository ppa:nginx/$nginx
09 # add-apt-repository 安裝命令為 apt-get install python-software-properties
10 apt-get update
11 apt-get install nginx
12 #############我的安裝命令########################################
13 jcwu@ubuntu:~$ sudo apt-get update
14 jcwu@ubuntu:~$ sudo apt-get install nginx
設置php-cgi
view sourceprint?1 sudo vi /etc/nginx/conf.d/default.conf
將root html提前到server_name下面
將location /中的index 指令後加上index.php
設置php解析
view sourceprint?01 # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
02 #
03 location ~ \.php$ {
04 root html;
05 fastcgi_pass 127.0.0.1:9000;
06 fastcgi_index index.php;
07 #fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
08 #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
09 fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
10 include fastcgi_params;
11 }
測試
view sourceprint?1 sudo vi /usr/share/nginx/html/info.php
2 #添加
3 <!--?php phpinfo(); ?-->
4 #然後reload nginx
5 sudo kill -HUP $(cat /var/run/nginx.pid)
在瀏覽器中打開http://192.168.1.115/info.php
這樣就OK了
3,mysql
用來存儲監控數據,這里可以選很多種db2、mysql、oracle、postgresql、sqlite
view sourceprint?1 jcwu@ubuntu:~$ sudo apt-get install mysql-server
第二部分,zabbix編譯安裝和web前面配置
0-准備工作
view sourceprint?1 #安裝編譯套件
2 sudo apt-get install build-essential
3 #安裝php前端需要的包
4 sudo apt-get install libmysqlclient15-dev php5-gd php5-mysql
5 #安裝zabbix需要的包,snmp\curl\ssl\fping
6 sudo apt-get install snmp libsnmp-dev snmpd libcurl4-openssl-dev fping
1-添加用戶,並添加到admin用戶組
view sourceprint?1 sudo adser zabbix
2 sudo adser zabbix admin
2-獲取zabbix 1.8.11 源碼包,並解壓
view sourceprint?1 cd /usr/src && wget http //prdownloads sourceforge net/zabbix/zabbix-1.8.11.tar.gz?download
2 sudo mv zabbix-1.8.11.tar.gz?download zabbix-1.8.11.tar.gz
3 tar xvf zabbix-1.8.11.tar.gz
3-mysql資料庫初始化
view sourceprint?1 mysql -uroot -p -e"create database zabbix;"
2 mysql -uroot -p -e"grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';"
3 mysql -D zabbix -uzabbix -pzabbix < zabbix-1.8.11/create/schema/mysql.sql
4 mysql -D zabbix -uzabbix -pzabbix < zabbix-1.8.11/create/data/data.sql
5 mysql -D zabbix -uzabbix -pzabbix < zabbix-1.8.11/create/data/images_mysql.sql
4-編譯安裝
view sourceprint?1 cd zabbix-1.8.11/
2 ./configure --prefix=/usr/local --with-mysql --with-net-snmp \
3 --with-libcurl --enable-server --enable-agent && \
4 make
5 sudo make install
6 #--with-net-snmp是啟用SNMP協議
7 #--with-libcurl是監控web網站用的
8 #--enable-server只可在服務端上使用
9 #其它還有IPMI等,參閱./configure --help
5-系統其它設置
view sourceprint?1 sudo vi /etc/services
2 #添加
3 zabbix_agent 10050/tcp # Zabbix ports
4 zabbix_trap 10051/tcp
6-設置zabbix配置文件目錄
view sourceprint?1 sudo mkdir /etc/zabbix
2 sudo chown -R zabbix.zabbix /etc/zabbix/
3 cp misc/conf/zabbix_* /etc/zabbix/
修改配置文件zabbix_server.conf
view sourceprint?1 vi /etc/zabbix/zabbix_server.conf
搜索DBUser DBPassword這兩個關鍵字,替換為前面mysqlDB中設置的用戶和密碼(這里都是zabbix\zabbix)
7-設置zabbix開機啟動
view sourceprint?1 sudo cp misc/init.d/debian/zabbix-server /etc/init.d
2 sudo cp misc/init.d/debian/zabbix-agent /etc/init.d
3 cd !$
4 sudo chmod 755 zabbix-*
5 sudo update-rc.d zabbix-server defaults
6 sudo update-rc.d zabbix-agent defaults
其實misc/init.d/ubuntu/下面還有2個conf配置文件,但這個扔/etc/init.d里來啟動zabbix會報錯
8-zabbix web界面安裝設置
view sourceprint?1 sudo mkdir /usr/share/nginx/html/zabbix/
2 cd /usr/src/zabbix-1.8.11/frontends/ && sudo cp -r php /usr/share/nginx/html/zabbix
在瀏覽器中打開http://192.168.1.115/zabbix開始web界面的setup
這里有2個重要的地方,一是 zabbix會檢查php的設置
如下圖,圖中標紅的是默認需要修改的參數,php的設置文件為/etc/php5/cgi/php.ini
改完後記得
view sourceprint?1 sudo service php-fcgi restart
二是mysql db的設置
最後,要手動將生成的設置文件zabbix.conf.php上傳到/usr/share/nginx/html/zabbix/conf
gnome終端對rz支持不好,我就不上傳了,而是直接將下載的zabbix.conf.php的內容進行Ctl+C,直接在伺服器上vi zabbix.conf.php然後再Shift+Insert粘貼進去
然後再點幾個Next.就安裝完了
zabbix默認用戶是admin,密碼是zabbix,登陸後一定要修改。
J. centos安裝了zabbix_server後,如何用命令進行啟動和關閉
啟動
system ctl start zabbix-server
關閉
system ctl stop zabbix-server