本次搭建環境為centos6.8
1、關閉selinux(必須要關,否則可能訪問不了)
setenforce 0 臨時生效
修改配置文件/etc/sysconfig/selinux
2、安裝mysql(最好5.6以上)
rpm -ivh http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
yum -y install mysql-server
yum list installed | grep mysql 發現所有mysql相關都為5.6
修改mysql配置文件/etc/my.cnf,在[mysqld]中添加innodb_file_per_table=1
/etc/init.d/mysqld start 開啟mysql服務
mysql 登錄mysql,默認沒有密碼,進去后設定root密碼
set password = password('123456');
創建zabbix表,創建zabbix用戶并授權
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
GRANT ALL PRIVILEGES ON zabbix.* TO zabbix@localhost IDENTIFIED BY '123456';
3、安裝php(必須5.4或以上)和apache
rpm -ivh http://repo.webtatic.com/yum/el6/latest.rpm
yum -y install httpd php56w php56w-gd php56w-mysql php56w-bcmath php56w-mbstring php56w-xml php56w-ldap
創建文件/etc/httpd/conf.d/zabbix.conf
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 always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
修改apdche配置文件
vim /etc/httpd/conf/httpd.conf
ServerName 127.0.0.1
DirectoryIndex index.html index.html.var index.php
/etc/init.d/httpd start 啟動http服務
4、打開防火墻80端口或者關閉防火墻
iptables -I INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
/etc/init.d/iptables save
5、創建zabbix用戶
groupadd zabbix
useradd -g zabbix zabbix
6、安裝zabbix
安裝依賴包
yum -y install gcc mysql-community-devel libxml2-devel unixODBC-devel net-snmp-devel libcurl-devel libssh2-devel OpenIPMI-devel openssl-devel openldap-devel
下載zabbix源碼包,本次下載路徑在/下
wget http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/3.0.4/zabbix-3.0.4.tar.gz
tar -zxvf zabbix-3.0.4.tar.gz
將數據庫文件導入zabbix庫中,每次導入時需輸入數據庫root密碼
cd /zabbix-3.0.4/database/mysql/
mysql -uroot -hlocalhost -p zabbix <schema.sql
mysql -uroot -hlocalhost -p zabbix <images.sql
mysql -uroot -hlocalhost -p zabbix <data.sql
編譯安裝zabbix
cd /zabbix-3.0.4
./configure --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp -with-libcurl --with-libxml2 --with-unixodbc --with-ssh2 --with-openipmi --with-openssl --prefix=/usr/local/zabbix
make install
修改zabbix_server的配置文件
vim /usr/local/zabbix/etc/zabbix_server.conf
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixpass
創建新的網頁文件目錄,并拷貝php文件到該目錄下
mkdir /var/www/html/zabbix
cd /root/zabbix-3.0.4/frontends/php/
cp -a . /var/www/html/zabbix/
修改網頁文件目錄的所有者權限
chown -R apache:apache /var/www/html/zabbix
chmod +x /var/www/html/zabbix/conf/
添加Zabbix服務器和Zabbix代理啟動腳本,設置開機啟動
cp /zabbix-3.0.4/misc/init.d/fedora/core/zabbix_server /etc/init.d/zabbix_server
cp /zabbix-3.0.4/misc/init.d/fedora/core/zabbix_agentd /etc/init.d/zabbix_agentd
chkconfig --add /etc/init.d/zabbix_server
chkconfig --add /etc/init.d/zabbix_agentd
chkconfig httpd on
chkconfig mysqld on
chkconfig zabbix_server on
chkconfig zabbix_agentd on
修改啟動路徑
vim /etc/init.d/zabbix_server
BASEDIR=/usr/local/zabbix
vim /etc/init.d/zabbix_agentd
BASEDIR=/usr/local/zabbix
開啟zabbix服務
/etc/init.d/zabbix_server start
/etc/init.d/zabbix_agentd start
這時用與本機可互通的計算機的瀏覽器便可訪問該主機的zabbix安裝頁面,進一步進行安裝
http://192.168.137.2/zabbix
需要zabbix監控的服務器只安裝zabbix_agent即可,然后修改配置文件調整主被動模式,開啟zabbix_agent服務即可通過zabbix添加和監控該服務器,方法見排錯1
#####################排錯########################
這時已經可以通過web來訪問zabbix服務證明基本服務框架已經部署完畢,但是創建主機后發現服務端和被監控端連接不通,通過排錯后發現問題:
1、未配置zabbix_agentd.conf文件,這個文件中可指定監控的模式(主動、被動)
在該文件中Passive checks related和Active checks related標題字段后定義了agent采用的監控模式
在該文件中添加如下字段:(Server和ServerActive添加一個即可)
Server=192.168.137.2 指定處于被動模式哪臺服務器拉取agent端的數據
ServerActive=192.168.137.2 指定處于主動模式將信息推送到哪臺主機
Hostname=hostname(改主機名寫被監控主機的名字,或者改成被監控主機ip地址)
2、網頁調成中文模式會有一些亂碼或者文字無法正常顯示,這是zabbix的字體問題,解決方法如下:
從windows中拷貝一個字體文件,位置在C:\Windows\Fonts,然后看該文件后綴是否為小寫的ttf,不是的話改成
小寫。然后將該文件放到zabbix在web服務中的存放字體的文件夾中,本次實驗位置為/var/www/html/zabbix/fonts
之后修改配置文件/var/www/html/zabbix/include/defines.inc.php
define('ZBX_FONT_NAME','字體文件名');
define('ZBX_GRAPH_FONT_NAME','字體文件名');
修改好這些后直接刷新web頁面即可看到字體已可以正常顯示
3、可自定義簡單的監控腳本
在zabbix_agent配置文件中添加新條目(一般可在zabbix_agentd.d下新建配置條目,方便管理),本次試驗如下:
在zabbix_agent服務器上:
mkdir -p /etc/zabbix/scripts 創建存放檢測腳本的目錄
vi /etc/zabbix/scripts/nginx_conn.sh 創建檢測腳本,功能為刪選出連接本機nginx服務的ip個數,注意引用了位置變量
#!/bin/bash
key=$1
case "$key" in
"ESTABLISHED")
netstat -nt|grep ESTABLISHED|grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}:(443\s+|80\s+)'|awk '{print $5}'|awk -F ":" '{print $1}'|sort|uniq -c|wc -l
;;
"TIME_WAIT")
netstat -nt|grep TIME_WAIT|grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}:(443\s+|80\s+)'|awk '{print $5}'|awk -F ":" '{print $1}'|sort|uniq -c|wc -l
;;
"CLOSE_WAIT")
netstat -nt|grep CLOSE_WAIT|grep -E '([0-9]{1,3}\.){3}[0-9]{1,3}:(443\s+|80\s+)'|awk '{print $5}'|awk -F ":" '{print $1}'|sort|uniq -c|wc -l
;;
esac
vi /etc/zabbix/zabbix_agentd.d/userparameter_nginx_conn.conf 創建zabbix引用檢測腳本的配置文件
UserParameter=nginx_conn[*],/etc/zabbix/scripts/nginx_conn.sh $1 固定格式
UserParameter 規定名稱
nginx_conn[*] 自定議鍵值名稱,[*]表示吧[]內所有參數安順序傳遞給后續腳本位置變量
/etc/zabbix/scripts/nginx_conn.sh $1 剛才創建的腳本路徑和位置變量個數定義
/etc/init.d/zabbix-agent restart 重啟zabbix_agent客戶端服務,這時客戶端的操作完畢
在zabbix監控網頁上:
配置--主機--監控項 在剛才的主機上新建自定義的監控項
監控項--鍵值 這里寫nginx_conn[CLOSE_WAIT],證明使用nginx_conn鍵值,把CLOSE_WAIT傳入腳本的第一個位置變量
添加使用zabbix監控msyql模板教程網站:
https://www.cnblogs.com/kevingrace/p/5618342.html