Zabbix監控系統
安裝配置Zabbix監控系統
1.安裝好LNMP或者LAMP架構(yum安裝幾乎不會出現下面一些報錯,這裏我是用的源碼編譯安裝搭建的LAMP框架,源碼編譯安裝LAMP可以去看我前面的文章)
yum -y install httpd mysql-server mysql mysql-devel php php-mysql
2.配置php的配置文件
vim /etc/php.ini
date.timezone = "Asia/Shanghai"
max_execution_time = 300
post_max_size = 32M
max_input_time = 300
memory_limit = 128M
mbstring.func_overload = 2
always_populate_raw_post_data = -1
3.創建zabbix用戶和zabbix日誌文件和配置文件存放目錄
groupadd zabbix
useradd -g zabbix zabbix -s /sbin/nologin
mkdir /etc/zabbix/logs /etc/zabbix
chown zabbix.zabbix /etc/zabbix/logs
4.安裝zabbix需要的依賴包
yum -y install gcc ggc-c++ autoconf httpd-manual mode_ssl mode_perl mode_auth_mysql php-gd php-xml php-pear php-xmlrpc mysql-connector-connector-odbc libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel java-devel openldap openldap-devel php-pdo ncurses-devel mysql-devel mysql-share
yum -y install OpenIPMI OpenIPMI-devel OpenIPMI-libs php-bcmath php-mbstring
5.編譯安裝zabbix
tar zxf zabbix-4.0.20.tar.gz
cd zabbix-4.0.20
./configure --prefix=/usr/local --sysconfdir=/etc/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --enable-java
make && make install
補充:會遇到的報錯問題,及解決方法
報錯:configure: error: Not found mysqlclient library
解決方法:yum -y install mysql-devel mysql-share
報錯:configure: error : Not found NET-SNMP library
解決方法:yum -y install net-snmp-devel
6.創建zabbix服務
複製軟件包裏的服務工具
cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
chmod 755 /etc/init.d/zabbix_*
7.修改zabbix服務端配置文件
vim /etc/zabbix/zabbix_server.conf
LogFile=/etc/zabbix/logs/zabbix_server.log #日誌文件位置
DBHost=localhost #數據庫主機ip
DBName=zabbix #數據庫名字
DBUser=zabbix #數據庫用戶
DBPassword=zabbix #數據庫的密碼
DBSocket=/var/lib/mysql/mysql.sock
DBPort=3306 #數據庫端口
8.創建配置zabbix_agentd服務端服務
vim /etc/zabbix/zabbix_agentd.conf
LogFile=/etc/zabbix/logs/zabbix_agentd.log #日誌文件位置
Server=127.0.0.1 #服務端IP地址,如不在本地這需填寫遠程地址
ServerActive=127.0.0.1:10051 #服務端服務端IP地址及端口
Hostname=super.renjie.vip #主機名
UnsafeUserParameters=0 #不啓用自定義腳本功能,開啓則爲1
Include=/etc/zabbix_agentd.conf.d/ #定義agentd配置文件位置
9.建立zabbix的數據庫
mysql -uroot -p123456
mysql> create database zabbix character set utf8 collate utf8_bin;(這一步如果直接創建數據庫沒有加上utf8編碼的話,後面登錄數據庫可能也會出現問題)
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> exit
導入安裝包裏的數據庫
mysql -uzabbix -pzabbix zabbix < /my/zabbix/database/mysql/schema.sql
mysql -uzabbix -pzabbix zabbix < /my/zabbix/database/mysql/images.sql
mysql -uzabbix -pzabbix zabbix < /my/zabbix/database/mysql/data.sql
注意:導入的順序不要變
10.完成zabbix的web頁面配置部署
複製安裝包裏的php部署頁面到apache網站頁面的目錄下
cp -rf /my/zabbix/frontends/php/ /usr/local/httpd/htdocs/zabbix
chown -R apache:apache /usr/local/httpd/htdocs/zabbix/
注意:這裏要看你的httpd.conf配置文件中的user和group組是什麼
11.訪問網頁進入到zabbix的web頁面(如下圖,初次先進行安裝)
解決Check of pre-requisites步驟一系列錯誤(主要針對源碼編譯安裝搭建的LAMP或者LNMP框架)
問題一:PHP mbstring off Fail
這個只需要重新編譯php加上mbstring模塊就行
--enable-mbstring選項是添加該模塊
問題二:PHP bcmath off Fail
這個只需要重新編譯php加上mbstring模塊就行
--enable-mbstring選項是添加該模塊
問題三:PHP sockets off Fail
這個只需要重新編譯php加上sockets模塊就行
--enable-sockets 選項是添加該模塊
問題四:PHP gd FreeType support off Fail
wget https://download.savannah.gnu.org/releases/freetype/freetype-2.4.0.tar.gz
tar zxf freetype-2.4.0.tar.gz
cd freetype-2.4.0
mkdir -p /usr/local/include/freetype2/freetype/internal
./configure --prefix=/usr/local/freetype --enable-static --enable-shared
make && make install
然後到下載的解壓出來的php目錄下重新編譯安裝
--with-freetype-dir=選項是指定你安裝的目錄我這裏安裝的目錄是/usr/local/freetype/
./configure --prefix=/usr/local/php5 --with-mcrypt --with-apxs2=/usr/local/httpd/bin/apxs --with-gd --with-curl --with-zlib --with-zlib-dir --with-mysqli --with-mysql=/usr/local/mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm --enable-bcmath --enable-sockets --enable-shared --with-jpeg-dir --with-png-dir --with-gettext --with-freetype-dir=/usr/local/freetype/
make && make install
注意:這裏添加的模塊,少了也會有錯誤,就不能支持zabbix的要求(我這裏是源碼編譯安裝搭建的LAMP架構,如果是yum安裝搭建的LAMP直接下載少了的依賴包就好)
其他問題:注意我第二部的php配置文件的修改也會在Check of pre-requisites步驟中出現fail去修改一下php配置文件就行
安裝步驟完成之後(如下圖所示)
12.啓動server和agentd服務
service zabbix_server start
service zabbix_agentd start
如果出現報錯(如下圖所示)
說明放日誌的目錄的權限不夠
解決方法:chmod 775 /etc/zabbix/logs
13.查看端口號是否正常開啓:netstat -anpt |grep zabbix
如果沒有正常開啓則查看zabbix_server.log或zabbix_agentd.log日誌文件
如果出現以下報錯(下圖所示)
解決方法
mkdir /var/lib/mysql
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
service mysqld restart
zabbix_agentd代理程序的安裝(這裏我就不詳細講解了,配置參數會跟上面有所不同)
在別的服務端安裝這個程序可以增加監控的對象,可以在需要監控的服務器上安裝這個代理程序
useradd -s /sbin/nologin -M zabbix
mkdir /var/log/zabbix /etc/zabbix
chown zabbix.zabbix /var/log/zabbix/
tar zxf zabbix-4.0.20.tar.gz
cd zabbix-4.0.20
./configure --prefix=/usr/local/zabbix --sysconfdir=/etc/zabbix --enable-agent
make && make install
cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
chmod 755 /etc/init.d/zabbix_agentd
vim /etc/zabbix/zabbix_agentd.conf
LogFile=/var/log/zabbix/zabbix_agentd.log
Server=127.0.0.1,192.168.11.25 #寫服務端ip和本地代理程序ip
ServerActive=192.168.11.25:10051 #這裏寫服務端ip和端口
UnsafeUserParameters=1
ln -s /usr/local/zabbix/sbin/zabbix_agentd /usr/local/sbin
service zabbix_agentd start
補充:啓用中文界面以及解決zabbix中文亂碼
yum groupinstall "Chinese Support"
先把中文字體文件.TTF文件下下來複制到zabbix網頁目錄的fonts目錄下,然後修改defines.inc.php文件參數
在Windows上的C:\Windows\Fonts\目錄中就有你可以去你的電腦上拖到zabbix服務器上
find /usr/local/httpd/htdocs/zabbix/ -name "fonts"
mv /root/MSYH.TTC /usr/local/httpd/htdocs/zabbix/assets/fonts/msyh.ttf
chmod 777 /usr/local/httpd/htdocs/zabbix/assets/fonts/msyh.ttf
vim /usr/local/httpd/htdocs/zabbix/include/defines.inc.php
sed -i 's/DejaVuSans/msyh/g' /usr/local/httpd/htdocs/zabbix/include/defines.inc.php
然後就可以查看你監控的服務器CPU、磁盤情況等等等等你想要監控的項目(如下圖所示)
這個是監控磁盤佔用和空閒
這個是監控cpu使用情況
還有很多功能包括web檢測各種服務檢測等