Zabbix監控安裝部署

RedCompu93發表於2018-11-13

一、安裝Zabbix部署所需依賴包

#yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre* make
#yum -y install gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel
#yum -y install freetype-devel net-snmp-devel
#yum -y install cmake gcc* ncurses-devel

二、安裝nginx

#useradd nginx
#tar zxvf nginx-1.9.15.tar.gz && cd nginx-1.9.15
#./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre
#make && make install

三、安裝PHP

1.編譯安裝PHP

#tar zxvf php-5.5.35.tar.gz && cd php-5.5.35
#./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath
#make && make install
#cp php.ini-production /usr/local/php/etc/php.ini
#cd /usr/local/php/etc/
#cp php-fpm.conf.default php-fpm.conf

2.編輯/usr/local/php/etc/php.ini(zabbix環境需要修改的引數)

max_execution_time = 300  
memory_limit = 128M  
post_max_size = 16M  
upload_max_filesize = 2M  
max_input_time = 300  
date.timezone = “Asia/Shanghai”

四、安裝Mysql

1.編譯安裝mysql

#groupadd mysql
#mkdir -p /usr/share/mysql/data
#useradd -r -g mysql -d /usr/share/mysql/data -s /sbin/nologin mysql
#chown -R mysql.mysql /usr/share/mysql/data
#tar zxvf mysql-5.5.49.tar.gz && cd mysql-5.5.49
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/usr/share/mysql/data -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci
#make && make install
#chown -R mysql.mysql /usr/local/mysql
#cd /usr/local/mysql/support-files/
#cp my-medium.cnf /usr/share/mysql/data/my.cnf
#cp mysql.server /etc/init.d/mysqld
#chmod +x /etc/init.d/mysqld
#cd /usr/local/mysql/scripts
#./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/share/mysql/data

2.編輯/usr/share/mysql/data/my.cnf

datadir = /usr/share/mysql/data

3.啟動mysql服務

#/etc/init.d/mysqld

4.登入資料庫,建立zabbix資料庫及使用者名稱和密碼:

mysql> create database zabbix default charset utf8;
Query OK, 1 row affected (0.00 sec)   
mysql> grant all privileges on zabbix.* to zabbix@'localhost' identified by '123456';
Query OK, 0 rows affected (0.03 sec)   
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)     
mysql> show databases;

5.建立資料庫root使用者密碼:

#mysqladmin -uroot password "123456"

五、安裝zabbix server

1.編譯安裝zabbix server

#tar zxvf zabbix-3.0.0.tar.gz && cd zabbix-3.0.0
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2
#make && make install
#groupadd zabbix
#useradd -r -g zabbix -s /sbin/nologin zabbix
#mysql -uroot -p123456 zabbix < database/mysql/schema.sql
#mysql -uroot -p123456 zabbix < database/mysql/images.sql
#mysql -uroot -p123456 zabbix < database/mysql/data.sql
#mkdir /usr/share/data/web/zabbix -p
#mkdir /usr/share/data/logs/zabbix -p
#cp -rp frontends/php/* /usr/share/data/web/zabbix/
#mkdir /usr/local/nginx/conf/extra

2.編輯/usr/local/nginx/conf/extra/zabbix.conf

3.編輯/usr/local/nginx/conf/nginx.conf

4.編輯/usr/local/zabbix/etc/zabbix_server.conf

LogFile=/tmp/zabbix_server.log   
PidFile=/tmp/zabbix_server.pid   
DBHost=localhost   
DBName=zabbix   
DBUser=zabbix   
DBPassword=123456

5.建立軟連結

#ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

6.下載zabbix.conf.php上傳到/usr/share/data/web/zabbix/conf

7.修改檔案屬主和屬組

#chown zabbix.zabbix zabbix.conf.php

六、啟動相關服務

1.啟動nginx服務

#/usr/local/nginx/sbin/nginx

2.啟動php服務

#/usr/local/php/sbin/php-fpm

3.啟動zabbix_server服務

/usr/local/zabbix/sbin/zabbix_server

七、WEB端配置zabbix

 

 

八、修改admin登入密碼(在忘記admin密碼的情況下,初始密碼為zabbix)

1.echo -n 123456|openssl md5

2.mysql -uroot -p123456

九、zabbix漢化

1.編輯/usr/share/data/web/zabbix/include/locales.inc.php

