部署zabbix3.2.7,升級到3.四、proxy部署

1、Server安裝php

可使用mysql、percona、mariadb等,本例使用mariadb。因爲是過後整理,只截取部分命令。html

#yum install mariadb-server mariadb    ----安裝數據庫
配置zabbix源,[可選]
yum install -y http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

yum -y install ./zabbix-server-mysql-3.2.7-1.el7.x86_64.rpm zabbix-get-3.2.7-1.el7.x86_64.rpm
或者:經過下列方法下載所需的zabbix rpm包
#mkdir zabbix3.2.7
#cd zabbix3.2.7/

wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-java-gateway-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-proxy-mysql-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-proxy-pgsql-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-proxy-sqlite3-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-sender-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-server-mysql-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-server-pgsql-3.2.7-1.el7.x86_64.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-3.2.7-1.el7.noarch.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-japanese-3.2.7-1.el7.noarch.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-mysql-3.2.7-1.el7.noarch.rpm
wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-pgsql-3.2.7-1.el7.noarch.rpmjava

 #systemctl start mariadb.service   ---啓動mariadbmysql

  #systemctl enable mariadblinux

  MariaDB [(none)]> SET password for 'root'@'localhost'=password('newpassword');git

  MariaDB [(none)]> CREATE DATABASE zabbix CHARSET 'utf8';   //建立zabbix數據庫github

  MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'zbxuser'@'10.1.%.%' IDENTIFIED BY 'zbxpass'; //受權zbxuser用戶從10.0.255.255廣播地址登陸zabbix數據庫web

  MariaDB [(none)]> GRANT ALL ON zabbix.* TO 'zbxuser'@'localhost' IDENTIFIED BY 'zbxpass'; //受權zbxuser用戶從localhost廣播地址登陸zabbix數據庫sql

MariaDB [(none)]> flush privileges;    //刷新權限  數據庫

MariaDB [(none)]> exit;

yum -y localinstall ./zabbix-server-mysql-3.2.7-1.el7.x86_64.rpm 

... ---安裝須要的其它包

# zcat /usr/share/doc/zabbix-server-mysql-3.2.7/create.sql.gz | mysql -uzbxuser -p1 zabbix

安裝一些須要的工具:

#yum install -y epel-release
#yum install -y iksemel fping libiksemel
#yum install -y libiksemel

 yum install vim -y

vim /etc/zabbix/zabbix_server.conf 

 #vim /etc/zabbix/zabbix_server.conf

 yum install httpd php php-mysql php-mbstring php-gd php-bcmath php-ldap php-xml

 systemctl start httpd

 systemctl stop firewalld

 vim /etc/selinux/config

 setenforce 0

 [root@bogon ~]# systemctl start zabbix-server
 [root@bogon ~]# systemctl restart zabbix-server

[root@ora-test zabbix]# cat /etc/zabbix/zabbix_agentd.conf | grep -v '#'

  

PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.56.103
ServerActive=127.0.0.1
Hostname=Zabbix server
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UnsafeUserParaters=1 #要打開此值才能自定編寫默認不配置,即沒打開

 

agent成功安裝方法6.5

yum -y install http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm
yum install zabbix-agent -y

其它記錄:

修改配置文件
sed -i 's/Server=127.0.0.1/Server=172.16.8.100/' /etc/zabbix/zabbix_agentd.conf
grep -n '^Server=' /etc/zabbix/zabbix_agentd.conf 
/etc/init.d/zabbix-agent start
chkconfig zabbix-agent on
 zabbix3.2中文顯示亂碼的問題,
能夠參考http://blog.csdn.net/xiegh2014/article/details/52038536

[root@qas-zabbix include]# pwd
/var/www/html/zabbix/include
[root@qas-zabbix include]# vi defines.inc.php
#修改第93行
define('ZBX_FONT_NAME','msyh');
#修改第45行改成
define('ZBX_GRAPH_FONT_NAME','msyh')

[root@bogon core]# zabbix_get -s 192.168.56.102 -p 10050 -k "system.uptime"
1899

經常使用zabbix_get命令保存:

經常使用命令
zabbix_get
-s:zabbix agent的IP或主機名
-p:agent端口
-I:本機出去的IP,多網卡環境
-k
/usr/bin/zabbix_get -s 192.168.56.101 -k system.uname
[root@localhost zabbix]# zabbix_get -s 127.0.0.1 -k net.if.in[enp0s8,bytes]
[root@localhost zabbix]# zabbix_get -s 127.0.0.1 -k net.if.in[enp0s8,packets]
42865

cd zabbix_agentd.d
[root@ora-test zabbix_agentd.d]# more userparameter_mysql.conf | grep -v '#'
UserParameter=mysql.status[*],echo "show global status where Variable_name='$1';" | HOME=/var/lib/zabbix mysql -N | awk '{print $$2}'

 
 

