安裝服務器端包,其中mysql,web可分開爲單獨的服務器
[root@node9 zabbix]# yum -y install zabbix-server-2.0.8-3.el6.x86_64.rpm zabbix-2.0.8-3.el6.x86_64.rpm zabbix-get-2.0.8-3.el6.x86_64.rpm zabbix-server-mysql-2.0.8-3.el6.x86_64.rpm zabbix-web-mysql-2.0.8-3.el6.noarch.rpm zabbix-web-2.0.8-3.el6.noarch.rpm php-bcmath-5.3.3-26.el6.x86_64.rpm php-mbstring-5.3.3-26.el6.x86_64.rpm
安裝mysql
[root@node9 zabbix]# yum -y install mysql-server mysql
[root@node9 zabbix]# service mysqld start
mysql創建數據庫和授權
mysql> create database zabbix;
mysql> grant all on zabbix.* to [email protected] identified by 'redhat';
mysql> flush privileges;
把zabbix-server-mysql生成的數據庫導入msyql的zabbix庫
[root@node9 create]# mysql zabbix < schema.sql
[root@node9 create]# mysql zabbix < p_w_picpaths.sql
[root@node9 create]# mysql zabbix < data.sql
[root@node9 create]# pwd
/usr/share/doc/zabbix-server-mysql-2.0.8/create
編輯配置文件,修改DBname,DBpass,DBuser
[root@node9 zabbix]# vim zabbix_server.conf
DBUser=zabbix
DBPassword=redhat
DBName=zabbix
DBHost=127.0.0.1
改php配置文件
date.timezone = Asia/Shanghai
啓動服務
[root@node9 zabbix]# service httpd start
[root@node9 zabbix]# service zabbix-server start
在瀏覽器訪問
http://192.168.100.9/zabbix
配置連接數據庫,test ok,才能下一步
登錄,默認用戶密碼 admin zabbix
啓用中文支持,建議在server上安裝中文的包,不然有的地方有???這樣的
配置被監控端(agent)
安裝包
[root@node2 tmp]# yum -y install zabbix-2.0.8-3.el6.x86_64.rpm zabbix-agent-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm
編輯配置文件
# vim zabbix_agentd.conf
Server=192.168.100.25
ServerActive=192.168.100.25
啓動服務
# service zabbix-agent start
------------------
配置監控mysql主從複製
1,授權zabbix-agent帳號
mysql> grant replication client on *.* to zabbix@'127.0.0.1' identified by 'redhat';
flush privileges;
2,修改/etc/zabbix/.my.cnf
[mysql]
user = zabbix
host = localhsot
password = redhat
socket = /var/lib/mysql/mysql.sock
[mysqladmin]
user = zabbix
host = localhsot
password = redhat
socket = /var/lib/mysql/mysql.sock
3,修改/etc/zabbix/zabbix_agent.d/userparameter_mysql.conf
把HOME=/var/lib/zabbix改爲HOME=/etc/zabbix
4,寫一個userparameter
UserParameter=mysql.repli,echo "show slave status\G"|HOME=/etc/zabbix mysql|awk '/Slave/{print }'|grep -c 'Yes'
5,重啓服務
service zabbix-agent restart
6,定義項目
7,定義觸發器
8,定義一個示警媒介
9,定義用戶
要定義一個受郵件的地址,不然會收不到信息
10,定義動作/條件/操作
動作:相當於郵件內容
條件:什麼時候,比如要不再維護期
操作:從第幾步到第幾步給誰發信息
主要定義報警升級的
主要是郵件內容是什麼
這個基本不用改,表示只要有問題就報警
測試
我們把mysql的io_thread停掉
mysql> stop slave io_thread;
Query OK, 0 rows affected (0.00 sec)
查看狀態
我試了好幾回所以狀態比較多,可以看到正在作業中,就是在發郵件
看是否郵件
U 3 [email protected] Thu Jun 12 00:14 23/1010 "PROBLEM: mysql replication fail"
U 4 [email protected] Thu Jun 12 00:15 23/1001 "OK: mysql replication fail"
U 5 [email protected] Thu Jun 12 00:15 23/1010 "PROBLEM: mysql replication fail"
Message 5:
From [email protected] Wed Jun 11 23:49:51 2014
Return-Path: <[email protected]>
X-Original-To: root@localhost
Delivered-To: [email protected]
From: <[email protected]>
To: <[email protected]>
Date: Wed, 11 Jun 2014 23:49:51 +0800
Subject: PROBLEM: mysql replication fail
Content-Type: text/plain; charset="UTF-8"
Status: RO
----------------------------
其他的條目可以自己寫,也可以用默認的挺好的
定義多個screen,兩行兩列,表示能顯示四幅圖
11,定義發現
先去配置一個新的agent
[root@node3 ~]# ls
anaconda-ks.cfg install.log.syslog zabbix-agent-2.0.8-3.el6.x86_64.rpm
install.log zabbix-2.0.8-3.el6.x86_64.rpm zabbix-sender-2.0.8-3.el6.x86_64.rpm
[root@node3 ~]# yum -y install *.rpm
# vim zabbix_agentd.conf
Server=192.168.100.25
ServerActive=192.168.100.25
[root@node3 ~]# ss -anl|grep 10050
LISTEN 0 128 :::10050 :::*
LISTEN 0 128 *:10050 *:*
先創建一個發現
定義一個發現動作
---------------------
web監控
配置一臺web
yum -y install httpd
echo 'ok' >/var/www/html/test.html
service httpd start
1,新建一個應用合集
2,創建web方案
3,查看
4,爲web監控創建觸發器,創建web後會自動創建很多觸發器
我們來保存測試一下
[root@localhost ~]# ab -c 100 -n 100000 http://192.168.100.103/web.html
[root@localhost ~]#mail
U 19 [email protected] Thu Jun 12 03:33 25/1131 "PROBLEM: web response time to long"
U 20 [email protected] Thu Jun 12 03:33 24/1117 "OK: web response time to long"
U 21 [email protected] Thu Jun 12 03:33 24/1134 "PROBLEM: Processor load is too high on 192.168.100.103"
U 22 [email protected] Thu Jun 12 03:33 24/1117 "OK: web response time to long"
>N 23 [email protected] Thu Jun 12 03:34 23/1124 "PROBLEM: Processor load is too high on 192.168.100.103"
N 24 [email protected] Thu Jun 12 03:35 23/1124 "PROBLEM: Processor load is too high on 192.168.100.103"
N 25 [email protected] Thu Jun 12 03:36 23/1111 "OK: Processor load is too high on 192.168.100.103"
N 26 [email protected] Thu Jun 12 03:39 23/1075 "PROBLEM: Disk I/O is overloaded on node102.xy.com"
N 27 [email protected] Thu Jun 12 03:40 23/1075 "PROBLEM: Disk I/O is overloaded on node102.xy.com"
N 28 [email protected] Thu Jun 12 03:40 23/1062 "OK: Disk I/O is overloaded on node102.xy.com"
因爲用的虛擬機,所以全都報警了
監控登錄
1,在瀏覽器輸入登錄url,填好用戶名,密碼,按F12. 點擊登錄
記下 Request URL 還有email 和密碼
然後再建一個測試,登陸後的,查找關鍵字和http狀態碼
上面的URL一定要和上面F12看到的一樣後面的變量也要的
web監控觸發器
方案失敗的步驟表示,在那一步失敗就返回那一步的數值,全部成功返回0,所以觸發器可以
用最後返回非0就報警。
輕量級日誌監控
在agent配置文件
ServerActive=172.24.138.181
主機名要與server端一樣
Hostname=172.24.138.105
在添加項目時類型選擇 Zabbix代理(主動式)
數據類型選擇 日誌
key log[/data/logs/tomcat/api.log]
觸發器要做item上點擊創建,更方便
(({172.24.137.218:log[/data/logs/timer_log/dfsConvertToUpload/Bisiness.log].count(600,轉換失敗,"like")})>10)
表示10分鐘內在日誌裏出現了大於10次的轉換失敗就報警
zabbix jmx監控
server端
1,修改/etc/hosts
2,安裝jdk
3,編譯安裝zabbix
./configure --enable-java --enable-server --prefix=安裝路徑
4,修改settings.sh
[root@node5 zabbix_java]# ls
bin lib settings.sh shutdown.sh startup.sh
[root@zhu1 zabbix_java]# vim settings.sh
LISTEN_IP="0.0.0.0" #可以不配置,採用默認值即可
LISTEN_PORT=10052 #可以不配置,採用默認值即可
PID_FILE="/tmp/zabbix_java.pid" #該項必須配置,保存pid文件的位置
START_POLLERS=5 #必須配置,啓動的進出數
5,修改zabbix_server配置文件
JavaGateway=127.0.0.1 #指定Java gateway的ip地址或主機名,由於Java gateway是搭建在zabbix server所在的主機上所以可用127.0.0.1;
JavaGatewayPort=10052 #Java gateway監聽的端口號
StartJavaPollers=5 #設定連接java gateway 的進程數,當設置爲0時表示不具有抓取java信息的能力
6,啓動Javagateway
[root@zhu1 zabbix_java]# ./startup.sh
[root@zhu1 zabbix_java]# netstat -lntp | grep 10052
tcp 0 0 :::10052 :::* LISTEN 10179/java
7,監控tomcat
安裝好tomcat
[root@zhu1 ~]# wget wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.42/bin/extras/catalina-jmx-remote.jar
[root@zhu1 ~]# mv catalina-jmx-remote.jar /usr/local/tomcat/lib/
[root@zhu1 ~]# cp catalina-jmx-remote.jar /opt/zabbix_java_gatway/sbin/zabbix_java/lib/ #把catalina-jmx-remote.jar也放到zabbix_java/lib/下面,這是爲了防止出現類沒有發現的異常,有的文檔上並沒有這步操作
修改tomcat啓動腳本 /etc/hosts要修改不然啓動不了tomcat
vim catalina.sh
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
8,測試
[root@zhu1 ~]# wget http://repo.typesafe.com/typesafe/repo/cmdline-jmxclient/cmdline-jmxclient/0.10.3/cmdline-jmxclient-0.10.3.jar
[root@zhu1 ~]# java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.70.133:12345 java.lang:type=Memory NonHeapMemoryUsage
09/21/2013 05:51:05 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 15335424
init: 12746752
max: 100663296
9,從起zabbix_agent和tomcat
10,在配置界面創建主機上添加jmx接口
JAVA_OPTS="-Dcom.sun.management.jmxremote $JAVA_OPTS"JAVA_OPTS="-Dcom.sun.management.jmxremote.port=12345 $JAVA_OPTS"JAVA_OPTS="-Dcom.sun.management.jmxremote.authenticate=false $JAVA_OPTS"JAVA_OPTS="-Dcom.sun.management.jmxremote.ssl=false $JAVA_OPTS"