1.分布式監(jiān)控
配置分布式監(jiān)控步驟:
1.配源,安裝proxy 數據庫
2.配置zabbix-proxy
3.啟動proxy
4.配置zabbix-agent
5.登錄zabbix-web
注意: zabbix-server 與 zabbix-proxy 需要版本一致
1.配源,安裝proxy 數據庫
[root@zabbix_proxy ~]# rpm -Uvh https://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
[root@zabbix_proxy ~]# yum install zabbix-proxy-mysql mariadb-server -y
[root@zabbix_proxy ~]# systemctl start mariadb
MariaDB [(none)]> create database zabbix_proxy character set utf8 collate utf8_bin;
MariaDB [(none)]> grant all privileges on zabbix_proxy.* to zabbix_proxy@localhost identified by 'zabbix_proxy';
[root@zabbix_proxy ~]# zcat /usr/share/doc/zabbix-proxy-mysql-4.0.14/schema.sql.gz | mysql -uzabbix_proxy -pzabbix_proxy zabbix_proxy
2.配置zabbix-proxy
[root@zabbix_proxy ~]# grep "^[a-Z]" /etc/zabbix/zabbix_proxy.conf
....
Server=10.0.0.71
Hostname=sh_proxy
DBHost=localhost
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
....
3.啟動proxy
[root@zabbix_proxy ~]# systemctl enable zabbix-proxy.service
[root@zabbix_proxy ~]# systemctl start zabbix-proxy
4.配置zabbix-agent 不通區(qū)域的agent指向不同的proxy
10.0.0.71 <--- 10.0.0.7 <---172.16.1.51
10.0.0.71 <--- 10.0.0.8 <---172.16.1.41
5.登錄zabbix-web
1.管理-->agent代理程序
2.zabbix監(jiān)控jvm? tomcat
配置JMX監(jiān)控的步驟:
1.安裝Zabbix-Java-Gateway。
2.配置zabbix_java_gateway.conf參數。
3.配置zabbix-server.conf參數。-->連接java-gateway
4.Tomcat應用開啟JMX協議。
5.ZabbixWeb配置JMX監(jiān)控的Java應用。
1.安裝Zabbix-Java-Gateway
[root@web01 ~]# yum install zabbix-java-gateway -y
[root@web01 ~]# systemctl restart zabbix-java-gateway
[root@web01 ~]# systemctl enable zabbix-java-gateway.service
2.配置zabbix_java_gateway.conf參數
[root@web1 ~]# grep "^[a-Z]" /etc/zabbix/zabbix_java_gateway.conf
LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
START_POLLERS=5
3.配置zabbix-server指向zabbix-java-gateway
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
JavaGateway=172.16.1.7
JavaGatewayPort=10052
StartJavaPollers=5 ##與zabbix_java_gateway.conf一致
[root@zabbix-server ~]# systemctl restart zabbix-server
4.啟動tomcat程序,開啟jmx協議
[root@web02 soft]# vim /soft/tomcat/bin/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
-Djava.rmi.server.hostname=172.16.1.8"
5.登錄zabbix-web添加一臺jmx的主機
---------------------------------------zabbix監(jiān)控tomcat總結--------------------------------------
zabbix ---> jmx ---> java(zabbix-agent)
1.Zabbix-Server找Zabbix-Java-Gateway獲取Java數據
2.Zabbix-Java-Gateway找Java程序獲取數據
3.Java程序返回數據給Zabbix-Java-Gateway
4.Zabbix-Java-Gateway返回數據給Zabbix-Server
5.Zabbix-Server進行數據展示
zabbix優(yōu)化
- Zabbix屬于寫多讀少的業(yè)務, 所以需要針對zabbix的MySQL進行拆分.
1.LAMP -->拆分成LAP + MySQL
2.MySQL盡量使用SSD固態(tài)盤 - 將Zabbix-Agent被動監(jiān)控模式, 調整為主動監(jiān)控模式.
- 使用zabbix-proxy分布式監(jiān)控, 在大規(guī)模監(jiān)控時用于緩解Zabbix-Server壓力
- 去掉無用監(jiān)控項, 增加監(jiān)控項的取值間隔, 減少歷史數據保存周期(由housekeeper進程定時清理)
5)針對于Zabbix-server進程調優(yōu), 誰忙就加大誰的進程數量, 具體取決實際情況, 不是越大越好
6)針對于Zabbix-server緩存調優(yōu), 誰使用的緩存多,就加大它的緩存值(zabbix cache usage圖表) - 關注管理->隊列, 是否有被延遲執(zhí)行的監(jiān)控項