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的返回值。腳本能夠是任何能夠運行的腳本語言。 注意:腳本要用絕對路徑,注意腳本的權限,寫的腳本返回值要儘可能簡單,這樣方便設置報警值。