UserParameter=mysql.size[*],bash -c 'echo "select sum($(case "$3" in both|"") echo "data_length+index_length";; data|index) echo "$3_length";; free) echo "data_free";; esac)) from information_schema.tables$([[ "$1" = "all" || ! "$1" ]] || echo " where table_schema=\"$1\"")$([[ "$2" = "all" || ! "$2" ]] || echo "and table_name=\"$2\"");" | HOME=/var/lib/zabbix mysql -N'

 
 

UserParameter=mysql.ping,HOME=/var/lib/zabbix mysqladmin ping | grep -c alive
UserParameter=mysql.version,mysql -V

 

windows客戶端安裝

windows 客戶機安裝
修改配置文件服務器地址和計算機名。
C:\zabbix_agents\bin\win64\zabbix_agentd.exe  -c C:\zabbix_agents\conf\zabbix_agentd.conf -i
C:\zabbix\zabbix_agents_3.0.0.win\bin\win64\zabbix_agentd.exe -c C:\zabbix\zabbix_agents_3.0.0.win\conf\zabbix_agentd.win.conf -i
C:\zabbix\zabbix_agents_3.0.0.win\bin\win64\zabbix_agentd.exe -c C:\zabbix\zabbix_agents_3.0.0.win\conf\zabbix_agentd.win.conf -s
C:\zabbix_agents\bin\win64\zabbix_agentd.exe -c C:\zabbix_agents\conf\zabbix_agentd.conf -s

客戶端經常使用命令:

配置命令
c:\zabbix\bin\win32\zabbix_agentd -c C:\zabbix\conf\zabbix_agentd.win.conf -i
-c :指定配置文件全部位置
-i :安裝客戶端
-s :啓動客戶端
-x :中止客戶端
-d :卸載客戶端
關於主機名:若是zabbix_agentd.conf配置有定義Hostname,那麼zabbix會使用這個Hostname命名,不然agent的主機名(hostname得來的)
修改metadataitem

cat /usr/local/zabbix-2.2.1/etc/zabbix_agentd.conf | grep HostMetadataItem=
HostMetadataItem=system.uname
cat /usr/local/zabbix-2.2.1/etc/zabbix_agentd.conf | grep HostMetadataItem=
HostMetadataItem=system.uname

 

安裝zabbix-manager
[root@localhost zabbix]# yum install git
[root@localhost zabbix]# git clone https://github.com/BillWang139967/zabbix_manager.git
Cloning into 'zabbix_manager'...
remote: Counting objects: 523, done.
remote: Total 523 (delta 0), reused 0 (delta 0), pack-reused 523
Receiving objects: 100% (523/523), 940.52 KiB | 159.00 KiB/s, done.
Resolving deltas: 100% (274/274), done.
[root@localhost zabbix]# pwd
/var/log/zabbix

grep -v "#" /etc/zabbix/zabbix_server.conf > config.bak

要建備份,執行:

sudo mysqldump zabbix | bzip2 -9 > dbdump.bz2 在您能夠將文件dbdump.bz2到另外一臺機器 要想從備份中進行恢復,將其傳輸到設備上並執行行 bzcat dbdump.bz2 | sudo mysql zabbix <note important>確保恢復過程當中zabbix server中止運行

配置接收通知:
接收通知的人,至少有組的Read權限1.建media,2.建用戶及對應media,3.在action中增長對應用戶,並設置相應media。

查看zabbix數據大小

select table_name,(data_length+index_length)/1024/1024 as total_mb,table_rows from information_schema.tables where table_schema='zabbix';
select * from zabbix.items

proxy安裝

Proxy 部署:
# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.ori

#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo
# rpm -qa | grep mariadb

 # yum remove mariadb-libs


安裝數據庫

 # yum install mariadb-server mairadb

安裝完成MariaDB,首先啓動MariaDB

systemctl start mariadb

設置開機啓動

systemctl enable mariadb

接下來進行MariaDB的相關簡單配置

mysql_secure_installation

首先是設置密碼,會提示先輸入密碼

Enter current password for root (enter for none):<–初次運行直接回車

設置密碼

Set root password? [Y/n] <– 是否設置root用戶密碼,輸入y並回車或直接回車
New password: <– 設置root用戶的密碼
Re-enter new password: <– 再輸入一次你設置的密碼

其餘配置

Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,回車

Disallow root login remotely? [Y/n] <–是否禁止root遠程登陸,回車,

Remove test database and access to it? [Y/n] <– 是否刪除test數據庫,回車

Reload privilege tables now? [Y/n] <– 是否從新加載權限表,回車

初始化MariaDB完成,接下來測試登陸

mysql -uroot -ppassword

完成。