'zh_CN' => ['name' => _('Chinese (zh_CN)'), 'display' => true],

2.編輯/usr/share/data/web/zabbix/include/defines.inc.php

將DejaVuSans替換成simkai,並將/usr/share/data/web/zabbix/fonts/DejaVuSans.ttf移走。

十、Zabbix agent部署

1.安裝zabbix agent

#tar zxvf zabbix-3.0.0.tar.gz
#cd zabbix-3.0.0
#./configure --prefix=/usr/local/zabbix --enable-agent
#make && make install
#groupadd zabbix
#useradd -g zabbix zabbix
#chown -R zabbix.zabbix /usr/local/zabbix

2.編輯/usr/local/zabbix/etc/zabbix_agentd.conf

PidFile=/tmp/zabbix_agentd.pid
LogFile=/tmp/zabbix_agentd.log
Server=192.168.11.11
ServerActive=192.168.11.11
Hostname=gzyk_ZabbixAgent_192.168.11.66
User=zabbix

3.啟動zabbix agent服務

#/usr/local/zabbix/sbin/zabbix_agentd

十一、開啟JMX監控weblogic或tomcat

1. 監控weblogic

1) 如果是監控weblogic的adminserver,編輯setDomainEnv.sh,在檔案末尾加入如下內容:

JAVA_OPTIONS="${JAVA_OPTIONS} -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.rmi.port=12345 -Djava.rmi.server.hostname=192.168.11.66"

然後重啟weblogic 

2) 如果是監控受管伺服器:進入weblogic控制檯->環境->伺服器->”你新增的伺服器”->配置->伺服器啟動。在“引數”的輸入框內輸入:

-Dcom.sun.management.jmxremote.port=12345    -Djava.rmi.server.hostname=192.168.11.66 -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false -Djavax.management.builder.initial=weblogic.management.jmx.mbeanserver.WLSMBeanServerBuilder

如下圖所示:

最後,進入weblogic控制檯->域->配置->一般資訊->高階,啟用“啟用平臺MBean伺服器”和“已使用平臺MBean伺服器”。

然後重啟AdminServer和受管伺服器。

2. 監控Tomcat

1)下載catalina-jmx-remote.jar

#wget -O /opt/apache-tomcat-6.0.44_9000/lib/catalina-jmx-remote.jar 

2)修改tomcat的catalina.sh

在客戶端tomcat的catalina.sh中“# ----- Execute The Requested Command ----”下面新增

export CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djavax.management.builder.initial= -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.rmi.port=12345 -Djava.rmi.server.hostname=192.168.11.66"

port:和zabbix頁面設定的監控埠保持一直,預設12345;

hostname:當前tomcat所在伺服器IP或主機名。

Windows下tomcat

set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote=true
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.authenticate=false
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.ssl=false
set CATALINA_OPTS=%CATALINA_OPTS% -Djavax.management.builder.initial=
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.port=12345
set CATALINA_OPTS=%CATALINA_OPTS% -Dcom.sun.management.jmxremote.rmi.port=12345
set CATALINA_OPTS=%CATALINA_OPTS% -Djava.rmi.server.hostname=192.168.11.66

3. 用工具測試

下載 ,在zabbix-server伺服器測試:

#java -jar jmxcmd.jar – 82.12.72.82:12345 java.lang:type=Memory NonHeapMemoryUsage

若不報錯,則在zabbix WEB頁面新增監控 

十二、監控oracle

orabbix是用來監控oracle的一個小外掛,不需要安裝,解壓即可使用。orabbix模擬java程式,訪問oracle某個使用者,建立連線,透過執行sql的形式查詢當前資料庫的使用情況。

1.建立一個新使用者,zabbix/zabbix,需要給予查詢許可權,具體許可權如下(不給DBA許可權):

CREATE USER ZABBIX
 IDENTIFIED BY zabbix
 DEFAULT TABLESPACE TS_DAT_AYGL
 TEMPORARY TABLESPACE TEMP
 PROFILE DEFAULT
 ACCOUNT UNLOCK;
 GRANT CONNECT TO ZABBIX;
 GRANT RESOURCE TO ZABBIX;
 ALTER USER ZABBIX DEFAULT ROLE ALL;
 GRANT SELECT ANY TABLE TO ZABBIX;
 GRANT CREATE SESSION TO ZABBIX;
 GRANT SELECT ANY DICTIONARY TO ZABBIX;
 GRANT UNLIMITED TABLESPACE TO ZABBIX;
 GRANT SELECT ANY DICTIONARY TO ZABBIX;

