1. 程式人生 > >zabbix3.2 C/S架構搭建文檔

zabbix3.2 C/S架構搭建文檔

sql mysql 變量 創建 .com .gz 搭建lamp fix 配置 flush

zabbix 是用PHP開發的。得需要搭建LAMP環境

zabbix-server 192.168.1.101
zabbix-agent 192.168.1.105

zabbix 下載 https://www.zabbix.com/

安裝zabbix3.2版本需要一下:
apacache 1.3以上的版本
PHP 5.4 以上的版本

安裝編譯源碼所需的工具和庫
yum install make gcc gcc-c++

先將系統自帶的php卸載
yum remove php*
安裝5.4以上的PHP
rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm #這是centos6的包,centos7的話就把el6換成el7
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-ldap.x86_64 php56w-mbstring.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64 php56w-odbc.x86_64 php56w-xml.x86_64 php56w-xmlrpc.x86_64 php56w-soap.x86_64 或yum -y install php56*
查看PHP版本 php --version
安裝httpd mysql


yum -y install httpd mysql mysql-server mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel mod_ssl mod_perl mod_auth_mysql net-snmp

裝完以後可以將httpd 和mysqld 起來
[root@centos101 ~]# /etc/init.d/httpd start
[root@centos101 ~]# /etc/init.d/mysqld start
[root@centos101 ~]# chkconfig mysqld on
[root@centos101 ~]# chkconfig httpd on

進入MySQL進行授權
create database zabbix character set utf8;
grant all on zabbix.* to zabbix@‘localhost‘ identified by ‘123456‘;
flush privileges;

安裝zabbix

[root@centos101 zabbix-3.2.11]# useradd -s /sbin/nologin zabbix
[root@centos101 zabbix-3.2.11]# tar xf zabbix-3.2.11.tar.gz

[root@centos101 zabbix-3.2.11]# ./configure --prefix=/usr/local/zabbix-server --enable-server --with-mysql --with-net-snmp --with-libcurl --with-libxml2 --enable-agent --enable-ipv6

make && make install

[root@centos101 mnt]# mkdir /var/www/html/zabbix
[root@centos101 zabbix-3.2.11]# cp -R frontends/php /var/www/html/zabbix/

mysql -uzabbix -p123456 zabbix < database/mysql/schema.sql
mysql -uzabbix -p123456 zabbix < database/mysql/images.sql
mysql -uzabbix -p123456 zabbix < database/mysql/data.sql

[root@centos101 etc]# pwd
/usr/local/zabbix-server/etc
[root@centos101 etc]# cat zabbix_server.conf|grep -Ev "^#|^$"
LogFile=/var/log/zabbix/zabbix_server.log
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
[root@centos101 etc]# mkdir /var/log/zabbix
[root@centos101 etc]# chown -R zabbix:zabbix /var/log/zabbix
配置php
vim /etc/php.ini
946 date.timezone =Asia/Shanghai
440 max_execution_time = 300
729 post_max_size = 32M
449 max_input_time = 300
457 memory_limit = 128M
1586 mbstring.func_overload = 2

修改Apache訪問的路徑 添加 index.php 重啟Apache
訪問頁面,192.168.1.101:zabbix
登錄zabbix的默認用戶名是:admin 密碼:zabbix

##################################################################

客戶端配置
[root@centos105 test]# useradd -s /sbin/nologin zabbix
[root@centos105 test]# mkdir /var/log/zabbix
[root@centos105 test]# mkdir /etc/zabbix #存放zabbix的配置文件
[root@centos105 test]# chown zabbix.zabbix /var/log/zabbix/
[root@centos105 zabbix-3.2.11]# ./configure --prefix=/usr/local/zabbix/ --sysconfdir=/etc/zabbix/ --enable-agent && make && make install
[root@centos105 zabbix-3.2.11]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@centos105 zabbix-3.2.11]# cd /etc/zabbix/
[root@centos105 zabbix]# cat zabbix_agentd.conf|grep -Ev "^#|^$"
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=192.168.1.101
ServerActive=192.168.1.101:10051
Hostname=Zabbix server #寫自己的主機名
UnsafeUserParameters=1
[root@centos105 zabbix]# ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin/
[root@centos105 zabbix]# /etc/init.d/zabbix_agentd start

########################################################################

如果客戶端想要創建新的監控的項的話,需要在客戶端的zabbix_agent.conf 文件中添加鍵,以及命令
在UnsafeUserParameters=1 這行下面添加一下內容:
UserParameter=[鍵的名稱],[命令]
UserParameter=Disk.df,/bin/df -hT|awk -F "[ %]+" ‘/lv_root/ {print $6}‘
保存退出重啟一下zabbix_agent

如果想要獲取更多的內存信息的話,其中【*】,這個* 是自己傳進去的值,後面的$1是傳進去的值的變量
UserParameter=memory_info[*],/bin/cat /proc/meminfo|awk ‘/^$1/ {print $2}‘

2、、、、也可以寫監控腳本

[root@centos105 key]# pwd
/etc/zabbix/key #先創建一個專門存放腳本的目錄,
[root@centos105 key]# cat cpu_load.sh
#!/bin/bash
m1load=`uptime |awk -F ‘[ ,]+‘ ‘{print $11}‘`
m5load=`uptime |awk -F ‘[ ,]+‘ ‘{print $12}‘`
m15load=`uptime |awk -F ‘[ ,]+‘ ‘{print $13}‘`
#echo $m1load,$m5load,$m15load
if [ $1 = ‘m1load‘ ];then
echo $m1load
elif [ $1 = ‘m5load‘ ];then
echo $m5load
elif [ $1 = ‘m15load‘ ];then
echo $m15load
else
echo "輸入位置變量有誤"
fi
[root@centos105 key]# ./cpu_load.sh m5load # 可以直接傳進去一個變量,
0.03
然後將這個腳本的路勁寫入到zabbix_agent.conf裏面
UserParameter=cpu_load.info[*],/etc/zabbix/key/cpu_load.sh $1
重啟zabbix_agent
到zabbix_server服務端獲取客戶端的鍵值
[root@centos101 bin]# ./zabbix_get -s 192.168.1.105 -k cpu_load.info[m1load]
0.00
[root@centos101 bin]# ./zabbix_get -s 192.168.1.105 -k cpu_load.info[m5load]
0.00
[root@centos101 bin]# ./zabbix_get -s 192.168.1.105 -k cpu_load.info[m15load]
0.00
可以在web頁面將所有CPU負載的圖給畫到一個圖中,CPU的信息類型為浮點數


在服務端通過zabbix_get命令去獲取客戶端的鍵值
[root@centos101 bin]# pwd
/usr/local/zabbix-server/bin
[root@centos101 bin]# ./zabbix_get -s 192.168.1.105 -k Disk.df
6 #這個6是當前鍵的值
然後在監控的web頁面取添加監控項
步驟:配置--主機--選擇添加監控的主機的監控項--創建監控項;進去之後裏面的鍵值填寫zabbix_agent.conf裏面的鍵的名稱,我的應用集可以自己寫,也可以選擇下面已經有的

zabbix3.2 C/S架構搭建文檔