zabbix安裝與使用
百度百科--zabbix(音同 z?bix)是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。
zabbix的特點:
- 分布式監視以及WEB集中管理功能
- 自動發現服務器與網絡設備
- 安裝與配置簡單,學習成本低
- 免費開源
- 提供api功能,方便二次開發
- 支持多語言(包括中文)
- 可以無agent監視
- 用戶安全認證和柔軟的授權方式
- email等通知功能
主要優勢在於分布式監控,自動化功能(包括自動發現,自動註冊主機等等),提供api等
我見過使用使用zabbix做監控的較大的公司都會對zabbix進行二次開發,監控效果更好,功能更強大。
事實上zabbix的學習成本並不低,如果只是簡單的入門其實很簡單,但是想用好各個功能你需要對其有充分的了解,這可能花上你幾天的時間,而其他諸如nagios等可能只要一兩天就ok了。
本文檔使用環境:redhat 7.4
安裝zabbix的運行環境LAMP
lamp環境網上搭建的教程有很多,一鍵安裝部署的腳本也不少,這裏就不詳細介紹了。
臨時關閉selinux(永久關閉該/etc/selinux/config)
setenforce 0
設置防火墻
firewall-cmd --zone=public --permanent --add-port=80/tcp
firewall-cmd --zone=public --permanent --add-port=3306/tcp
systemctl restart firewalld
安裝httpd
yum install -y httpd
安裝mariadb
yum install -y mariadb mariadb-server
安裝php組件
yum install -y php php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
或者
yum install -y php* libjpeg*
修改httpd主配置文件
vim /etc/httpd/conf/httpd.conf
AddType application/x-httpd-php .php #添加,在原有的AddType後 AddType application/x-httpd-php-source .phps #這個是為了通用,可以不加 DirectoryIndex index.html index.htm Default.html Default.htm index.php #修改,在原有的DirectoryIndex添加查找文件類型
訪問測試
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #刪除測試頁面
添加測試頁面
cat > /var/www/html/index.php << EOF
<?php
phpinfo();
?>
EOF
啟動httpd
systemctl restart httpd
訪問測試
訪問IP可以看到php測試頁面
修改mariadb
cp /usr/share/mysql/my-huge.cnf /etc/my.cnf #生成主配置文件
mysql用戶創建、授權、密碼設置
mysql -e "grant all on *.* to root@localhost identified by ‘123456‘"
mysql -e "flush privileges"
啟動mariadb
systemctl restart mariadb
創建測試數據
mysql -uroot -p‘123456‘ -e ‘create table test.test(id int,name varchar(10))‘
mysql -uroot -p‘123456‘ -e "insert into test.test values (1,‘tom‘)"
修改測試頁面
cat >/var/www/html/index.php << EOF
<?php
$link = mysql_connect(‘localhost‘,‘root‘,‘123456‘);
mysql_select_db(‘test‘,$link);
mysql_query(‘set name utf-8‘);
$query_sql = "select * from test";
$result = mysql_query($query_sql);
$data = array();
while ($row = mysql_fetch_assoc($result )){
$data[] = $row;
}
echo "<pre>";
print_r($data);
?>
EOF
安裝zabbix
官方文檔:https://www.zabbix.com/documentation/3.4/zh/manual/installation/install
下載地址:https://www.zabbix.com/download
本文所有源碼安裝
tar axf zabbix-3.2.11.tar.gz
安裝依賴包
yum instsall -y libxml2* net-snmp net-snmp-devel libcurl libcurl-devel
創建用戶
groupadd zabbix
useradd -g zabbix -s /sbin/nologin zabbix
編譯安裝
cd zabbix-3.2.11
./configure --prefix=/usr/local/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
make install
安裝完成後會生成如下四個文件,如果編譯時選擇--enable-proxy還會生成zabbix_proxy
配置zabbix server端
創建zabbix數據庫用戶和表,並導入源數據
mysql -uroot -p123456 -e ‘create database zabbix CHARACTER SET utf8 COLLATE utf8_bin‘
mysql -uroot -p123456 -e ‘grant all on zabbix.* to zabbix@localhost identified by "123456"‘
mysql -uzabbix -p123456 zabbix -e "source /usr/local/zabbix-3.2.11/database/mysql/schema.sql"
mysql -uzabbix -p123456 zabbix -e "source /usr/local/zabbix-3.2.11/database/mysql/images.sql"
mysql -uzabbix -p123456 zabbix -e "source /usr/local/zabbix-3.2.11/database/mysql/data.sql"
主配置文件
/usr/local/etc/zabbix_server.conf
添加數據庫連接信息(線上建議不要使用root,庫最好創建單獨的,用戶進行權限控制)
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123456
DBSocket=/var/lib/mysql/mysql.sock
啟動zabbix-server(默認監聽端口10051)
zabbix_server
設置防火墻
firewall-cmd --zone=public --permanent --add-port=10051/tcp
systemctl reload firewalld
復制php文件
mkdir /var/www/html/zabbix
cp -r /usr/local/zabbix-3.2.11/frontends/php/* /var/www/html/zabbix/
web頁面安裝
IP/zabbix
修改php配置(按報錯信息修改即可,可以按自己需求調大參數)
vi /etc/php.ini
post_max_size = 16M
max_execution_time = 300
max_input_time = 300
重啟httpd
systemctl restart httpd
繼續上web頁面操作
數據庫連接設置
zabbix server設置
如果這裏有報錯就按他幫助信息幹
或者
cp zabbix.conf.php.example zabbix.conf.php
然後修改裏面對應的設置。
登錄
初始用戶/密碼為:Admin/zabbix
修改admin密碼、設置語言、禁止匿名用戶
點擊Admin
禁止匿名用戶
參考文檔:
官方文檔:https://www.zabbix.com/documentation/3.4/zh/manual/installation/install
zabbix安裝與使用