除了建立使用者之外,如果監控目標為oracle11g,則還需要執行兩個sql(這個sql可以不在zabbix使用者下執行,可以再其他有許可權執行的使用者下執行):

exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description =>'resolve acl', principal =>'ZABBIX', is_grant => true, privilege =>'resolve');
exec dbms_network_acl_admin.assign_acl(acl=> 'resolve.xml', host =>'*');
commit;

2.全部執行完畢後,需要測試下,看是否能夠查詢到資料,執行下面語句:

select utl_inaddr.get_host_name('127.0.0.1') from dual;

能夠執行不報錯,即說明zabbix使用者建立沒問題

3.上傳安裝包,這裡我們將解壓後的檔案放在/usr/local/orabbix下,首先賦權(兩個檔案),然後修改配置檔案,這裡需要修改4個配置檔案,具體如下:

#cd /usr/local/orabbix
#chmod 750 run.sh init.d/orabbix

4.編輯init.d/orabbix,並將init.d/orabbix複製到/etc/init.d目錄下

orabbix=/usr/local/orabbix  (修改成orabbix解壓的路徑)

5.編輯run.sh

/usr/local/java/sunjava6_64/bin/java -Duser.language=en -Duser.country=US -Dlog4j.configuration=./conf/log4j.properties -cp $(for i in lib/*.jar ; do echo -n $i: ; done).:./orabbix-1.2.3.jar com.smartmarmot.orabbix.bootstrap start ./conf/config.props &

6.複製一份config.props

#cp conf/config.props.sample conf/config.props

7.編輯conf/config.props檔案

ZabbixServerList=ZabbixServer1
ZabbixServer1.Address=192.168.11.11
ZabbixServer1.Port=10051
OrabbixDaemon.PidFile=./logs/orabbix.pid
OrabbixDaemon.Sleep=300
OrabbixDaemon.MaxThreadNumber=100
DatabaseList=gzyk_ZabbixAgent_192.168.11.3
DatabaseList.MaxActive=10
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1
gzyk_ZabbixAgent_192.168.11.3.Url=jdbc:oracle:thin:@192.168.11.3:1521:jxgzyuyk
gzyk_ZabbixAgent_192.168.11.3.User=zabbix
gzyk_ZabbixAgent_192.168.11.3.Password=zabbix
gzyk_ZabbixAgent_192.168.11.3.MaxActive=10
gzyk_ZabbixAgent_192.168.11.3.MaxWait=100
gzyk_ZabbixAgent_192.168.11.3.MaxIdle=1
gzyk_ZabbixAgent_192.168.11.3.QueryListFile=./conf/query.props

8.啟動服務

#service orabbix start

十三、zabbix升級

1.下載zabbix-3.2.6原始碼包並解壓安裝

#tar zxvf zabbix-3.2.6.tar.gz
#cd zabbix-3.2.6
#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql --with-net-snmp --with-libcurl --with-libxml2
#make && make install

2.替換原先的PHP頁面檔案(找到自己存放php頁面的目錄)

#cp -rp /root/zabbix_packages/zabbix-3.2.6/frontends/php/* /usr/share/data/web/zabbix/

3.將備份的zabbix.conf.php複製一份到/usr/share/data/web/zabbix/conf目錄下

#cp -p zabbix.conf.php /usr/share/data/web/zabbix/conf/

4.將備份的/usr/local/zabbix/etc下的所有檔案覆蓋現在/usr/local/zabbix/etc目錄下的所有檔案

#cp -fr /usr/local/zabbix3.0/etc/* /usr/local/zabbix/etc/

5.啟動相關服務並檢視日誌是否有報錯

#/usr/local/zabbix/sbin/zabbix_server
#/usr/local/zabbix/sbin/zabbix_agentd
#/usr/local/zabbix/sbin/zabbix_java/startup.sh

6.修改/usr/share/data/web/zabbix/include/defines.inc.php(重新漢化)


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31541436/viewspace-2158456/,如需轉載,請註明出處,否則將追究法律責任。

相關文章