yum install -y http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm  這次用的3.4.1 yum install http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
yum install -y zabbix-proxy zabbix-proxy-mysql zabbix-agent
[root@BJ01ZABBIX01 ~]# yum install zabbix-proxy-3.4.1-1 zabbix-proxy-mysql-3.4.1 zabbix-agent-3.4.1 --指定版本 mysql
-uroot -p -e "create database zabbix_proxy character set utf8 collate utf8_bin;" mysql -uroot -p -e "grant all on zabbix_proxy.* to zabbix@localhost identified by '1';" cd /usr/share/doc/zabbix-proxy-mysql-3.4.4/ gunzip < schema.sql.gz | mysql -uroot -p1 zabbix_proxy or zcat schema.sql.gz | mysql -uroot -p zabbix_proxy mysql -uroot -p1 -e"flush privileges;" cd /etc/zabbix/ cp zabbix_proxy.conf zabbix_proxy.conf.ori vi zabbix_proxy.conf ProxyMode=0 Server=192.168.73.231 zabbix-server端地址 ServerPort=10051 Hostname=Zabbix proxy #特別注意該名稱具備惟一性,和web頁面配置中"Proxy name」對應,每一個zabbix-proxy都應該具備惟一名稱。 LogFile=/var/log/zabbix/zabbix_proxy.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_proxy.pid DBHost=localhost DBName=zabbix_proxy DBUser=zabbix DBPassword=zabbix DBSocket=/var/lib/mysql/mysql.sock ConfigFrequency=60 #zabbix proxy 向服務器檢索配置數據信息的頻率,在被動模式下該參數將被忽略 DataSenderFrequency=600 #server和proxy配置修改同步時間間隔,設定5-10分鐘便可。 ExternalScripts=/usr/lib/zabbix/externalscripts vi zabbix_agentd.conf PidFile=/var/run/zabbix/zabbix_agentd.pid LogFile=/var/log/zabbix/zabbix_agentd.log LogFileSize=0 Server=192.168.73.231 zabbix-server地址 ServerActive=192.168.73.231 zabbix-server地址 Hostname=zabbix-proxy hostname名 Include=/etc/zabbix/zabbix_agentd.d/

 zabbix中經常使用到的幾個key:

1、監控端口的:net.tcp.port[,3306]
/usr/local/zabbix/bin/ -s192.168.8.120 -knet.tcp.port[,3306] 返回1爲192.168.8.120的端口3306存在,0爲不存在

2、監控進程的:proc.num[mysqld]
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[mysqld] 返回值爲192.168.8.120中mysqld的進程數量

/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -kproc.num[] 返回值爲192.168.8.120中全部的進程數量

3、查看CPU核數的:system.cpu.num 返回值爲服務器CPU的核數

4、查看系統的系統啓動時間和當前時間:system.boottime、system.localtime 返回值爲系統啓動時間和當前時間,爲時間戳格式

5、查看系統的簡單信息:system.uname 返回值爲192.168.8.120的系統信息,相似於linux系統的uname -a命令

6、查看windowns系統當前網卡的進出流量:net.if.out[{HOST.NAME},bytes]、net.if.in[{HOST.NAME},bytes]和linux系統的key:net.if.out[eth0,bytes]、net.if.in[eth0,bytes]同樣
/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.in[192.168.8.120,bytes] 返回值爲IP爲192.168.8.120的進流量,此值爲計數值,單位爲bytes,減去上次取得值,除以時間間隔爲此段時間內的平均流量

/usr/local/zabbix/bin/zabbix_get -s192.168.8.120 -knet.if.out[192.168.8.120,bytes] 返回值爲IP爲192.168.8.120的出流量,此值爲計數值,單位爲bytes,減去上次取得值,除以時間間隔爲此段時間內的平均流量

7、查看系統內存大小:vm.memory.size[total],返回值單位bytes

8、查看文件的大小: vfs.file.size[file] 如: vfs.file.size[/var/log/syslog] 返回的是/var/log/syslog的大小,單位是:bytes

9、查看文件是否存在:vfs.file.exists[file] 文件若是存在返回0,不存在返回1

10、查看文件的MD5:vfs.file.md5sum[file]查看小文件的MD5,返回爲MD5值(好像只有2.0以上的版本有這個key)

11、自動發現網卡並監控流量和自動發現分區及分區掛載狀況的兩個key:net.if.discovery,vfs.fs.discovery,windows和linux監控模板中都有這模板(2.0以上版本),應用便可

以上是經常使用的key,其實監控服務器無非就是內存、硬盤佔用、CPU負載、流量、服務器和端口等狀況。若是要監控其餘的能夠自定義key來實現,本人喜歡自定義key,寫個腳原本返回,獲得本身想要的監控結果,zabbix在這塊作的很是好,擴展性很強,支持各類腳原本實現自定義的key。

要啓用自定義key,須要在客戶端的配置文件中啓用UnsafeUserParameters=1參數,而後在配置文件的最下面來定義key,如:
UserParameter=free.disk,/usr/local/zabbix/bin/disk.py
free.disk爲key的名字,/usr/local/zabbix/bin/disk.py爲服務器端調用free.disk這個key時執行的腳本,其結果就是free.disk的返回值。腳本能夠是任何能夠運行的腳本語言。

注意:腳本要用絕對路徑,注意腳本的權限,寫的腳本返回值要儘可能簡單,這樣方便設置報警值。
相關文章
相關標籤/搜索